Merge from Builder-Branch: Assets (cont...), current Session,

proposed interface to backend for querying channel infos

Merge branch 'builder'
This commit is contained in:
Fischlurch 2007-09-28 14:06:07 +02:00
commit 0ad1a295b5
154 changed files with 5235 additions and 507 deletions

View file

@ -4,21 +4,22 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Session</title>
<title>Class SessionImpl</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class Session</div>
<div class = "title">Class SessionImpl</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass128005"></a>
<p>Declaration :</p><ul><li>C++ : class Session </li></ul><p>Artifact : <a href="index.html#refartifact128517"><b>session</b></a>, Component(s) : <a href="index.html#refcomponent128133"><b>Session</b></a></p><div class="sub">
<p>Declaration :</p><ul><li>C++ : class SessionImpl : public <a href="class139653.html#refclass139653"><b>Session</b></a> </li></ul><p>Implementation class for the Session interface<br /></p><p>Artifact : <a href="index.html#refartifact128517"><b>sessionimpl</b></a>, Component(s) : <a href="index.html#refcomponent128133"><b>Session</b></a></p><div class="sub">
<a name="refrelation128005"></a>
<table><tr><td><div class="element">Relation <b>edls (&lt;directional aggregation&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # edls : <a href="class128133.html#refclass128133"><b>EDL</b></a>, multiplicity : 1..*</li><li>C++ : protected: <a href="class128133.html#refclass128133"><b>EDL</b></a> * edls</li></ul><a name="refrelation128261"></a>
<table><tr><td><div class="element">Relation <b>edls (&lt;directional aggregation by value&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # edls : <a href="class128133.html#refclass128133"><b>EDL</b></a>, multiplicity : 1..*</li><li>C++ : protected: &lt;<a href="class128133.html#refclass128133"><b>EDL</b></a>&gt; edls</li></ul><a name="refrelation128261"></a>
<table><tr><td><div class="element">Relation <b>fixture (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # fixture : <a href="class128261.html#refclass128261"><b>Fixture</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class128261.html#refclass128261"><b>Fixture</b></a> * fixture</li></ul></div>
<p>All public operations : <a href="class139653.html#refoperation133509"><b>currEDL</b></a> , <a href="class139653.html#refoperation133637"><b>getFixture</b></a> </p>
</body>
</html>

View file

@ -16,7 +16,7 @@
<!-- ============================================================= -->
<a name="refclass128645"></a>
<p>Declaration :</p><ul><li>C++ : class Placement </li><li>Java : public interface Placement </li></ul><p>Directly inherited by : <a href="class129541.html#refclass129541"><b>Allocation</b></a> <a href="class129285.html#refclass129285"><b>DirectPlacement</b></a> <a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> <a href="class129413.html#refclass129413"><b>RelativePlacement</b></a> </p>
<p>Declaration :</p><ul><li>C++ : class Placement </li><li>Java : public interface Placement </li></ul><p>Directly inherited by : <a href="class129541.html#refclass129541"><b>Allocation</b></a> <a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> <a href="class129285.html#refclass129285"><b>FixedPlacement</b></a> <a href="class129413.html#refclass129413"><b>RelativePlacement</b></a> </p>
<p>Artifact : <a href="index.html#refartifact129029"><b>placement</b></a></p><div class="sub">
<a name="refrelation129157"></a>
<table><tr><td><div class="element">Relation <b>subject (&lt;association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # subject : <a href="class128517.html#refclass128517"><b>MObject</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class128517.html#refclass128517"><b>MObject</b></a>* subject</li></ul><a name="refoperation128005"></a>

View file

@ -16,11 +16,12 @@
<!-- ============================================================= -->
<a name="refclass128901"></a>
<p>Declaration :</p><ul><li>C++ : class Clip : public <a href="class128773.html#refclass128773"><b>AbstractMO</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129413"><b>clip</b></a></p><div class="sub">
<p>Declaration :</p><ul><li>C++ : class Clip : public <a href="class128773.html#refclass128773"><b>AbstractMO</b></a> </li></ul><p>Directly inherited by : <a href="class138629.html#refclass138629"><b>CompoundClip</b></a> <a href="class138885.html#refclass138885"><b>SimpleClip</b></a> </p>
<p>Artifact : <a href="index.html#refartifact129413"><b>clip</b></a></p><div class="sub">
<a name="refattribute128645"></a>
<table><tr><td><div class="element">Attribut <b>start</b></div></td></tr></table>
<p>Declaration :</p><ul><li>Uml : # start : <a href="class134917.html#refclass134917"><b>Time</b></a></li><li>C++ : protected: <a href="class134917.html#refclass134917"><b>Time</b></a> start</li></ul><p>startpos in source<br /></p><a name="refrelation141829"></a>
<table><tr><td><div class="element">Relation <b>source (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # source : <a href="class137349.html#refclass137349"><b>Clip</b></a>, multiplicity : 1</li><li>C++ : protected: const <a href="class137349.html#refclass137349"><b>Clip</b></a>* source</li></ul><p>the media source this clip referes to<br /></p></div>
<p>Declaration :</p><ul><li>Uml : # start : <a href="class134917.html#refclass134917"><b>Time</b></a></li><li>C++ : protected: <a href="class134917.html#refclass134917"><b>Time</b></a> start</li></ul><p>startpos in source<br /></p><a name="refrelation142469"></a>
<table><tr><td><div class="element">Relation <b>source (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # source : <a href="class136709.html#refclass136709"><b>Media</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class136709.html#refclass136709"><b>Media</b></a>* source</li></ul><p>the media source this clip referes to<br /></p></div>
<p>All public operations : <a href="class134021.html#refoperation129669"><b>apply</b></a> </p>
</body>
</html>

View file

@ -4,19 +4,19 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class DirectPlacement</title>
<title>Class FixedPlacement</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class DirectPlacement</div>
<div class = "title">Class FixedPlacement</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass129285"></a>
<p>Declaration :</p><ul><li>C++ : class DirectPlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a>, public <a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129797"><b>fixedplacement</b></a></p><div class="sub">
<p>Declaration :</p><ul><li>C++ : class FixedPlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a>, public <a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129797"><b>fixedplacement</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
</body>

View file

@ -16,7 +16,7 @@
<!-- ============================================================= -->
<a name="refclass129797"></a>
<p>Declaration :</p><ul><li>C++ : class ExplicitPlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a> </li><li>Java : public interface ExplicitPlacement </li></ul><p>Directly inherited by : <a href="class129285.html#refclass129285"><b>DirectPlacement</b></a> </p>
<p>Declaration :</p><ul><li>C++ : class ExplicitPlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a> </li><li>Java : public interface ExplicitPlacement </li></ul><p>Directly inherited by : <a href="class129285.html#refclass129285"><b>FixedPlacement</b></a> </p>
<p>Artifact : <a href="index.html#refartifact129157"><b>explicitplacement</b></a></p><div class="sub">
<a name="refattribute128261"></a>
<table><tr><td><div class="element">Attribut <b>time</b></div></td></tr></table>

View file

@ -17,7 +17,7 @@
<a name="refclass135557"></a>
<p>Declaration :</p><ul><li>C++ : class Error : public <a href="class136325.html#refclass136325"><b>std::exception</b></a> </li></ul><p>Directly inherited by : <a href="class135813.html#refclass135813"><b>Config</b></a> <a href="class136197.html#refclass136197"><b>External</b></a> <a href="class136069.html#refclass136069"><b>Invalid</b></a> <a href="class135685.html#refclass135685"><b>Logic</b></a> <a href="class135941.html#refclass135941"><b>State</b></a> </p>
<p>Artifact : <a href="index.html#refartifact135813"><b>error</b></a></p><div class="sub">
<p>Artifact : <a href="index.html#refartifact135813"><b>error</b></a>, Component(s) : <a href="index.html#refcomponent129925"><b>CommonLib</b></a></p><div class="sub">
<a name="refoperation131845"></a>
<table><tr><td><div class="element">Operation <b>what</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + what() : const char*</li><li>C++ : public: virtual const char* what () const </li></ul><a name="refoperation131973"></a>
<table><tr><td><div class="element">Operation <b>rootCause</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + rootCause() : std::exception</li><li>C++ : public: std::exception rootCause () </li></ul><p>If this exception was caused by a chain of further exceptions,<br />return the first one registered in this throw sequence.<br />This works only, if every exceptions thrown as a consequence<br />of another exception is propperly constructed by passing<br />the original exception to the constructor<br /></p><a name="refattribute130309"></a>

View file

@ -17,11 +17,13 @@
<a name="refclass136581"></a>
<p>Declaration :</p><ul><li>C++ : class AssetManager </li></ul><p>Facade for the Asset subsystem<br /></p><p>Artifact : <a href="index.html#refartifact136197"><b>assetmanager</b></a></p><div class="sub">
<a name="refoperation132357"></a>
<table><tr><td><div class="element">Operation <b>register</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : static, + register(inout name : string, inout category : string, inout org : string, inout uint : version) : long, exceptions : Invalid</li><li>C++ : public: static long register (string &amp; name, string &amp; category, string &amp; org, version&amp; uint) throw (Invalid)</li></ul><p>registers an asset object in the internal DB, providing its unique key<br /></p><a name="refoperation132485"></a>
<a name="refoperation133125"></a>
<table><tr><td><div class="element">Operation <b>getID</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : static, + getID(in idi : <a href="class136453.html#refclass136453"><b>Asset</b></a>) : </li><li>C++ : public: static getID () </li></ul><a name="refoperation132485"></a>
<table><tr><td><div class="element">Operation <b>getAsset</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + getAsset(in id : long) : KIND, exceptions : <a href="class136069.html#refclass136069"><b>Invalid</b></a></li><li>C++ : public: template&lt;class KIND&gt; KIND getAsset (long &amp; id) throw (<a href="class136069.html#refclass136069"><b>Invalid</b></a>)</li></ul><p>find and return corresponging object<br /></p><a name="refoperation132613"></a>
<table><tr><td><div class="element">Operation <b>known</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + known(in id : long) : bool</li><li>C++ : public: bool known (long id) </li></ul><p>@return true if the given id is registered in the internal asset DB<br /></p><a name="refoperation132741"></a>
<table><tr><td><div class="element">Operation <b>remove</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + remove(in id : long) : void, exceptions : <a href="class136069.html#refclass136069"><b>Invalid</b></a>, <a href="class135941.html#refclass135941"><b>State</b></a></li><li>C++ : public: void remove (long id) throw (<a href="class136069.html#refclass136069"><b>Invalid</b></a>, <a href="class135941.html#refclass135941"><b>State</b></a>)</li></ul><p>remove the given asset &lt;i&gt;together with all its dependants&lt;/i&gt; from the internal DB<br /></p></div>
<p>All public operations : <a href="class136581.html#refoperation132485"><b>getAsset</b></a> , <a href="class136581.html#refoperation132613"><b>known</b></a> , <a href="class136581.html#refoperation132357"><b>register</b></a> , <a href="class136581.html#refoperation132741"><b>remove</b></a> </p>
<table><tr><td><div class="element">Operation <b>remove</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + remove(in id : long) : void, exceptions : <a href="class136069.html#refclass136069"><b>Invalid</b></a>, <a href="class135941.html#refclass135941"><b>State</b></a></li><li>C++ : public: void remove (long id) throw (<a href="class136069.html#refclass136069"><b>Invalid</b></a>, <a href="class135941.html#refclass135941"><b>State</b></a>)</li></ul><p>remove the given asset &lt;i&gt;together with all its dependants&lt;/i&gt; from the internal DB<br /></p><a name="refoperation132357"></a>
<table><tr><td><div class="element">Operation <b>reg</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : static, # reg(inout name : string, inout category : string, inout org : string, inout uint : version) : long, exceptions : Invalid</li><li>C++ : protected: static long reg (string &amp; name, string &amp; category, string &amp; org, version&amp; uint) throw (Invalid)</li></ul><p>registers an asset object in the internal DB, providing its unique key<br /></p><a name="refrelation142085"></a>
<table><tr><td><div class="element">Relation <b>registry (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # registry : <a href="class138373.html#refclass138373"><b>DB</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class138373.html#refclass138373"><b>DB</b></a>* registry</li></ul><p>@internal Table or DB holding all registered asset instances.<br /></p></div>
<p>All public operations : <a href="class136581.html#refoperation132485"><b>getAsset</b></a> , <a href="class136581.html#refoperation133125"><b>getID</b></a> , <a href="class136581.html#refoperation132613"><b>known</b></a> , <a href="class136581.html#refoperation132741"><b>remove</b></a> </p>
</body>
</html>

View file

@ -16,9 +16,11 @@
<!-- ============================================================= -->
<a name="refclass136709"></a>
<p>Declaration :</p><ul><li>C++ : class Media : public <a href="class136453.html#refclass136453"><b>Asset</b></a> </li></ul><p>Directly inherited by : <a href="class137349.html#refclass137349"><b>Clip</b></a> <a href="class137605.html#refclass137605"><b>Preview</b></a> </p>
<p>Declaration :</p><ul><li>C++ : class Media : public <a href="class136453.html#refclass136453"><b>Asset</b></a> </li></ul><p>Directly inherited by : <a href="class137349.html#refclass137349"><b>Clip</b></a> <a href="class138501.html#refclass138501"><b>CompoundMedia</b></a> <a href="class137605.html#refclass137605"><b>Preview</b></a> </p>
<p>key abstraction: media-like assets<br /></p><p>Artifact : <a href="index.html#refartifact136453"><b>media</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
<a name="refoperation133253"></a>
<table><tr><td><div class="element">Operation <b>createClip</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + createClip() : <a href="class128901.html#refclass128901"><b>Clip</b></a></li><li>C++ : public: <a href="class128901.html#refclass128901"><b>Clip</b></a> createClip () </li></ul><p>create a (possibly compound) Clip refering to this media, ready to be added to the EDL.<br /></p><a name="refoperation133381"></a>
<table><tr><td><div class="element">Operation <b>howtoProc</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + howtoProc() : <a href="class138757.html#refclass138757"><b>ProcPatt</b></a></li><li>C++ : public: <a href="class138757.html#refclass138757"><b>ProcPatt</b></a> howtoProc () </li></ul><p>@return descriptor how to build a render pipeline corresponding to this media<br /></p></div>
<p>All public operations : <a href="class136709.html#refoperation133253"><b>createClip</b></a> , <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136709.html#refoperation133381"><b>howtoProc</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -16,7 +16,7 @@
<!-- ============================================================= -->
<a name="refclass136965"></a>
<p>Declaration :</p><ul><li>C++ : class Struct : public <a href="class136453.html#refclass136453"><b>Asset</b></a> </li></ul><p>Directly inherited by : <a href="class138117.html#refclass138117"><b>OutPort</b></a> <a href="class137989.html#refclass137989"><b>Track</b></a> </p>
<p>Declaration :</p><ul><li>C++ : class Struct : public <a href="class136453.html#refclass136453"><b>Asset</b></a> </li></ul><p>Directly inherited by : <a href="class138117.html#refclass138117"><b>OutPort</b></a> <a href="class138757.html#refclass138757"><b>ProcPatt</b></a> <a href="class137989.html#refclass137989"><b>Track</b></a> </p>
<p>key abstraction: structural asset<br /></p><p>Artifact : <a href="index.html#refartifact136709"><b>struct</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>

View file

@ -19,6 +19,6 @@
<p>Declaration :</p><ul><li>C++ : class Clip : public <a href="class136709.html#refclass136709"><b>Media</b></a> </li></ul><p>bookkeeping (asset) view of a media clip.<br /></p><p>Artifact : <a href="index.html#refartifact136325"><b>clip</b></a></p><div class="sub">
<a name="refrelation141957"></a>
<table><tr><td><div class="element">Relation <b>source (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # source : <a href="class136709.html#refclass136709"><b>Media</b></a>, multiplicity : 1</li><li>C++ : protected: const <a href="class136709.html#refclass136709"><b>Media</b></a>* source</li></ul><p>media source of this clip<br /></p></div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
<p>All public operations : <a href="class136709.html#refoperation133253"><b>createClip</b></a> , <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136709.html#refoperation133381"><b>howtoProc</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -18,6 +18,6 @@
<a name="refclass137477"></a>
<p>Declaration :</p><ul><li>C++ : class Unknown : public <a href="class137605.html#refclass137605"><b>Preview</b></a> </li></ul><p>placeholder for unknown or unavailable media source<br /></p><p>Artifact : <a href="index.html#refartifact137093"><b>unknown</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
<p>All public operations : <a href="class136709.html#refoperation133253"><b>createClip</b></a> , <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136709.html#refoperation133381"><b>howtoProc</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -19,6 +19,6 @@
<p>Declaration :</p><ul><li>C++ : class Preview : public <a href="class136709.html#refclass136709"><b>Media</b></a> </li></ul><p>Directly inherited by : <a href="class137477.html#refclass137477"><b>Unknown</b></a> </p>
<p>alternative version of the media data, probably with lower resolution<br /></p><p>Artifact : <a href="index.html#refartifact136965"><b>preview</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
<p>All public operations : <a href="class136709.html#refoperation133253"><b>createClip</b></a> , <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136709.html#refoperation133381"><b>howtoProc</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -17,7 +17,8 @@
<a name="refclass137989"></a>
<p>Declaration :</p><ul><li>C++ : class Track : public <a href="class136965.html#refclass136965"><b>Struct</b></a> </li></ul><p>structural asset holding the configuration of a track in the EDL<br /></p><p>Artifact : <a href="index.html#refartifact137477"><b>track</b></a></p><div class="sub">
</div>
<a name="refrelation144389"></a>
<table><tr><td><div class="element">Relation <b>wiringTemplate (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # wiringTemplate : <a href="class138757.html#refclass138757"><b>ProcPatt</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class138757.html#refclass138757"><b>ProcPatt</b></a>* wiringTemplate</li></ul></div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class DB</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class DB</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass138373"></a>
<p>Declaration :</p><ul><li>C++ : class DB </li></ul><p>Implementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable.<br /></p><p>Artifact : <a href="index.html#refartifact137861"><b>db</b></a></p></body>
</html>

View file

@ -0,0 +1,24 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class CompoundMedia</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class CompoundMedia</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass138501"></a>
<p>Declaration :</p><ul><li>C++ : class CompoundMedia : public <a href="class136709.html#refclass136709"><b>Media</b></a> </li></ul><p>compound of several elementary media tracks,<br />e.g. the individual media streams found in one media file<br /></p><p>Artifact : <a href="index.html#refartifact138245"><b>compoundmedia</b></a></p><div class="sub">
<a name="refrelation142341"></a>
<table><tr><td><div class="element">Relation <b>tracks (&lt;directional aggregation&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # tracks : <a href="class136709.html#refclass136709"><b>Media</b></a>, multiplicity : 1..*</li><li>C++ : protected: vector&lt;<a href="class136709.html#refclass136709"><b>Media</b></a> *&gt; tracks</li></ul><p>elementary media assets comprising this compound<br /></p></div>
<p>All public operations : <a href="class136709.html#refoperation133253"><b>createClip</b></a> , <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136709.html#refoperation133381"><b>howtoProc</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class CompoundClip</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class CompoundClip</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass138629"></a>
<p>Declaration :</p><ul><li>C++ : class CompoundClip : public <a href="class128901.html#refclass128901"><b>Clip</b></a> </li></ul><p>Clip MObject which is actually a compound of several elementary clips,<br />e.g. the several streams found within multichannels media.<br /></p><p>Artifact : <a href="index.html#refartifact138501"><b>compoundclip</b></a>, Diagram : <a href="index.html#refclass diagram128133"><b>Session structure</b></a></p><div class="sub">
<a name="refrelation143493"></a>
<table><tr><td><div class="element">Relation <b>components (&lt;directional aggregation&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # components : <a href="class128901.html#refclass128901"><b>Clip</b></a>, multiplicity : 1..*</li><li>C++ : protected: <a href="class128901.html#refclass128901"><b>Clip</b></a>* components</li></ul></div>
<p>All public operations : <a href="class134021.html#refoperation129669"><b>apply</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class ProcPatt</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class ProcPatt</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass138757"></a>
<p>Declaration :</p><ul><li>C++ : class ProcPatt : public <a href="class136965.html#refclass136965"><b>Struct</b></a> </li></ul><p>special type of structural Asset representing information how to build some part of the render engine's processing nodes network.<br /></p><p>Artifact : <a href="index.html#refartifact137989"><b>procpatt</b></a></p><div class="sub">
<a name="refrelation143621"></a>
<table><tr><td><div class="element">Relation <b>instructions (&lt;directional aggregation by value&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # instructions : <a href="class139013.html#refclass139013"><b>BuildInstruct</b></a>, multiplicity : 1..*</li><li>C++ : protected: const vector&lt;<a href="class139013.html#refclass139013"><b>BuildInstruct</b></a>&gt; instructions</li></ul></div>
<p>All public operations : <a href="class136453.html#refoperation132997"><b>enable</b></a> , <a href="class136453.html#refoperation132229"><b>getDependant</b></a> , <a href="class136453.html#refoperation132101"><b>getParents</b></a> , <a href="class136453.html#refoperation132869"><b>isActive</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class SimpleClip</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class SimpleClip</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass138885"></a>
<p>Declaration :</p><ul><li>C++ : class SimpleClip : public <a href="class128901.html#refclass128901"><b>Clip</b></a> </li></ul><p>Elementary clip consisting of only one media stream<br /></p><p>Artifact : <a href="index.html#refartifact138373"><b>simpleclip</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class134021.html#refoperation129669"><b>apply</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class BuildInstruct</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class BuildInstruct</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139013"></a>
<p>Declaration :</p><ul><li>C++ : class BuildInstruct </li></ul><p>Directly inherited by : <a href="class139141.html#refclass139141"><b>DoAttach</b></a> <a href="class139269.html#refclass139269"><b>DoRecurse</b></a> </p>
<p>(Interface) building instructions to be executed by the Builder on the render node network under construction.<br /></p><p>Artifact : <a href="index.html#refartifact138117"><b>buildinstruct</b></a></p></body>
</html>

View file

@ -0,0 +1,25 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class DoAttach</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class DoAttach</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139141"></a>
<p>Declaration :</p><ul><li>C++ : class DoAttach : public <a href="class139013.html#refclass139013"><b>BuildInstruct</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact138117"><b>buildinstruct</b></a></p><div class="sub">
<a name="refrelation144133"></a>
<table><tr><td><div class="element">Relation <b>nodes (&lt;directional aggregation&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + nodes : <a href="class136837.html#refclass136837"><b>Proc</b></a>, multiplicity : 1..*</li><li>C++ : public: const <a href="class136837.html#refclass136837"><b>Proc</b></a>* nodes</li></ul><a name="refattribute131461"></a>
<table><tr><td><div class="element">Attribut <b>point</b></div></td></tr></table>
<p>Declaration :</p><ul><li>Uml : + point : string</li><li>C++ : public: const string point</li></ul><p>identifying the point where the nodes should be attached<br /></p></div>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class DoRecurse</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class DoRecurse</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139269"></a>
<p>Declaration :</p><ul><li>C++ : class DoRecurse : public <a href="class139013.html#refclass139013"><b>BuildInstruct</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact138117"><b>buildinstruct</b></a></p><div class="sub">
<a name="refrelation144005"></a>
<table><tr><td><div class="element">Relation <b>subPattern (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # subPattern : <a href="class138757.html#refclass138757"><b>ProcPatt</b></a>, multiplicity : 1</li><li>C++ : protected: const <a href="class138757.html#refclass138757"><b>ProcPatt</b></a>* subPattern</li></ul></div>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class MediaFactory</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class MediaFactory</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139397"></a>
<p>Declaration :</p><ul><li>C++ : class MediaFactory </li></ul><p>Depends on <a href="index.html#refpackage129157"><b>BackendLayer</b></a></p><p>Depends on <a href="index.html#refpackage129157"><b>BackendLayer</b></a></p><p>specialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well<br /></p><p>Artifact : <a href="index.html#refartifact136453"><b>media</b></a></p><div class="sub">
</div>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class MediaAccessFacade</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class MediaAccessFacade</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139525"></a>
<p>Declaration :</p><ul><li>C++ : class MediaAccessFacade </li></ul><p>provides functions for querying (opening) a media file, detecting the channels or streams found within this file, etc. Delegating to the actual backend functions<br /></p><p>Artifact : <a href="index.html#refartifact138629"><b>mediaaccessfacade</b></a>, Component(s) : <a href="index.html#refcomponent130437"><b>Media Access</b></a></p></body>
</html>

View file

@ -0,0 +1,27 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Session</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class Session</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139653"></a>
<p>Declaration :</p><ul><li>C++ : class Session </li></ul><p>Directly inherited by : <a href="class128005.html#refclass128005"><b>SessionImpl</b></a> </p>
<p>Primary Interface for all editing tasks.<br />The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered.<br /></p><p>Artifact : <a href="index.html#refartifact138757"><b>session</b></a></p><div class="sub">
<a name="refoperation133509"></a>
<table><tr><td><div class="element">Operation <b>currEDL</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + currEDL() : <a href="class128133.html#refclass128133"><b>EDL</b></a></li><li>C++ : public: <a href="class128133.html#refclass128133"><b>EDL</b></a> currEDL () </li></ul><p>The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.<br /></p><a name="refoperation133637"></a>
<table><tr><td><div class="element">Operation <b>getFixture</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + getFixture() : Fixture&amp;</li><li>C++ : public: Fixture&amp; getFixture () </li></ul><p>While the session can be comprised of several EDLs, <br />there is only one Fixture, which represents the actual<br />configuration of all Objects to be rendered<br /></p><a name="refrelation144773"></a>
<table><tr><td><div class="element">Relation <b>current (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : static, + current : <a href="class139781.html#refclass139781"><b>SessManager</b></a>, multiplicity : 1</li><li>C++ : public: static <a href="class139781.html#refclass139781"><b>SessManager</b></a>&amp; current</li></ul><p>Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer<br /></p></div>
<p>All public operations : <a href="class139653.html#refoperation133509"><b>currEDL</b></a> , <a href="class139653.html#refoperation133637"><b>getFixture</b></a> </p>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class SessManager</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class SessManager</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139781"></a>
<p>Declaration :</p><ul><li>C++ : class SessManager </li></ul><p>Artifact : <a href="index.html#refartifact138885"><b>sessmanager</b></a></p><div class="sub">
<a name="refoperation133765"></a>
<table><tr><td><div class="element">Operation <b>clear</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + clear() : void</li><li>C++ : public: void clear () </li></ul><p>clear current session contents <br />without resetting overall session config.<br />Afterwards, the session will contain only one <br />empty EDL, while all Assets are retained.<br /><br /></p><a name="refoperation133893"></a>
<table><tr><td><div class="element">Operation <b>reset</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + reset() : void</li><li>C++ : public: void reset () </li></ul><p>reset all session config and <br />start with a pristine default session.<br /></p><a name="refoperation134021"></a>
<table><tr><td><div class="element">Operation <b>load</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + load() : void</li><li>C++ : public: void load () </li></ul><p>replace the current session by a new<br />session loaded from serialized state.<br /></p><a name="refoperation134149"></a>
<table><tr><td><div class="element">Operation <b>save</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + save() : void</li><li>C++ : public: void save () </li></ul><p>create a complete, serialized representation<br />of the current session config and contents.<br />@todo how to serialize, prameters, return value?<br /></p></div>
<p>All public operations : <a href="class139781.html#refoperation133765"><b>clear</b></a> , <a href="class139781.html#refoperation134021"><b>load</b></a> , <a href="class139781.html#refoperation133893"><b>reset</b></a> , <a href="class139781.html#refoperation134149"><b>save</b></a> </p>
</body>
</html>

View file

@ -23,9 +23,12 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128181" target = "projectFrame"><b>File Mapping</b></a></td><td></td><td>Shows whats used to access Frames</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130181" target = "projectFrame"><b>Hierarchy</b></a></td><td></td><td>Cinelerra Exception hierarchy</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128309" target = "projectFrame"><b>In Memory Database</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130949" target = "projectFrame"><b>interface components</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130437" target = "projectFrame"><b>Media-Asset Relations</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131077" target = "projectFrame"><b>Proc-Asset Relations</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128389" target = "projectFrame"><b>Render Entities</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128133" target = "projectFrame"><b>Session structure</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131205" target = "projectFrame"><b>Struct-Asset Relations</b></a></td><td></td><td></td></tr>
</table>
</body>
</html>

View file

@ -27,18 +27,23 @@
<tr bgcolor=#f0f0f0><td><a href="class129925.html#refclass129925" target = "projectFrame"><b>Auto</b></a></td><td></td><td>Automation data for some parameter (i.e. a time varying function)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134021.html#refclass134021" target = "projectFrame"><b>Buildable</b></a></td><td>interface</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130565.html#refclass130565" target = "projectFrame"><b>BuilderFacade</b></a></td><td>boundary</td><td>Provides unified access to the builder functionality. While individual components of the builder subsystem may be called if necessary or suitable, it is usually better to do all extern invocations via the high level methods of this Facade</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139013.html#refclass139013" target = "projectFrame"><b>BuildInstruct</b></a></td><td></td><td>(Interface) building instructions to be executed by the Builder on the render node network under construction.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137221.html#refclass137221" target = "projectFrame"><b>Category</b></a></td><td></td><td>tree like classification of Assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a></td><td></td><td>bookkeeping (asset) view of a media clip.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128901.html#refclass128901" target = "projectFrame"><b>Clip</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137861.html#refclass137861" target = "projectFrame"><b>Codec</b></a></td><td></td><td>description of some media data decoder or encoder facility</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135045.html#refclass135045" target = "projectFrame"><b>CodecAdapter</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138629.html#refclass138629" target = "projectFrame"><b>CompoundClip</b></a></td><td></td><td>Clip MObject which is actually a compound of several elementary clips,<br />e.g. the several streams found within multichannels media.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138501.html#refclass138501" target = "projectFrame"><b>CompoundMedia</b></a></td><td></td><td>compound of several elementary media tracks,<br />e.g. the individual media streams found in one media file</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128266.html#refclass128266" target = "projectFrame"><b>Condition</b></a></td><td></td><td>I provided a reworked Condition class in my cinelerra2 repository</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135813.html#refclass135813" target = "projectFrame"><b>Config</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130821.html#refclass130821" target = "projectFrame"><b>ConManager</b></a></td><td></td><td>Connection Manager, used to build the connections between render engine nodes, if these nodes need to cooperate besides the normal "data pull" operation. Esp., the Connection Manager knows how to wire up the effect's parameters with the corresponding ParamProviders (autmation) in the Session</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130181.html#refclass130181" target = "projectFrame"><b>Constraint</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130309.html#refclass130309" target = "projectFrame"><b>ControllerFacade</b></a></td><td>boundary</td><td>Provides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138245.html#refclass138245" target = "projectFrame"><b>Dataset</b></a></td><td></td><td>meta asset describing a collection of control data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129285.html#refclass129285" target = "projectFrame"><b>DirectPlacement</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138373.html#refclass138373" target = "projectFrame"><b>DB</b></a></td><td></td><td>Implementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139141.html#refclass139141" target = "projectFrame"><b>DoAttach</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139269.html#refclass139269" target = "projectFrame"><b>DoRecurse</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128133.html#refclass128133" target = "projectFrame"><b>EDL</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137733.html#refclass137733" target = "projectFrame"><b>Effect</b></a></td><td></td><td>Effect or media processing component</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129029.html#refclass129029" target = "projectFrame"><b>Effect</b></a></td><td></td><td></td></tr>
@ -54,6 +59,7 @@
<tr bgcolor=#f0f0f0><td><a href="class128437.html#refclass128437" target = "projectFrame"><b>FileMapCache</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refclass129333" target = "projectFrame"><b>FileProvider</b></a></td><td></td><td>This is the Factory for Files, whenever something wants to use some file (or temporary storage), This Factory will hand out some smart/shared pointer to a File object which will be used to retrieve Frames.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128778.html#refclass128778" target = "projectFrame"><b>FileReference</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129285.html#refclass129285" target = "projectFrame"><b>FixedPlacement</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128261.html#refclass128261" target = "projectFrame"><b>Fixture</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128821.html#refclass128821" target = "projectFrame"><b>Frame</b></a></td><td></td><td>Frames are just a low level lump of continous memory, most parts are opaque. Frames are memory sensitive, they will be small constant sized structures which can be efficently managed in a pool.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133253.html#refclass133253" target = "projectFrame"><b>Frame</b></a></td><td>interface</td><td>TODO: how to relate to Cehteh's Frame entity in the Backend?<br />The latter is the fundamental Frame entity, wheras this Object rather represents a buffer set containing frame date</td></tr>
@ -72,6 +78,8 @@
<tr bgcolor=#f0f0f0><td><a href="class135685.html#refclass135685" target = "projectFrame"><b>Logic</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class132357.html#refclass132357" target = "projectFrame"><b>Mask</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refclass136709" target = "projectFrame"><b>Media</b></a></td><td></td><td>key abstraction: media-like assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139525.html#refclass139525" target = "projectFrame"><b>MediaAccessFacade</b></a></td><td>boundary</td><td>provides functions for querying (opening) a media file, detecting the channels or streams found within this file, etc. Delegating to the actual backend functions</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139397.html#refclass139397" target = "projectFrame"><b>MediaFactory</b></a></td><td></td><td>specialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137093.html#refclass137093" target = "projectFrame"><b>Meta</b></a></td><td></td><td>key abstraction: metadata and organisational asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129157.html#refclass129157" target = "projectFrame"><b>Meta</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128517.html#refclass128517" target = "projectFrame"><b>MObject</b></a></td><td>interface</td><td></td></tr>
@ -88,6 +96,7 @@
<tr bgcolor=#f0f0f0><td><a href="class136837.html#refclass136837" target = "projectFrame"><b>Proc</b></a></td><td></td><td>key abstraction: data processing asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131717.html#refclass131717" target = "projectFrame"><b>ProcNode</b></a></td><td>interface</td><td>Key abstraction of the Render Engine: A Data processing Node</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138757.html#refclass138757" target = "projectFrame"><b>ProcPatt</b></a></td><td></td><td>special type of structural Asset representing information how to build some part of the render engine's processing nodes network.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class132229.html#refclass132229" target = "projectFrame"><b>Projector</b></a></td><td></td><td>Special video processing node used to scale and translate image data.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129413.html#refclass129413" target = "projectFrame"><b>RelativePlacement</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133893.html#refclass133893" target = "projectFrame"><b>RelType</b></a></td><td>enum</td><td>the possible kinds of RelativePlacements</td></tr>
@ -96,7 +105,10 @@
<tr bgcolor=#f0f0f0><td><a href="class129205.html#refclass129205" target = "projectFrame"><b>Scheduler</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135173.html#refclass135173" target = "projectFrame"><b>Segment</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refclass134277" target = "projectFrame"><b>SegmentationTool</b></a></td><td></td><td>Tool implementation for deriving a partitioning of the current timeline such, that each segement has a constant configuration. "Constant" means here, that any remaining changes over time can be represented by automation solely, without the need to change the node connections.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128005.html#refclass128005" target = "projectFrame"><b>Session</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refclass139653" target = "projectFrame"><b>Session</b></a></td><td></td><td>Primary Interface for all editing tasks.<br />The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128005.html#refclass128005" target = "projectFrame"><b>SessionImpl</b></a></td><td></td><td>Implementation class for the Session interface</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refclass139781" target = "projectFrame"><b>SessManager</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138885.html#refclass138885" target = "projectFrame"><b>SimpleClip</b></a></td><td></td><td>Elementary clip consisting of only one media stream</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128906.html#refclass128906" target = "projectFrame"><b>SmartPointer</b></a></td><td>auxiliary</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133765.html#refclass133765" target = "projectFrame"><b>Source</b></a></td><td></td><td>Source Node: represents a media source to pull data from.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135941.html#refclass135941" target = "projectFrame"><b>State</b></a></td><td></td><td></td></tr>

View file

@ -28,18 +28,23 @@
<a href="class129925.html#refclass129925" target = "projectFrame"><b>Auto</b></a><br />
<a href="class134021.html#refclass134021" target = "projectFrame"><b>Buildable</b></a><br />
<a href="class130565.html#refclass130565" target = "projectFrame"><b>BuilderFacade</b></a><br />
<a href="class139013.html#refclass139013" target = "projectFrame"><b>BuildInstruct</b></a><br />
<a href="class137221.html#refclass137221" target = "projectFrame"><b>Category</b></a><br />
<a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a><br />
<a href="class128901.html#refclass128901" target = "projectFrame"><b>Clip</b></a><br />
<a href="class137861.html#refclass137861" target = "projectFrame"><b>Codec</b></a><br />
<a href="class135045.html#refclass135045" target = "projectFrame"><b>CodecAdapter</b></a><br />
<a href="class138629.html#refclass138629" target = "projectFrame"><b>CompoundClip</b></a><br />
<a href="class138501.html#refclass138501" target = "projectFrame"><b>CompoundMedia</b></a><br />
<a href="class128266.html#refclass128266" target = "projectFrame"><b>Condition</b></a><br />
<a href="class135813.html#refclass135813" target = "projectFrame"><b>Config</b></a><br />
<a href="class130821.html#refclass130821" target = "projectFrame"><b>ConManager</b></a><br />
<a href="class130181.html#refclass130181" target = "projectFrame"><b>Constraint</b></a><br />
<a href="class130309.html#refclass130309" target = "projectFrame"><b>ControllerFacade</b></a><br />
<a href="class138245.html#refclass138245" target = "projectFrame"><b>Dataset</b></a><br />
<a href="class129285.html#refclass129285" target = "projectFrame"><b>DirectPlacement</b></a><br />
<a href="class138373.html#refclass138373" target = "projectFrame"><b>DB</b></a><br />
<a href="class139141.html#refclass139141" target = "projectFrame"><b>DoAttach</b></a><br />
<a href="class139269.html#refclass139269" target = "projectFrame"><b>DoRecurse</b></a><br />
<a href="class128133.html#refclass128133" target = "projectFrame"><b>EDL</b></a><br />
<a href="class137733.html#refclass137733" target = "projectFrame"><b>Effect</b></a><br />
<a href="class129029.html#refclass129029" target = "projectFrame"><b>Effect</b></a><br />
@ -55,6 +60,7 @@
<a href="class128437.html#refclass128437" target = "projectFrame"><b>FileMapCache</b></a><br />
<a href="class129333.html#refclass129333" target = "projectFrame"><b>FileProvider</b></a><br />
<a href="class128778.html#refclass128778" target = "projectFrame"><b>FileReference</b></a><br />
<a href="class129285.html#refclass129285" target = "projectFrame"><b>FixedPlacement</b></a><br />
<a href="class128261.html#refclass128261" target = "projectFrame"><b>Fixture</b></a><br />
<a href="class128821.html#refclass128821" target = "projectFrame"><b>Frame</b></a><br />
<a href="class133253.html#refclass133253" target = "projectFrame"><b>Frame</b></a><br />
@ -73,6 +79,8 @@
<a href="class135685.html#refclass135685" target = "projectFrame"><b>Logic</b></a><br />
<a href="class132357.html#refclass132357" target = "projectFrame"><b>Mask</b></a><br />
<a href="class136709.html#refclass136709" target = "projectFrame"><b>Media</b></a><br />
<a href="class139525.html#refclass139525" target = "projectFrame"><b>MediaAccessFacade</b></a><br />
<a href="class139397.html#refclass139397" target = "projectFrame"><b>MediaFactory</b></a><br />
<a href="class137093.html#refclass137093" target = "projectFrame"><b>Meta</b></a><br />
<a href="class129157.html#refclass129157" target = "projectFrame"><b>Meta</b></a><br />
<a href="class128517.html#refclass128517" target = "projectFrame"><b>MObject</b></a><br />
@ -89,6 +97,7 @@
<a href="class136837.html#refclass136837" target = "projectFrame"><b>Proc</b></a><br />
<a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a><br />
<a href="class131717.html#refclass131717" target = "projectFrame"><b>ProcNode</b></a><br />
<a href="class138757.html#refclass138757" target = "projectFrame"><b>ProcPatt</b></a><br />
<a href="class132229.html#refclass132229" target = "projectFrame"><b>Projector</b></a><br />
<a href="class129413.html#refclass129413" target = "projectFrame"><b>RelativePlacement</b></a><br />
<a href="class133893.html#refclass133893" target = "projectFrame"><b>RelType</b></a><br />
@ -97,7 +106,10 @@
<a href="class129205.html#refclass129205" target = "projectFrame"><b>Scheduler</b></a><br />
<a href="class135173.html#refclass135173" target = "projectFrame"><b>Segment</b></a><br />
<a href="class134277.html#refclass134277" target = "projectFrame"><b>SegmentationTool</b></a><br />
<a href="class128005.html#refclass128005" target = "projectFrame"><b>Session</b></a><br />
<a href="class139653.html#refclass139653" target = "projectFrame"><b>Session</b></a><br />
<a href="class128005.html#refclass128005" target = "projectFrame"><b>SessionImpl</b></a><br />
<a href="class139781.html#refclass139781" target = "projectFrame"><b>SessManager</b></a><br />
<a href="class138885.html#refclass138885" target = "projectFrame"><b>SimpleClip</b></a><br />
<a href="class128906.html#refclass128906" target = "projectFrame"><b>SmartPointer</b></a><br />
<a href="class133765.html#refclass133765" target = "projectFrame"><b>Source</b></a><br />
<a href="class135941.html#refclass135941" target = "projectFrame"><b>State</b></a><br />

View file

@ -16,6 +16,7 @@
<!-- ============================================================= -->
<table>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130693" target = "projectFrame"><b>backend-components</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram128005" target = "projectFrame"><b>Overview</b></a></td><td></td><td>This drawing shows the top level compoents and relations</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130053" target = "projectFrame"><b>proc-components</b></a></td><td></td><td></td></tr>
</table>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 44 KiB

BIN
doc/devel/uml/fig130693.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
doc/devel/uml/fig130821.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
doc/devel/uml/fig130949.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
doc/devel/uml/fig131077.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
doc/devel/uml/fig131205.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -29,14 +29,14 @@ Documentation</title>
<p align="center"><b>Overview</b></p><p><br /></p><p><br /></p>
<p>This drawing shows the top level compoents and relations<br /></p><a name="refcomponent129925"></a>
<table><tr><td><div class="element">Component <b>CommonLib</b></div></td></tr></table>
<p>provided classes : <a href="class134917.html#refclass134917"><b>Time</b></a></p>
<p>provided classes : <a href="class135557.html#refclass135557"><b>Error</b></a>, <a href="class134917.html#refclass134917"><b>Time</b></a></p>
<a name="refcomponent128005"></a>
<table><tr><td><div class="element">Component <b>Builder</b></div></td></tr></table>
<p>provided classes : <a href="class132741.html#refclass132741"><b>StateProxy</b></a></p>
<p>required classes : <a href="class128261.html#refclass128261"><b>Fixture</b></a>, <a href="class128005.html#refclass128005"><b>Session</b></a></p>
<p>required classes : <a href="class128261.html#refclass128261"><b>Fixture</b></a>, <a href="class128005.html#refclass128005"><b>SessionImpl</b></a></p>
<a name="refcomponent128133"></a>
<table><tr><td><div class="element">Component <b>Session</b></div></td></tr></table>
<p>provided classes : <a href="class128133.html#refclass128133"><b>EDL</b></a>, <a href="class128261.html#refclass128261"><b>Fixture</b></a>, <a href="class128517.html#refclass128517"><b>MObject</b></a>, <a href="class134661.html#refclass134661"><b>ParamProvider</b></a>, <a href="class128005.html#refclass128005"><b>Session</b></a></p>
<p>provided classes : <a href="class128133.html#refclass128133"><b>EDL</b></a>, <a href="class128261.html#refclass128261"><b>Fixture</b></a>, <a href="class128517.html#refclass128517"><b>MObject</b></a>, <a href="class134661.html#refclass134661"><b>ParamProvider</b></a>, <a href="class128005.html#refclass128005"><b>SessionImpl</b></a></p>
<div class="sub">
<a name="refcomponent128389"></a>
<table><tr><td><div class="element">Component <b>EDL</b></div></td></tr></table>
@ -73,6 +73,11 @@ Documentation</title>
<a name="refcomponent129285"></a>
<table><tr><td><div class="element">Component <b>RenderPathManager</b></div></td></tr></table>
<p>provided classes : <a href="class130437.html#refclass130437"><b>PathManager</b></a></p>
<a name="refcomponent130181"></a>
<table><tr><td><div class="element">Component <b>MediaFactory</b></div></td></tr></table>
<p>required classes : <a href="class139525.html#refclass139525"><b>MediaAccessFacade</b></a></p>
<a name="refcomponent130309"></a>
<table><tr><td><div class="element">Component <b>AssetDB</b></div></td></tr></table>
</div>
<a name="refcomponent view128133"></a>
<h2 class ="view">1.2 Component View interfaces</h2>
@ -87,6 +92,12 @@ Documentation</title>
<a name="refcomponent129797"></a>
<table><tr><td><div class="element">Component <b>ConManager</b></div></td></tr></table>
<p>required classes : <a href="class134661.html#refclass134661"><b>ParamProvider</b></a></p>
<a name="refcomponent diagram130693"></a>
<p align="center"><img src="fig130693.png" alt="" /></p>
<p align="center"><b>backend-components</b></p><p><br /></p><p><br /></p>
<a name="refcomponent130437"></a>
<table><tr><td><div class="element">Component <b>Media Access</b></div></td></tr></table>
<p>provided classes : <a href="class139525.html#refclass139525"><b>MediaAccessFacade</b></a></p>
</div>
<a name="refpackage128645"></a>
<h2 class ="package">1.3 Package codegen</h2>
@ -101,7 +112,7 @@ Documentation</title>
<a name="refartifact128005"></a>
<table><tr><td><div class="element">Artifact <b>Cinelerra3</b></div></td></tr></table>
<p>Depends on <a href="index.html#refpackage129413"><b>common</b></a></p><p>Depends on <a href="index.html#refpackage129797"><b>gui</b></a></p><p>Depends on <a href="index.html#refpackage129669"><b>proc</b></a></p><p>Depends on <a href="index.html#refpackage129541"><b>backend</b></a></p><p>the main executable to be built<br /></p>
<p><i>executable</i> associated with : <a href="index.html#refartifact132613"><b>link</b></a>, <a href="index.html#refartifact134405"><b>parameter</b></a>, <a href="index.html#refartifact131973"><b>renderengine</b></a>, <a href="index.html#refartifact130053"><b>allocation</b></a>, <a href="index.html#refartifact134021"><b>vframe</b></a>, <a href="index.html#refartifact133381"><b>arender</b></a>, <a href="index.html#refartifact131845"><b>renderstate</b></a>, <a href="index.html#refartifact130181"><b>label</b></a>, <a href="index.html#refartifact134149"><b>glbuf</b></a>, <a href="index.html#refartifact132357"><b>procnode</b></a>, <a href="index.html#refartifact130949"><b>stateproxy</b></a>, <a href="index.html#refartifact132741"><b>hub</b></a>, <a href="index.html#refartifact131077"><b>buildable</b></a>, <a href="index.html#refartifact129285"><b>abstractmo</b></a>, <a href="index.html#refartifact131461"><b>nodecreatertool</b></a>, <a href="index.html#refartifact132869"><b>projector</b></a>, <a href="index.html#refartifact134661"><b>interpolator</b></a>, <a href="index.html#refartifact128645"><b>edl</b></a>, <a href="index.html#refartifact128773"><b>fixture</b></a>, <a href="index.html#refartifact133253"><b>glpipe</b></a>, <a href="index.html#refartifact133509"><b>vrender</b></a>, <a href="index.html#refartifact132229"><b>exitnode</b></a>, <a href="index.html#refartifact131717"><b>pathmanager</b></a>, <a href="index.html#refartifact128901"><b>track</b></a>, <a href="index.html#refartifact134533"><b>paramprovider</b></a>, <a href="index.html#refartifact132997"><b>mask</b></a>, <a href="index.html#refartifact128133"><b>main</b></a>, <a href="index.html#refartifact130693"><b>conmanager</b></a>, <a href="index.html#refartifact129413"><b>clip</b></a>, <a href="index.html#refartifact129669"><b>meta</b></a>, <a href="index.html#refartifact129797"><b>fixedplacement</b></a>, <a href="index.html#refartifact129925"><b>relativeplacement</b></a>, <a href="index.html#refartifact128261"><b>mobject</b></a>, <a href="index.html#refartifact134277"><b>source</b></a>, <a href="index.html#refartifact133765"><b>frame</b></a>, <a href="index.html#refartifact129029"><b>placement</b></a>, <a href="index.html#refartifact128517"><b>session</b></a>, <a href="index.html#refartifact130437"><b>builderfacade</b></a>, <a href="index.html#refartifact130565"><b>toolfactory</b></a>, <a href="index.html#refartifact131589"><b>controllerfacade</b></a>, <a href="index.html#refartifact132101"><b>processor</b></a>, <a href="index.html#refartifact133125"><b>pluginadapter</b></a>, <a href="index.html#refartifact129541"><b>effect</b></a>, <a href="index.html#refartifact131205"><b>tool</b></a>, <a href="index.html#refartifact131333"><b>segmentationtool</b></a>, <a href="index.html#refartifact133893"><b>aframe</b></a>, <a href="index.html#refartifact130821"><b>assembler</b></a>, <a href="index.html#refartifact132485"><b>trafo</b></a>, <a href="index.html#refartifact129157"><b>explicitplacement</b></a>, <a href="index.html#refartifact130309"><b>auto</b></a>, <a href="index.html#refartifact133637"><b>glrender</b></a></p>
<p><i>executable</i> associated with : <a href="index.html#refartifact132229"><b>exitnode</b></a>, <a href="index.html#refartifact131717"><b>pathmanager</b></a>, <a href="index.html#refartifact128901"><b>track</b></a>, <a href="index.html#refartifact134533"><b>paramprovider</b></a>, <a href="index.html#refartifact132997"><b>mask</b></a>, <a href="index.html#refartifact128133"><b>main</b></a>, <a href="index.html#refartifact130693"><b>conmanager</b></a>, <a href="index.html#refartifact129413"><b>clip</b></a>, <a href="index.html#refartifact129669"><b>meta</b></a>, <a href="index.html#refartifact129797"><b>fixedplacement</b></a>, <a href="index.html#refartifact129925"><b>relativeplacement</b></a>, <a href="index.html#refartifact133509"><b>vrender</b></a>, <a href="index.html#refartifact128261"><b>mobject</b></a>, <a href="index.html#refartifact134277"><b>source</b></a>, <a href="index.html#refartifact133765"><b>frame</b></a>, <a href="index.html#refartifact129029"><b>placement</b></a>, <a href="index.html#refartifact128517"><b>sessionimpl</b></a>, <a href="index.html#refartifact130437"><b>builderfacade</b></a>, <a href="index.html#refartifact131589"><b>controllerfacade</b></a>, <a href="index.html#refartifact132101"><b>processor</b></a>, <a href="index.html#refartifact133125"><b>pluginadapter</b></a>, <a href="index.html#refartifact129541"><b>effect</b></a>, <a href="index.html#refartifact131205"><b>tool</b></a>, <a href="index.html#refartifact131333"><b>segmentationtool</b></a>, <a href="index.html#refartifact133893"><b>aframe</b></a>, <a href="index.html#refartifact130821"><b>assembler</b></a>, <a href="index.html#refartifact132485"><b>trafo</b></a>, <a href="index.html#refartifact129157"><b>explicitplacement</b></a>, <a href="index.html#refartifact130309"><b>auto</b></a>, <a href="index.html#refartifact133637"><b>glrender</b></a>, <a href="index.html#refartifact132613"><b>link</b></a>, <a href="index.html#refartifact134405"><b>parameter</b></a>, <a href="index.html#refartifact131973"><b>renderengine</b></a>, <a href="index.html#refartifact130053"><b>allocation</b></a>, <a href="index.html#refartifact134021"><b>vframe</b></a>, <a href="index.html#refartifact130565"><b>toolfactory</b></a>, <a href="index.html#refartifact133381"><b>arender</b></a>, <a href="index.html#refartifact131845"><b>renderstate</b></a>, <a href="index.html#refartifact130181"><b>label</b></a>, <a href="index.html#refartifact134149"><b>glbuf</b></a>, <a href="index.html#refartifact132357"><b>procnode</b></a>, <a href="index.html#refartifact130949"><b>stateproxy</b></a>, <a href="index.html#refartifact132741"><b>hub</b></a>, <a href="index.html#refartifact131077"><b>buildable</b></a>, <a href="index.html#refartifact129285"><b>abstractmo</b></a>, <a href="index.html#refartifact131461"><b>nodecreatertool</b></a>, <a href="index.html#refartifact132869"><b>projector</b></a>, <a href="index.html#refartifact134661"><b>interpolator</b></a>, <a href="index.html#refartifact128645"><b>edl</b></a>, <a href="index.html#refartifact128773"><b>fixture</b></a>, <a href="index.html#refartifact133253"><b>glpipe</b></a></p>
<a name="refartifact128133"></a>
<table><tr><td><div class="element">Artifact <b>main</b></div></td></tr></table>
<p>Artifact <i>source</i></p>
@ -139,11 +150,17 @@ Documentation</title>
<a name="refpackage129541"></a>
<h3 class ="package">1.3.3 Package backend</h3>
<p></p><ul>
<li>C++ namespace : data</li>
<li>C++ namespace : backend_interface</li>
</ul>
<p>sourcecode package<br /><br />Data backend classes here...<br /></p><div class="sub">
<a name="refdeployment view128389"></a>
<h4 class ="view">1.3.3.1 Deployment View gen</h4>
<div class="sub">
<a name="refartifact138629"></a>
<table><tr><td><div class="element">Artifact <b>mediaaccessfacade</b></div></td></tr></table>
<p>functions for querying media file and channels.<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139525.html#refclass139525"><b>MediaAccessFacade</b></a></p>
</div>
</div>
<a name="refpackage129669"></a>
<h3 class ="package">1.3.4 Package proc</h3>
@ -197,7 +214,7 @@ Documentation</title>
<a name="refartifact136453"></a>
<table><tr><td><div class="element">Artifact <b>media</b></div></td></tr></table>
<p>key abstraction: media-like assets<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class136709.html#refclass136709"><b>Media</b></a></p>
<p>Artifact <i>source</i> associated with : <a href="class136709.html#refclass136709"><b>Media</b></a>, <a href="class139397.html#refclass139397"><b>MediaFactory</b></a></p>
<a name="refartifact136581"></a>
<table><tr><td><div class="element">Artifact <b>proc</b></div></td></tr></table>
<p>key abstraction: media-like assets<br /></p>
@ -214,6 +231,10 @@ Documentation</title>
<table><tr><td><div class="element">Artifact <b>clip</b></div></td></tr></table>
<p>bookkeeping (asset) view of a media clip.<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class137349.html#refclass137349"><b>Clip</b></a></p>
<a name="refartifact138245"></a>
<table><tr><td><div class="element">Artifact <b>compoundmedia</b></div></td></tr></table>
<p>a special clip as a compound of several elementary media tracks,<br />e.g. the individual media streams found in one media file<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class138501.html#refclass138501"><b>CompoundMedia</b></a></p>
<a name="refartifact136965"></a>
<table><tr><td><div class="element">Artifact <b>preview</b></div></td></tr></table>
<p>alternative version of the media data, probably with lower resolution<br /></p>
@ -238,6 +259,18 @@ Documentation</title>
<table><tr><td><div class="element">Artifact <b>track</b></div></td></tr></table>
<p>structural asset holding the configuration of a track in the EDL<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class137989.html#refclass137989"><b>Track</b></a></p>
<a name="refartifact137989"></a>
<table><tr><td><div class="element">Artifact <b>procpatt</b></div></td></tr></table>
<p>template for building some render processing network<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class138757.html#refclass138757"><b>ProcPatt</b></a></p>
<a name="refartifact138117"></a>
<table><tr><td><div class="element">Artifact <b>buildinstruct</b></div></td></tr></table>
<p>Instructions for building some configuration of render nodes.<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139013.html#refclass139013"><b>BuildInstruct</b></a>, <a href="class139269.html#refclass139269"><b>DoRecurse</b></a>, <a href="class139141.html#refclass139141"><b>DoAttach</b></a></p>
<a name="refartifact137861"></a>
<table><tr><td><div class="element">Artifact <b>db</b></div></td></tr></table>
<p>registry holding known Asset instances.<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class138373.html#refclass138373"><b>DB</b></a></p>
</div>
</div>
<a name="refpackage130181"></a>
@ -250,6 +283,10 @@ Documentation</title>
<h4 class ="view">1.3.4.3.1 Deployment View gen</h4>
<p>defines source files to be generated by BOUML<br /></p>
<div class="sub">
<a name="refartifact138757"></a>
<table><tr><td><div class="element">Artifact <b>session</b></div></td></tr></table>
<p>Interface: the session edited by the user<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139653.html#refclass139653"><b>Session</b></a></p>
<a name="refartifact128261"></a>
<table><tr><td><div class="element">Artifact <b>mobject</b></div></td></tr></table>
<p>Key Abstraction: A Media Object in the Session<br /></p>
@ -294,9 +331,13 @@ Documentation</title>
<p>defines source files to be generated by BOUML<br /></p>
<div class="sub">
<a name="refartifact128517"></a>
<table><tr><td><div class="element">Artifact <b>session</b></div></td></tr></table>
<p>holds the complete session to be edited by the user<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class128005.html#refclass128005"><b>Session</b></a></p>
<table><tr><td><div class="element">Artifact <b>sessionimpl</b></div></td></tr></table>
<p>holds the complete session data to be edited by the user<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class128005.html#refclass128005"><b>SessionImpl</b></a></p>
<a name="refartifact138885"></a>
<table><tr><td><div class="element">Artifact <b>sessmanager</b></div></td></tr></table>
<p>global session access and lifecycle<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139781.html#refclass139781"><b>SessManager</b></a></p>
<a name="refartifact128645"></a>
<table><tr><td><div class="element">Artifact <b>edl</b></div></td></tr></table>
<p>the (high level) Edit Decision List within the current Session<br /></p>
@ -321,6 +362,14 @@ Documentation</title>
<table><tr><td><div class="element">Artifact <b>clip</b></div></td></tr></table>
<p>a Media Clip<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class128901.html#refclass128901"><b>Clip</b></a></p>
<a name="refartifact138373"></a>
<table><tr><td><div class="element">Artifact <b>simpleclip</b></div></td></tr></table>
<p>Elementary clip (single media stream only)<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class138885.html#refclass138885"><b>SimpleClip</b></a></p>
<a name="refartifact138501"></a>
<table><tr><td><div class="element">Artifact <b>compoundclip</b></div></td></tr></table>
<p>compound of several clips (multichannel)<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class138629.html#refclass138629"><b>CompoundClip</b></a></p>
<a name="refartifact129541"></a>
<table><tr><td><div class="element">Artifact <b>effect</b></div></td></tr></table>
<p>EDL representation of a pluggable and automatable effect.<br /></p>
@ -331,7 +380,7 @@ Documentation</title>
<p>Artifact <i>source</i> associated with : <a href="class129157.html#refclass129157"><b>Meta</b></a></p>
<a name="refartifact129797"></a>
<table><tr><td><div class="element">Artifact <b>fixedplacement</b></div></td></tr></table>
<p>Artifact <i>source</i> associated with : <a href="class129285.html#refclass129285"><b>DirectPlacement</b></a></p>
<p>Artifact <i>source</i> associated with : <a href="class129285.html#refclass129285"><b>FixedPlacement</b></a></p>
<a name="refartifact129925"></a>
<table><tr><td><div class="element">Artifact <b>relativeplacement</b></div></td></tr></table>
<p>Placement implemnetaion providing various ways of attaching a MObject to another one<br /></p>
@ -517,7 +566,7 @@ Documentation</title>
<h1 class ="package">2 Package ProcessingLayer</h1>
<div class="sub">
<a name="refpackage128133"></a>
<h2 class ="package">2.1 Package AssetManager</h2>
<h2 class ="package">2.1 Package Asset</h2>
<div class="sub">
<a name="refclass view128901"></a>
<h3 class ="view">2.1.1 Class View Assets</h3>
@ -528,9 +577,17 @@ Documentation</title>
<a name="refclass diagram130437"></a>
<p align="center"><img src="fig130437.png" alt="" /></p>
<p align="center"><b>Media-Asset Relations</b></p><p><br /></p><p><br /></p>
<a name="refclass diagram131077"></a>
<p align="center"><img src="fig131077.png" alt="" /></p>
<p align="center"><b>Proc-Asset Relations</b></p><p><br /></p><p><br /></p>
<a name="refclass diagram131205"></a>
<p align="center"><img src="fig131205.png" alt="" /></p>
<p align="center"><b>Struct-Asset Relations</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class136453.html#refclass136453"><b>Asset</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class136581.html#refclass136581"><b>AssetManager</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class136709.html#refclass136709"><b>Media</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139397.html#refclass139397"><b>MediaFactory</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138501.html#refclass138501"><b>CompoundMedia</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class136837.html#refclass136837"><b>Proc</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class136965.html#refclass136965"><b>Struct</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class137093.html#refclass137093"><b>Meta</b></a></b></div></td></tr></table>
@ -542,7 +599,12 @@ Documentation</title>
<table><tr><td><div class="element">Class <b><a href="class137861.html#refclass137861"><b>Codec</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class137989.html#refclass137989"><b>Track</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138117.html#refclass138117"><b>OutPort</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138757.html#refclass138757"><b>ProcPatt</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138245.html#refclass138245"><b>Dataset</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138373.html#refclass138373"><b>DB</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139013.html#refclass139013"><b>BuildInstruct</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139141.html#refclass139141"><b>DoAttach</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139269.html#refclass139269"><b>DoRecurse</b></a></b></div></td></tr></table>
</div>
</div>
<a name="refpackage128261"></a>
@ -554,7 +616,9 @@ Documentation</title>
<a name="refclass diagram128133"></a>
<p align="center"><img src="fig128133.png" alt="" /></p>
<p align="center"><b>Session structure</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class128005.html#refclass128005"><b>Session</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139653.html#refclass139653"><b>Session</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128005.html#refclass128005"><b>SessionImpl</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139781.html#refclass139781"><b>SessManager</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128133.html#refclass128133"><b>EDL</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128261.html#refclass128261"><b>Fixture</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class135173.html#refclass135173"><b>Segment</b></a></b></div></td></tr></table>
@ -564,9 +628,11 @@ Documentation</title>
<table><tr><td><div class="element">Class <b><a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128773.html#refclass128773"><b>AbstractMO</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128901.html#refclass128901"><b>Clip</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138885.html#refclass138885"><b>SimpleClip</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class138629.html#refclass138629"><b>CompoundClip</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129029.html#refclass129029"><b>Effect</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129157.html#refclass129157"><b>Meta</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129285.html#refclass129285"><b>DirectPlacement</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129285.html#refclass129285"><b>FixedPlacement</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129413.html#refclass129413"><b>RelativePlacement</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129541.html#refclass129541"><b>Allocation</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129669.html#refclass129669"><b>Label</b></a></b></div></td></tr></table>
@ -970,11 +1036,36 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
<a name="refpackage129157"></a>
<h1 class ="package">3 Package BackendLayer</h1>
<div class="sub">
<a name="refclass view129029"></a>
<h2 class ="view">3.1 Class View Interface</h2>
<div class="sub">
<a name="refclass diagram130949"></a>
<p align="center"><img src="fig130949.png" alt="" /></p>
<p align="center"><b>interface components</b></p><p><br /></p><p><br /></p>
<table><tr><td><div class="element">Class <b><a href="class139525.html#refclass139525"><b>MediaAccessFacade</b></a></b></div></td></tr></table>
</div>
<a name="refuse case view128133"></a>
<h2 class ="view">3.2 Use Case View usage</h2>
<div class="sub">
<a name="refuse case diagram130821"></a>
<p align="center"><img src="fig130821.png" alt="" /></p>
<p align="center"><b>backend use cases</b></p><p><br /></p><p><br /></p>
<a name="refuse case128005"></a>
<h3 class ="usecase">3.2.1 Use Case load Media</h3>
<div class="sub">
</div>
<a name="refuse case128133"></a>
<h3 class ="usecase">3.2.2 Use Case access File</h3>
<a name="refuse case128261"></a>
<h3 class ="usecase">3.2.3 Use Case detect Channels</h3>
<a name="refuse case128389"></a>
<h3 class ="usecase">3.2.4 Use Case access Channel</h3>
</div>
<a name="refpackage128138"></a>
<h2 class ="package">3.1 Package design</h2>
<h2 class ="package">3.3 Package design</h2>
<div class="sub">
<a name="refclass view128517"></a>
<h3 class ="view">3.1.1 Class View Backend Components</h3>
<h3 class ="view">3.3.1 Class View Backend Components</h3>
<div class="sub">
<a name="refclass diagram128181"></a>
<p align="center"><img src="fig128181.png" alt="" /></p>
@ -995,15 +1086,15 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
<table><tr><td><div class="element">Class <b><a href="class128225.html#refclass128225"><b>FrameReference</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class128778.html#refclass128778"><b>FileReference</b></a></b></div></td></tr></table>
<a name="refactivity128010"></a>
<h4 class ="activity">3.1.1.1 Activity get frame</h4>
<h4 class ="activity">3.3.1.1 Activity get frame</h4>
<p>Pre Condition :</p><ul></ul><p>Post Condition :</p><ul></ul><table><tr><td><div class="element">Class <b><a href="class129034.html#refclass129034"><b>WriteBufferPool</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129162.html#refclass129162"><b>WriteBuffer</b></a></b></div></td></tr></table>
</div>
</div>
<a name="refcomponent view128138"></a>
<h2 class ="view">3.2 Component View Cache</h2>
<h2 class ="view">3.4 Component View Cache</h2>
<a name="refcomponent view128266"></a>
<h2 class ="view">3.3 Component View FileMapping</h2>
<h2 class ="view">3.5 Component View FileMapping</h2>
</div>
<a name="refpackage128773"></a>
<h1 class ="package">4 Package GUI</h1>

View file

@ -17,8 +17,8 @@
<table>
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129541" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129797" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129541" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129669" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130309" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131205" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
@ -28,10 +28,10 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131461" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130693" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129029" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130181" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131717" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131077" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130181" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130949" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131077" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130053" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition128901" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130565" target = "projectFrame"><b>&lt;flow&gt;</b></a></td><td>transition</td><td></td></tr>

View file

@ -19,6 +19,8 @@
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129285" target = "projectFrame"><b>abstractmo</b></a></td><td>artifact</td><td>abstract base class for all Media Objects</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128773.html#refclass128773" target = "projectFrame"><b>AbstractMO</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128389" target = "projectFrame"><b>access Channel</b></a></td><td>use case</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128133" target = "projectFrame"><b>access File</b></a></td><td>use case</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity final129157" target = "projectFrame"><b>activity final</b></a></td><td>activity final</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity final128901" target = "projectFrame"><b>activity final</b></a></td><td>activity final</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133381.html#refclass133381" target = "projectFrame"><b>AFrame</b></a></td><td>class</td><td></td></tr>
@ -38,20 +40,21 @@
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refclass136453" target = "projectFrame"><b>Asset</b></a></td><td>class</td><td>Superinterface describing especially the bookeeping properties of Assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136069" target = "projectFrame"><b>asset</b></a></td><td>artifact</td><td>Superinterface: bookeeping view of "things" present in the session</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130053" target = "projectFrame"><b>asset</b></a></td><td>package</td><td>sourcecode package<br /><br />Asset Management</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128133" target = "projectFrame"><b>Asset</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130309" target = "projectFrame"><b>Asset Kinds</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130309" target = "projectFrame"><b>AssetDB</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128645" target = "projectFrame"><b>AssetManagement</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refclass136581" target = "projectFrame"><b>AssetManager</b></a></td><td>class</td><td>Facade for the Asset subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136197" target = "projectFrame"><b>assetmanager</b></a></td><td>artifact</td><td>Facade for the Asset subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128133" target = "projectFrame"><b>AssetManager</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128901" target = "projectFrame"><b>Assets</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129285" target = "projectFrame"><b>ATTACH</b></a></td><td>attribute</td><td>attach subject to anchor (e.g. an effect to a clip)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132101" target = "projectFrame"><b>au1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131845" target = "projectFrame"><b>aud_a</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128773" target = "projectFrame"><b>aud_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131845" target = "projectFrame"><b>aud_a</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131205" target = "projectFrame"><b>audio</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128389" target = "projectFrame"><b>audio1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128901" target = "projectFrame"><b>audio1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130821" target = "projectFrame"><b>audio1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128901" target = "projectFrame"><b>audio1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128389" target = "projectFrame"><b>audio1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact130309" target = "projectFrame"><b>auto</b></a></td><td>artifact</td><td>Media Object holding automation data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129925.html#refclass129925" target = "projectFrame"><b>Auto</b></a></td><td>class</td><td>Automation data for some parameter (i.e. a time varying function)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram129669" target = "projectFrame"><b>Automation Entities</b></a></td><td>class diagram</td><td></td></tr>

View file

@ -19,6 +19,8 @@
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129541" target = "projectFrame"><b>backend</b></a></td><td>package</td><td>sourcecode package<br /><br />Data backend classes here...</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128517" target = "projectFrame"><b>Backend Components</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case diagram130821" target = "projectFrame"><b>backend use cases</b></a></td><td>use case diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130693" target = "projectFrame"><b>backend-components</b></a></td><td>component diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129157" target = "projectFrame"><b>BackendLayer</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128901" target = "projectFrame"><b>build</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity diagram129413" target = "projectFrame"><b>build flow</b></a></td><td>activity diagram</td><td></td></tr>
@ -39,6 +41,8 @@
<tr bgcolor=#f0f0f0><td><a href="class130565.html#refclass130565" target = "projectFrame"><b>BuilderFacade</b></a></td><td>class</td><td>Provides unified access to the builder functionality. While individual components of the builder subsystem may be called if necessary or suitable, it is usually better to do all extern invocations via the high level methods of this Facade</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact130437" target = "projectFrame"><b>builderfacade</b></a></td><td>artifact</td><td>Facade and service access point for the Builder Subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity128005" target = "projectFrame"><b>building the Engine</b></a></td><td>activity</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139013.html#refclass139013" target = "projectFrame"><b>BuildInstruct</b></a></td><td>class</td><td>(Interface) building instructions to be executed by the Builder on the render node network under construction.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138117" target = "projectFrame"><b>buildinstruct</b></a></td><td>artifact</td><td>Instructions for building some configuration of render nodes.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128261" target = "projectFrame"><b>buildProcessor</b></a></td><td>operation</td><td></td></tr>
</table>
</body>

View file

@ -27,24 +27,25 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129290" target = "projectFrame"><b>checked_out</b></a></td><td>relation</td><td>this list keeps all mappings which are in use, and thus prevents them from Cache aging</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128005" target = "projectFrame"><b>Cinelerra3</b></a></td><td>artifact</td><td>the main executable to be built</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129" target = "projectFrame"><b>cinelerra3</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130693" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128005" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130565" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133509" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128133" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128261" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132485" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129029" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132357" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129285" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129541" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129797" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130053" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130181" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130309" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129029" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130437" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132229" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130565" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130693" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131589" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132229" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132357" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132485" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133509" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128005" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128133" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128261" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129285" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133765" target = "projectFrame"><b>clear</b></a></td><td>operation</td><td>clear current session contents <br />without resetting overall session config.<br />Afterwards, the session will contain only one <br />empty EDL, while all Assets are retained.<br /></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a></td><td>class</td><td>bookkeeping (asset) view of a media clip.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129413" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>a Media Clip</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136325" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>bookkeeping (asset) view of a media clip.</td></tr>
@ -59,6 +60,11 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent129925" target = "projectFrame"><b>CommonLib</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128517" target = "projectFrame"><b>CommonLib</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity object128517" target = "projectFrame"><b>complete Render Engine</b></a></td><td>activity object</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation143493" target = "projectFrame"><b>components</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138501" target = "projectFrame"><b>compoundclip</b></a></td><td>artifact</td><td>compound of several clips (multichannel)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138629.html#refclass138629" target = "projectFrame"><b>CompoundClip</b></a></td><td>class</td><td>Clip MObject which is actually a compound of several elementary clips,<br />e.g. the several streams found within multichannels media.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138501.html#refclass138501" target = "projectFrame"><b>CompoundMedia</b></a></td><td>class</td><td>compound of several elementary media tracks,<br />e.g. the individual media streams found in one media file</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138245" target = "projectFrame"><b>compoundmedia</b></a></td><td>artifact</td><td>a special clip as a compound of several elementary media tracks,<br />e.g. the individual media streams found in one media file</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128266.html#refclass128266" target = "projectFrame"><b>Condition</b></a></td><td>class</td><td>I provided a reworked Condition class in my cinelerra2 repository</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135813.html#refclass135813" target = "projectFrame"><b>Config</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128773" target = "projectFrame"><b>configure</b></a></td><td>operation</td><td></td></tr>
@ -70,14 +76,17 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action129029" target = "projectFrame"><b>connect</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130181.html#refclass130181" target = "projectFrame"><b>Constraint</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128261" target = "projectFrame"><b>Controller</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129029" target = "projectFrame"><b>Controller</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130693" target = "projectFrame"><b>controller</b></a></td><td>package</td><td>sourcecode package<br /><br />The Processing and Render Controller,<br />located within the MObject Subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129029" target = "projectFrame"><b>Controller</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128645" target = "projectFrame"><b>Controller Entities</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128389" target = "projectFrame"><b>Controller Workings</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130309.html#refclass130309" target = "projectFrame"><b>ControllerFacade</b></a></td><td>class</td><td>Provides unified access to the Proc-Subsystem Controller. Especially, this Facade class provides the functions to get a render engine to carry out actual renderings.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131589" target = "projectFrame"><b>controllerfacade</b></a></td><td>artifact</td><td>Facade and service access point for the Proc Layer Controller</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent129541" target = "projectFrame"><b>ControllerFacade</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128901" target = "projectFrame"><b>create ProcNode</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133253" target = "projectFrame"><b>createClip</b></a></td><td>operation</td><td>create a (possibly compound) Clip refering to this media, ready to be added to the EDL.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133509" target = "projectFrame"><b>currEDL</b></a></td><td>operation</td><td>The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation144773" target = "projectFrame"><b>current</b></a></td><td>relation</td><td>Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation135941" target = "projectFrame"><b>currFrame</b></a></td><td>relation</td><td></td></tr>
</table>
</body>

View file

@ -20,16 +20,20 @@
<tr bgcolor=#f0f0f0><td><a href="class138245.html#refclass138245" target = "projectFrame"><b>Dataset</b></a></td><td>class</td><td>meta asset describing a collection of control data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137733" target = "projectFrame"><b>dataset</b></a></td><td>artifact</td><td>meta asset describing a collection of control data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation136965" target = "projectFrame"><b>datasrc</b></a></td><td>relation</td><td>The predecessor in a processing pipeline, i.e. a source to get data to be processed</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138373.html#refclass138373" target = "projectFrame"><b>DB</b></a></td><td>class</td><td>Implementation of the registry holding all Asset instances known to the Asset Manager subsystem. As of 8/2007 implemented by a hashtable.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137861" target = "projectFrame"><b>db</b></a></td><td>artifact</td><td>registry holding known Asset instances.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128773" target = "projectFrame"><b>define segment</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128437" target = "projectFrame"><b>descriptor</b></a></td><td>relation</td><td>type of this frame</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128481" target = "projectFrame"><b>descriptor</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128138" target = "projectFrame"><b>design</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128005" target = "projectFrame"><b>design</b></a></td><td>package</td><td>All things concering the big picture.<br />Not a real code package, rather a container for design drafts, specifications, decisions.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128261" target = "projectFrame"><b>detect Channels</b></a></td><td>use case</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refexpansion region128005" target = "projectFrame"><b>determine Render Params</b></a></td><td>expansion region</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128389" target = "projectFrame"><b>determine Render Params</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132613" target = "projectFrame"><b>devnull</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129285.html#refclass129285" target = "projectFrame"><b>DirectPlacement</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128773" target = "projectFrame"><b>Dispatcher</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139141.html#refclass139141" target = "projectFrame"><b>DoAttach</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139269.html#refclass139269" target = "projectFrame"><b>DoRecurse</b></a></td><td>class</td><td></td></tr>
</table>
</body>
</html>

View file

@ -24,8 +24,8 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refobject diagram128901" target = "projectFrame"><b>EDL Example2</b></a></td><td>object diagram</td><td>More complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128005" target = "projectFrame"><b>edls</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137733.html#refclass137733" target = "projectFrame"><b>Effect</b></a></td><td>class</td><td>Effect or media processing component</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137221" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>Effect or media processing component</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129541" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>EDL representation of a pluggable and automatable effect.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137221" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>Effect or media processing component</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129029.html#refclass129029" target = "projectFrame"><b>Effect</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation138885" target = "projectFrame"><b>elements</b></a></td><td>relation</td><td>relevant MObjects comprising this segment. TODO: actually necessary??</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132997" target = "projectFrame"><b>enable</b></a></td><td>operation</td><td>change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well</td></tr>

View file

@ -30,10 +30,11 @@
<tr bgcolor=#f0f0f0><td><a href="class128778.html#refclass128778" target = "projectFrame"><b>FileReference</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129034" target = "projectFrame"><b>files</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129797" target = "projectFrame"><b>fixedplacement</b></a></td><td>artifact</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129285.html#refclass129285" target = "projectFrame"><b>FixedPlacement</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity object128005" target = "projectFrame"><b>Fixture</b></a></td><td>activity object</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128773" target = "projectFrame"><b>fixture</b></a></td><td>artifact</td><td>the (low level) representation of the EDL with concrete placement data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128261.html#refclass128261" target = "projectFrame"><b>Fixture</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128517" target = "projectFrame"><b>Fixture</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128261.html#refclass128261" target = "projectFrame"><b>Fixture</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128261" target = "projectFrame"><b>fixture</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#reffork activity node129029" target = "projectFrame"><b>fork activity node</b></a></td><td>fork activity node</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128821.html#refclass128821" target = "projectFrame"><b>Frame</b></a></td><td>class</td><td>Frames are just a low level lump of continous memory, most parts are opaque. Frames are memory sensitive, they will be small constant sized structures which can be efficently managed in a pool.</td></tr>

View file

@ -35,7 +35,9 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129157" target = "projectFrame"><b>getAutomation</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129029" target = "projectFrame"><b>getConnection</b></a></td><td>operation</td><td>TODO</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132229" target = "projectFrame"><b>getDependant</b></a></td><td>operation</td><td>All the other assets requiring this asset to be functional. For example, all the clips depending on a given media file. May be empty. The dependency relation is transitive.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133637" target = "projectFrame"><b>getFixture</b></a></td><td>operation</td><td>While the session can be comprised of several EDLs, <br />there is only one Fixture, which represents the actual<br />configuration of all Objects to be rendered</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128181" target = "projectFrame"><b>getFrame</b></a></td><td>operation</td><td>mode = READ, WRITE, ...</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133125" target = "projectFrame"><b>getID</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132101" target = "projectFrame"><b>getParents</b></a></td><td>operation</td><td>List of entities this asset depends on or requires to be functional. May be empty. The head of this list can be considered the primary prerequisite</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128645" target = "projectFrame"><b>getPlaylistForRender</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128389" target = "projectFrame"><b>getStateProxy</b></a></td><td>operation</td><td></td></tr>

View file

@ -21,6 +21,7 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128737" target = "projectFrame"><b>handles</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128225" target = "projectFrame"><b>handles_available</b></a></td><td>attribute</td><td>initialized to the maximum number of filehandles the backend may use for mapped files. When no handles are available, the handle which is last in the handles list is closed and (re-)used.<br />Else this number is decremented for each new filehandle used and incremented for any one explicitly freed.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130181" target = "projectFrame"><b>Hierarchy</b></a></td><td>class diagram</td><td>Cinelerra Exception hierarchy</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133381" target = "projectFrame"><b>howtoProc</b></a></td><td>operation</td><td>@return descriptor how to build a render pipeline corresponding to this media</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class132101.html#refclass132101" target = "projectFrame"><b>Hub</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132741" target = "projectFrame"><b>hub</b></a></td><td>artifact</td><td>special ProcNode used to build data distributing connections</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133893" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></td></tr>

View file

@ -20,10 +20,13 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130437" target = "projectFrame"><b>id</b></a></td><td>attribute</td><td>Asset primary key.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128309" target = "projectFrame"><b>In Memory Database</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity action pin128133" target = "projectFrame"><b>inFixture</b></a></td><td>activity action pin</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132869" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134149" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131461" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134149" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132869" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131461" target = "projectFrame"><b>instance</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation143621" target = "projectFrame"><b>instructions</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view129029" target = "projectFrame"><b>Interface</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130949" target = "projectFrame"><b>interface components</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent view128133" target = "projectFrame"><b>interfaces</b></a></td><td>component view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134661" target = "projectFrame"><b>interpolator</b></a></td><td>artifact</td><td>denotes a facility to get (continuously interpolated) parameter values</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134789.html#refclass134789" target = "projectFrame"><b>Interpolator</b></a></td><td>class</td><td>Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter</td></tr>

View file

@ -23,6 +23,8 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130053" target = "projectFrame"><b>length</b></a></td><td>attribute</td><td>duration (span) of this timeline segment.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131973.html#refclass131973" target = "projectFrame"><b>Link</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132613" target = "projectFrame"><b>link</b></a></td><td>artifact</td><td>forwarding, adapting or connecting ProcNode</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation134021" target = "projectFrame"><b>load</b></a></td><td>operation</td><td>replace the current session by a new<br />session loaded from serialized state.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128005" target = "projectFrame"><b>load Media</b></a></td><td>use case</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128522.html#refclass128522" target = "projectFrame"><b>Lock</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128650.html#refclass128650" target = "projectFrame"><b>Lock</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135685.html#refclass135685" target = "projectFrame"><b>Logic</b></a></td><td>class</td><td></td></tr>

View file

@ -24,11 +24,16 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132997" target = "projectFrame"><b>mask</b></a></td><td>artifact</td><td>Video ProcNode for masking regions of the image (automatable)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refclass136709" target = "projectFrame"><b>Media</b></a></td><td>class</td><td>key abstraction: media-like assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136453" target = "projectFrame"><b>media</b></a></td><td>artifact</td><td>key abstraction: media-like assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130437" target = "projectFrame"><b>Media Access</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130437" target = "projectFrame"><b>Media-Asset Relations</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138629" target = "projectFrame"><b>mediaaccessfacade</b></a></td><td>artifact</td><td>functions for querying media file and channels.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139525.html#refclass139525" target = "projectFrame"><b>MediaAccessFacade</b></a></td><td>class</td><td>provides functions for querying (opening) a media file, detecting the channels or streams found within this file, etc. Delegating to the actual backend functions</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130181" target = "projectFrame"><b>MediaFactory</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139397.html#refclass139397" target = "projectFrame"><b>MediaFactory</b></a></td><td>class</td><td>specialized Asset Factory for configuring (new) media asset instances based on existing media files on disk; can create placeholder assets as well</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refmerge activity node128773" target = "projectFrame"><b>merge activity node</b></a></td><td>merge activity node</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137093.html#refclass137093" target = "projectFrame"><b>Meta</b></a></td><td>class</td><td>key abstraction: metadata and organisational asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129669" target = "projectFrame"><b>meta</b></a></td><td>artifact</td><td>abstract base class of all MObjects representing meta data or processing instructions</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136837" target = "projectFrame"><b>meta</b></a></td><td>artifact</td><td>key abstraction: metadata and organisational asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129669" target = "projectFrame"><b>meta</b></a></td><td>artifact</td><td>abstract base class of all MObjects representing meta data or processing instructions</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129157.html#refclass129157" target = "projectFrame"><b>Meta</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128261" target = "projectFrame"><b>mobject</b></a></td><td>artifact</td><td>Key Abstraction: A Media Object in the Session</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130181" target = "projectFrame"><b>mobject</b></a></td><td>package</td><td>sourcecode package<br /><br />MObject Subsystem<br />including the Session (EDL), Builder and Processing Controller</td></tr>

View file

@ -20,6 +20,7 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130565" target = "projectFrame"><b>name</b></a></td><td>attribute</td><td>element ID, comprehensible but sanitized. The tuple (category, name, org) is unique.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131461" target = "projectFrame"><b>nodecreatertool</b></a></td><td>artifact</td><td>central Tool implementing the Renderengine building</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refclass134405" target = "projectFrame"><b>NodeCreatorTool</b></a></td><td>class</td><td>This Tool implementation plays the central role in the buld process: given a MObject from Session, it is able to attach ProcNodes to the render engine under construction such as to reflect the properties of the MObject in the actual render.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation144133" target = "projectFrame"><b>nodes</b></a></td><td>relation</td><td></td></tr>
</table>
</body>
</html>

View file

@ -19,9 +19,9 @@
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129029" target = "projectFrame"><b>offset</b></a></td><td>attribute</td><td>Offset the actual position by this (time) value relative to the anchor point. TODO: Representation?</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130821" target = "projectFrame"><b>org</b></a></td><td>attribute</td><td>origin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3".</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134405" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131333" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133125" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131333" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134405" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138117.html#refclass138117" target = "projectFrame"><b>OutPort</b></a></td><td>class</td><td>structural asset corresponding to some port generating media output</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137605" target = "projectFrame"><b>outport</b></a></td><td>artifact</td><td>structural asset corresponding to some port generating media output</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation132613" target = "projectFrame"><b>output</b></a></td><td>relation</td><td></td></tr>

View file

@ -34,6 +34,7 @@
<tr bgcolor=#f0f0f0><td><a href="class132485.html#refclass132485" target = "projectFrame"><b>PluginAdapter</b></a></td><td>class</td><td>Adapter used to integrage an effects processor in the render pipeline</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133125" target = "projectFrame"><b>pluginadapter</b></a></td><td>artifact</td><td>Adapter for integrating various Effect processors in the render pipeline</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refnode128517" target = "projectFrame"><b>pnode</b></a></td><td>node</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute131461" target = "projectFrame"><b>point</b></a></td><td>attribute</td><td>identifying the point where the nodes should be attached</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128138" target = "projectFrame"><b>Posix Threads Abstraction</b></a></td><td>class view</td><td>C++ wrapers for pthreads</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129077.html#refclass129077" target = "projectFrame"><b>Prefetch</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137605.html#refclass137605" target = "projectFrame"><b>Preview</b></a></td><td>class</td><td>alternative version of the media data, probably with lower resolution</td></tr>
@ -43,6 +44,7 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refnode128389" target = "projectFrame"><b>proc</b></a></td><td>node</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136581" target = "projectFrame"><b>proc</b></a></td><td>artifact</td><td>key abstraction: media-like assets</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129797" target = "projectFrame"><b>proc</b></a></td><td>attribute</td><td>holds the Processor (Render Engine Element) to be built by the current build step</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131077" target = "projectFrame"><b>Proc-Asset Relations</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130053" target = "projectFrame"><b>proc-components</b></a></td><td>component diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129285" target = "projectFrame"><b>ProcessingLayer</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a></td><td>class</td><td></td></tr>
@ -50,6 +52,8 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130053" target = "projectFrame"><b>ProcNode</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131717.html#refclass131717" target = "projectFrame"><b>ProcNode</b></a></td><td>class</td><td>Key abstraction of the Render Engine: A Data processing Node</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132357" target = "projectFrame"><b>procnode</b></a></td><td>artifact</td><td>Key abstraction of the Render Engine: a Processing Node</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138757.html#refclass138757" target = "projectFrame"><b>ProcPatt</b></a></td><td>class</td><td>special type of structural Asset representing information how to build some part of the render engine's processing nodes network.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137989" target = "projectFrame"><b>procpatt</b></a></td><td>artifact</td><td>template for building some render processing network</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class132229.html#refclass132229" target = "projectFrame"><b>Projector</b></a></td><td>class</td><td>Special video processing node used to scale and translate image data.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132869" target = "projectFrame"><b>projector</b></a></td><td>artifact</td><td>video ProcNode for scaling and translating image data</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation138629" target = "projectFrame"><b>provider</b></a></td><td>relation</td><td></td></tr>

View file

@ -18,7 +18,8 @@
<table>
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129669" target = "projectFrame"><b>refPoint</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132357" target = "projectFrame"><b>register</b></a></td><td>operation</td><td>registers an asset object in the internal DB, providing its unique key</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132357" target = "projectFrame"><b>reg</b></a></td><td>operation</td><td>registers an asset object in the internal DB, providing its unique key</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation142085" target = "projectFrame"><b>registry</b></a></td><td>relation</td><td>@internal Table or DB holding all registered asset instances.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129925" target = "projectFrame"><b>relativeplacement</b></a></td><td>artifact</td><td>Placement implemnetaion providing various ways of attaching a MObject to another one</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129413.html#refclass129413" target = "projectFrame"><b>RelativePlacement</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128133" target = "projectFrame"><b>relType</b></a></td><td>attribute</td><td>the kind of relation denoted by this Placement</td></tr>
@ -35,6 +36,7 @@
<tr bgcolor=#f0f0f0><td><a href="class130949.html#refclass130949" target = "projectFrame"><b>RenderState</b></a></td><td>class</td><td>Encapsulates the logic used to get a "current render process" in accordance to the currentyl applicable controller settings. The provided StateProxy serves to hold any mutalbe state used in the render process, so the rest of the render engine can be stateless.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131845" target = "projectFrame"><b>renderstate</b></a></td><td>artifact</td><td>renderengine state manager</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128773" target = "projectFrame"><b>repr</b></a></td><td>attribute</td><td>human readable representation of the condition characterizing this allocaton, e.g. "t &gt;= 10"</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133893" target = "projectFrame"><b>reset</b></a></td><td>operation</td><td>reset all session config and <br />start with a pristine default session.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128005" target = "projectFrame"><b>resolve</b></a></td><td>operation</td><td>create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131973" target = "projectFrame"><b>rootCause</b></a></td><td>operation</td><td>If this exception was caused by a chain of further exceptions,<br />return the first one registered in this throw sequence.<br />This works only, if every exceptions thrown as a consequence<br />of another exception is propperly constructed by passing<br />the original exception to the constructor</td></tr>
</table>

View file

@ -18,6 +18,7 @@
<table>
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129157" target = "projectFrame"><b>SAMETIME</b></a></td><td>attribute</td><td>place subject at the sime time as the anchor</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation134149" target = "projectFrame"><b>save</b></a></td><td>operation</td><td>create a complete, serialized representation<br />of the current session config and contents.<br />@todo how to serialize, prameters, return value?</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129205.html#refclass129205" target = "projectFrame"><b>Scheduler</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact135045" target = "projectFrame"><b>segment</b></a></td><td>artifact</td><td>Segment of the Timeline.<br />Used at the moment (7/07) for partitioning the timeline/fixture into segments<br />to be rendered by a specialized render node network for each, without the need<br />to change any connections within a given segment. <br />Note this concept may be superfluos alltogether; is a draft and the real<br />use still needs to be worked out...</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135173.html#refclass135173" target = "projectFrame"><b>Segment</b></a></td><td>class</td><td></td></tr>
@ -29,18 +30,24 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation139013" target = "projectFrame"><b>segments</b></a></td><td>relation</td><td>the partitioning of the Timeline to be created by this tool.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128645" target = "projectFrame"><b>Service Components</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128133" target = "projectFrame"><b>Session</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128517" target = "projectFrame"><b>session</b></a></td><td>artifact</td><td>holds the complete session to be edited by the user</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128005" target = "projectFrame"><b>Session</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138757" target = "projectFrame"><b>session</b></a></td><td>artifact</td><td>Interface: the session edited by the user</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130437" target = "projectFrame"><b>session</b></a></td><td>package</td><td>sourcecode package<br /><br />Everything concerning the EDL and Session, within the MObject Subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128005.html#refclass128005" target = "projectFrame"><b>Session</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128005" target = "projectFrame"><b>Session</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refclass139653" target = "projectFrame"><b>Session</b></a></td><td>class</td><td>Primary Interface for all editing tasks.<br />The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128133" target = "projectFrame"><b>Session structure</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128517" target = "projectFrame"><b>sessionimpl</b></a></td><td>artifact</td><td>holds the complete session data to be edited by the user</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128005.html#refclass128005" target = "projectFrame"><b>SessionImpl</b></a></td><td>class</td><td>Implementation class for the Session interface</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138885" target = "projectFrame"><b>sessmanager</b></a></td><td>artifact</td><td>global session access and lifecycle</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refclass139781" target = "projectFrame"><b>SessManager</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128005" target = "projectFrame"><b>setup Build Params</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128133" target = "projectFrame"><b>setup StateProxy</b></a></td><td>opaque activity action</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute131205" target = "projectFrame"><b>shortDesc</b></a></td><td>attribute</td><td>user visible Name-ID. To be localized.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact138373" target = "projectFrame"><b>simpleclip</b></a></td><td>artifact</td><td>Elementary clip (single media stream only)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class138885.html#refclass138885" target = "projectFrame"><b>SimpleClip</b></a></td><td>class</td><td>Elementary clip consisting of only one media stream</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128906.html#refclass128906" target = "projectFrame"><b>SmartPointer</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128266" target = "projectFrame"><b>SmartPointers</b></a></td><td>class view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation142469" target = "projectFrame"><b>source</b></a></td><td>relation</td><td>the media source this clip referes to</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation141957" target = "projectFrame"><b>source</b></a></td><td>relation</td><td>media source of this clip</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation141829" target = "projectFrame"><b>source</b></a></td><td>relation</td><td>the media source this clip referes to</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133765.html#refclass133765" target = "projectFrame"><b>Source</b></a></td><td>class</td><td>Source Node: represents a media source to pull data from.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134277" target = "projectFrame"><b>source</b></a></td><td>artifact</td><td>Representation of a Media source</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refdeployment diagram129797" target = "projectFrame"><b>Source Overview</b></a></td><td>deployment diagram</td><td></td></tr>
@ -54,7 +61,9 @@
<tr bgcolor=#f0f0f0><td><a href="class136325.html#refclass136325" target = "projectFrame"><b>std::exception</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136965.html#refclass136965" target = "projectFrame"><b>Struct</b></a></td><td>class</td><td>key abstraction: structural asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136709" target = "projectFrame"><b>struct</b></a></td><td>artifact</td><td>key abstraction: structural asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131205" target = "projectFrame"><b>Struct-Asset Relations</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129157" target = "projectFrame"><b>subject</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation144005" target = "projectFrame"><b>subPattern</b></a></td><td>relation</td><td></td></tr>
</table>
</body>
</html>

View file

@ -35,17 +35,18 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137477" target = "projectFrame"><b>track</b></a></td><td>artifact</td><td>structural asset holding the configuration of a track in the EDL</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128901" target = "projectFrame"><b>track</b></a></td><td>artifact</td><td>descriptor for one track in the Session</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128389.html#refclass128389" target = "projectFrame"><b>Track</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation142341" target = "projectFrame"><b>tracks</b></a></td><td>relation</td><td>elementary media assets comprising this compound</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128645" target = "projectFrame"><b>tracks</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129541" target = "projectFrame"><b>tracks</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131845.html#refclass131845" target = "projectFrame"><b>Trafo</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132485" target = "projectFrame"><b>trafo</b></a></td><td>artifact</td><td>transforming processing Node </td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130565" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130693" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130309" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130437" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130693" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130053" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129925" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130181" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129925" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130053" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129797" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td>This operation is to be overloaded for the specific MObject subclasses to be treated.</td></tr>
</table>
</body>

View file

@ -19,6 +19,7 @@
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class137477.html#refclass137477" target = "projectFrame"><b>Unknown</b></a></td><td>class</td><td>placeholder for unknown or unavailable media source</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137093" target = "projectFrame"><b>unknown</b></a></td><td>artifact</td><td>placeholder for unknown or unavailable media source</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case view128133" target = "projectFrame"><b>usage</b></a></td><td>use case view</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128010" target = "projectFrame"><b>useFile</b></a></td><td>operation</td><td>Announces that the application intends to use this file with mode (READ|WRITE|READWRITE)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128138" target = "projectFrame"><b>useTemporaryStorage</b></a></td><td>operation</td><td>Provides a pool for interminate frames</td></tr>
</table>

View file

@ -20,23 +20,23 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130949" target = "projectFrame"><b>version</b></a></td><td>attribute</td><td>version number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133509.html#refclass133509" target = "projectFrame"><b>VFrame</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134021" target = "projectFrame"><b>vframe</b></a></td><td>artifact</td><td>a buffer and render process holding a Video frame</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133381" target = "projectFrame"><b>vid1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131973" target = "projectFrame"><b>vid1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133381" target = "projectFrame"><b>vid1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129925" target = "projectFrame"><b>vid_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129413" target = "projectFrame"><b>vid_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134021" target = "projectFrame"><b>vid_a</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128645" target = "projectFrame"><b>vid_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129925" target = "projectFrame"><b>vid_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131717" target = "projectFrame"><b>vid_a</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132741" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134533" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128645" target = "projectFrame"><b>vid_A</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133765" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134533" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131077" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132741" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132997" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133637" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129157" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134277" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132997" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130949" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133637" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128517" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130949" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class132997.html#refclass132997" target = "projectFrame"><b>VRender</b></a></td><td>class</td><td>Representation of a Video render process. (Encapsulates the video buffers for the actual calculations)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133509" target = "projectFrame"><b>vrender</b></a></td><td>artifact</td><td>Representation of a Video render process</td></tr>
</table>

View file

@ -19,6 +19,7 @@
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131845" target = "projectFrame"><b>what</b></a></td><td>operation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131717" target = "projectFrame"><b>what</b></a></td><td>operation</td><td>the base class of all exceptions thrown by the standard library</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation144389" target = "projectFrame"><b>wiringTemplate</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130053.html#refclass130053" target = "projectFrame"><b>Wish</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation130058" target = "projectFrame"><b>write_buffer</b></a></td><td>relation</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129162.html#refclass129162" target = "projectFrame"><b>WriteBuffer</b></a></td><td>class</td><td></td></tr>

View file

@ -9,7 +9,7 @@
</head>
<body bgcolor="#ffffff">
<p><hr noshade></p>
<p><a href="index.html" target = "projectFrame"><b> -Top- </b></a><a href="classes.html" target = "projectFrame"><b> -Classes- </b></a><a href="public_operations.html" target = "projectFrame"><b> -Public Operations- </b></a><a href="public_properties.html" target = "projectFrame"><b> -Public properties- </b></a><a href="packages.html" target = "projectFrame"><b> -Packages- </b></a><a href="activities.html" target = "projectFrame"><b> -Activities- </b></a><a href="classdiagrams.html" target = "projectFrame"><b> -Class Diagrams- </b></a><a href="objectdiagrams.html" target = "projectFrame"><b> -Object Diagrams- </b></a><a href="activitydiagrams.html" target = "projectFrame"><b> -Activity Diagrams- </b></a><a href="collaborationdiagrams.html" target = "projectFrame"><b> -Collaboration Diagrams- </b></a><a href="componentdiagrams.html" target = "projectFrame"><b> -Component Diagrams- </b></a><a href="deploymentdiagrams.html" target = "projectFrame"><b> -Deployment Diagrams- </b></a></p>
<p><a href="index.html" target = "projectFrame"><b> -Top- </b></a><a href="classes.html" target = "projectFrame"><b> -Classes- </b></a><a href="public_operations.html" target = "projectFrame"><b> -Public Operations- </b></a><a href="public_properties.html" target = "projectFrame"><b> -Public properties- </b></a><a href="packages.html" target = "projectFrame"><b> -Packages- </b></a><a href="usecases.html" target = "projectFrame"><b> -Use Cases- </b></a><a href="activities.html" target = "projectFrame"><b> -Activities- </b></a><a href="classdiagrams.html" target = "projectFrame"><b> -Class Diagrams- </b></a><a href="objectdiagrams.html" target = "projectFrame"><b> -Object Diagrams- </b></a><a href="activitydiagrams.html" target = "projectFrame"><b> -Activity Diagrams- </b></a><a href="usecasediagrams.html" target = "projectFrame"><b> -Use Case Diagrams- </b></a><a href="collaborationdiagrams.html" target = "projectFrame"><b> -Collaboration Diagrams- </b></a><a href="componentdiagrams.html" target = "projectFrame"><b> -Component Diagrams- </b></a><a href="deploymentdiagrams.html" target = "projectFrame"><b> -Deployment Diagrams- </b></a></p>
<p>
</p>
<p><a href="index_60.html" target = "projectFrame"><b> &lt; </b></a><a href="index_65.html" target = "projectFrame"><b> A </b></a><a href="index_66.html" target = "projectFrame"><b> B </b></a><a href="index_67.html" target = "projectFrame"><b> C </b></a><a href="index_68.html" target = "projectFrame"><b> D </b></a><a href="index_69.html" target = "projectFrame"><b> E </b></a><a href="index_70.html" target = "projectFrame"><b> F </b></a><a href="index_71.html" target = "projectFrame"><b> G </b></a><a href="index_72.html" target = "projectFrame"><b> H </b></a><a href="index_73.html" target = "projectFrame"><b> I </b></a><a href="index_75.html" target = "projectFrame"><b> K </b></a><a href="index_76.html" target = "projectFrame"><b> L </b></a><a href="index_77.html" target = "projectFrame"><b> M </b></a><a href="index_78.html" target = "projectFrame"><b> N </b></a><a href="index_79.html" target = "projectFrame"><b> O </b></a><a href="index_80.html" target = "projectFrame"><b> P </b></a><a href="index_82.html" target = "projectFrame"><b> R </b></a><a href="index_83.html" target = "projectFrame"><b> S </b></a><a href="index_84.html" target = "projectFrame"><b> T </b></a><a href="index_85.html" target = "projectFrame"><b> U </b></a><a href="index_86.html" target = "projectFrame"><b> V </b></a><a href="index_87.html" target = "projectFrame"><b> W </b></a></p>

View file

@ -17,7 +17,7 @@
<table>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130053" target = "projectFrame"><b>asset</b></a></td><td>src</td><td>sourcecode package<br /><br />Asset Management</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128133" target = "projectFrame"><b>AssetManager</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128133" target = "projectFrame"><b>Asset</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129541" target = "projectFrame"><b>backend</b></a></td><td>src</td><td>sourcecode package<br /><br />Data backend classes here...</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129157" target = "projectFrame"><b>BackendLayer</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128901" target = "projectFrame"><b>Builder</b></a></td><td></td><td></td></tr>

View file

@ -21,7 +21,10 @@
<tr bgcolor=#f0f0f0><td><a href="class131077.html#refoperation128901"><b>build</b></a></td><td><a href="class131077.html#refclass131077"><b>Assembler</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130565.html#refoperation128517"><b>buildEngine</b></a></td><td><a href="class130565.html#refclass130565"><b>BuilderFacade</b></a></td><td>Main Operation of the Builder: create a render engine for a given part of the timeline</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130437.html#refoperation128261"><b>buildProcessor</b></a></td><td><a href="class130437.html#refclass130437"><b>PathManager</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation133765"><b>clear</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>clear current session contents <br />without resetting overall session config.<br />Afterwards, the session will contain only one <br />empty EDL, while all Assets are retained.<br /></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130693.html#refoperation128773"><b>configure</b></a></td><td><a href="class130693.html#refclass130693"><b>ToolFactory</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refoperation133253"><b>createClip</b></a></td><td><a href="class136709.html#refclass136709"><b>Media</b></a></td><td>create a (possibly compound) Clip refering to this media, ready to be added to the EDL.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refoperation133509"><b>currEDL</b></a></td><td><a href="class139653.html#refclass139653"><b>Session</b></a></td><td>The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132997"><b>enable</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135429.html#refoperation131589"><b>get</b></a></td><td><a href="class135429.html#refclass135429"><b>Appconfig</b></a></td><td>access the configuation value for a given key.<br />@return empty string for unknown keys, else the corresponding configuration value</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129541.html#refoperation131205"><b>get_repr</b></a></td><td><a href="class129541.html#refclass129541"><b>Allocation</b></a></td><td></td></tr>
@ -29,27 +32,32 @@
<tr bgcolor=#f0f0f0><td><a href="class128261.html#refoperation129157"><b>getAutomation</b></a></td><td><a href="class128261.html#refclass128261"><b>Fixture</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130821.html#refoperation129029"><b>getConnection</b></a></td><td><a href="class130821.html#refclass130821"><b>ConManager</b></a></td><td>TODO</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132229"><b>getDependant</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>All the other assets requiring this asset to be functional. For example, all the clips depending on a given media file. May be empty. The dependency relation is transitive.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refoperation133637"><b>getFixture</b></a></td><td><a href="class139653.html#refclass139653"><b>Session</b></a></td><td>While the session can be comprised of several EDLs, <br />there is only one Fixture, which represents the actual<br />configuration of all Objects to be rendered</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128181.html#refoperation128181"><b>getFrame</b></a></td><td><a href="class128181.html#refclass128181"><b>File</b></a></td><td>mode = READ, WRITE, ...</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation133125"><b>getID</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132101"><b>getParents</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>List of entities this asset depends on or requires to be functional. May be empty. The head of this list can be considered the primary prerequisite</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128261.html#refoperation128645"><b>getPlaylistForRender</b></a></td><td><a href="class128261.html#refclass128261"><b>Fixture</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130949.html#refoperation128389"><b>getStateProxy</b></a></td><td><a href="class130949.html#refclass130949"><b>RenderState</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129925.html#refoperation131077"><b>getValue</b></a></td><td><a href="class129925.html#refclass129925"><b>Auto</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134533.html#refoperation130821"><b>getValue</b></a></td><td><a href="class134533.html#refclass134533"><b>Parameter</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134661.html#refoperation130949"><b>getValue</b></a></td><td><a href="class134661.html#refclass134661"><b>ParamProvider</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refoperation133381"><b>howtoProc</b></a></td><td><a href="class136709.html#refclass136709"><b>Media</b></a></td><td>@return descriptor how to build a render pipeline corresponding to this media</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132869"><b>isActive</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>weather this asset is swithced on and consequently included in the fixture and participates in rendering</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation132613"><b>known</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td>@return true if the given id is registered in the internal asset DB</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation134021"><b>load</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>replace the current session by a new<br />session loaded from serialized state.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131333.html#refoperation129413"><b>play</b></a></td><td><a href="class131333.html#refclass131333"><b>RenderEngine</b></a></td><td>TODO: will probably be handled differently (see Cehteh)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation132357"><b>register</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td>registers an asset object in the internal DB, providing its unique key</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation132741"><b>remove</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td>remove the given asset &lt;i&gt;together with all its dependants&lt;/i&gt; from the internal DB</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation133893"><b>reset</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>reset all session config and <br />start with a pristine default session.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refoperation128005"><b>resolve</b></a></td><td><a href="class128645.html#refclass128645"><b>Placement</b></a></td><td>create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135557.html#refoperation131973"><b>rootCause</b></a></td><td><a href="class135557.html#refclass135557"><b>Error</b></a></td><td>If this exception was caused by a chain of further exceptions,<br />return the first one registered in this throw sequence.<br />This works only, if every exceptions thrown as a consequence<br />of another exception is propperly constructed by passing<br />the original exception to the constructor</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation134149"><b>save</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>create a complete, serialized representation<br />of the current session config and contents.<br />@todo how to serialize, prameters, return value?</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130693"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130565"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130437"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130309"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation129925"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation130053"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation130181"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation129925"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class134149.html#refoperation129797"><b>treat</b></a></td><td><a href="class134149.html#refclass134149"><b>Tool</b></a></td><td>This operation is to be overloaded for the specific MObject subclasses to be treated.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refoperation128010"><b>useFile</b></a></td><td><a href="class129333.html#refclass129333"><b>FileProvider</b></a></td><td>Announces that the application intends to use this file with mode (READ|WRITE|READWRITE)</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refoperation128138"><b>useTemporaryStorage</b></a></td><td><a href="class129333.html#refclass129333"><b>FileProvider</b></a></td><td>Provides a pool for interminate frames</td></tr>

View file

@ -18,9 +18,12 @@
<table>
<tr bgcolor=#f0f0f0><td align=center><b>Property</b></td><td align=center><b>Class</b></td><td align=center><b>Description</b></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refrelation140421"><b>category</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>primary tree like classification of the asset</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refrelation144773"><b>current</b></a></td><td><a href="class139653.html#refclass139653"><b>Session</b></a></td><td>Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refattribute130437"><b>id</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>Asset primary key.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refattribute130565"><b>name</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>element ID, comprehensible but sanitized. The tuple (category, name, org) is unique.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139141.html#refrelation144133"><b>nodes</b></a></td><td><a href="class139141.html#refclass139141"><b>DoAttach</b></a></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refattribute130821"><b>org</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>origin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3".</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139141.html#refattribute131461"><b>point</b></a></td><td><a href="class139141.html#refclass139141"><b>DoAttach</b></a></td><td>identifying the point where the nodes should be attached</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refattribute130949"><b>version</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>version number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions.</td></tr>
</table>
</body>

View file

@ -0,0 +1,22 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Use Case Diagram Index</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Use Case Diagram Index</div>
<p></p>
<!-- ============================================================= -->
<table>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case diagram130821" target = "projectFrame"><b>backend use cases</b></a></td><td></td><td></td></tr>
</table>
</body>
</html>

View file

@ -0,0 +1,25 @@
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Use Cases Index</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Use Cases Index</div>
<p></p>
<!-- ============================================================= -->
<table>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128389" target = "projectFrame"><b>access Channel</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128133" target = "projectFrame"><b>access File</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128261" target = "projectFrame"><b>detect Channels</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128005" target = "projectFrame"><b>load Media</b></a></td><td></td><td></td></tr>
</table>
</body>
</html>

View file

@ -0,0 +1,63 @@
/*
MediaAccessFacade - functions for querying media file and channels.
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
#include "backend/mediaaccessfacade.hpp"
#include "common/util.hpp"
using util::isnil;
using cinelerra::error::Invalid;
namespace backend_interface
{
/** storage for the SingletonFactory
* (actually a cinelerra::test::MockInjector) */
Singleton<MediaAccessFacade> MediaAccessFacade::instance;
typedef MediaAccessFacade::FileHandle FileHandle;
typedef MediaAccessFacade::ChanHandle ChanHandle;
FileHandle
MediaAccessFacade::queryFile (const char* name) throw(Invalid)
{
if (isnil (name))
throw Invalid ("empty filename passed to MediaAccessFacade.");
UNIMPLEMENTED ("delegate to backend: query accessability of file");
return 0;
}
ChanDesc
MediaAccessFacade::queryChannel (FileHandle fhandle, uint chanNo) throw()
{
UNIMPLEMENTED ("delegate to backend: query channel information");
ChanDesc nix;
return nix;
}
} // namespace backend_interface

View file

@ -0,0 +1,112 @@
/*
MEDIAACCESSFACADE.hpp - functions for querying media file and channels.
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef BACKEND_INTERFACE_MEDIAACCESSFACADE_H
#define BACKEND_INTERFACE_MEDIAACCESSFACADE_H
#include "common/singleton.hpp"
#include "common/error.hpp"
namespace backend_interface
{
struct ChanDesc;
/******************************************************************
* Interface to the backend layer:
* provides functions for querying (opening) a media file,
* detecting the channels or streams found within this file etc.
* Implemention delegating to the actual backend functions.
*
* convention: data passed by pointer is owned by the originator;
* it should be copied if needed byond the control flow
* of the invoked function.
*/
struct MediaAccessFacade
{
typedef void* FileHandle;
typedef void* ChanHandle;
static Singleton<MediaAccessFacade> instance;
/** request for testing the denoted files accessability
* @param name path and filename of the media file.
* @throw invalid when passing empty filename
* @return opaque handle usable for querying channel
* information from this file, NULL if the
* file is not acessible.
*/
virtual FileHandle queryFile (const char* name) throw(cinelerra::error::Invalid);
/** request for information about the n-th channel
* of the file refered by FileHandle.
* @return ChanDesc which may contain \c NULL values if
* the file doesn't contain this much channels.
* @todo throw or return NULL-ChanDesc if Filehandle is invalid?
*/
virtual ChanDesc queryChannel (FileHandle, uint chanNo) throw();
virtual ~MediaAccessFacade () {}
};
/**
* Description of one channel found in a
* media file; result of querying the channel.
*/
struct ChanDesc
{
/** identifier which can be used to create a name
* for the media asset corresponding to this channel.
* May be NULL or empty and need not be unique.
*/
const char* chanID;
/** identifier characterizing the access method (or codec)
* needed to get at the media data. This should be rather
* a high level description of the media stream type,
* e.g. "H264" -- anyhow, it will be used to find a
* codec asset for this channel.
*/
const char* codecID;
/** opaque handle, which will be used later to open this
* channel and retrieve some frames from it
*/
MediaAccessFacade::ChanHandle handle;
ChanDesc (const char* chanName=0, const char* codec=0,
MediaAccessFacade::ChanHandle h=0)
: chanID(chanName),
codecID(codec),
handle(h)
{ }
};
} // namespace backend_interface
#endif

View file

@ -25,6 +25,7 @@
#ifndef CINELERRA_MULTITHREAD_H
#define CINELERRA_MULTITHREAD_H
#include "nobugcfg.h"
namespace cinelerra

View file

@ -1,5 +1,5 @@
/*
SINGLETON.hpp - template for implementing the singleton pattern
SINGLETON.hpp - configuration header for singleton factory
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -17,140 +17,36 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
====================================================================
This code is heavily inspired by
The Loki Library (loki-lib/trunk/include/loki/Singleton.h)
Copyright (c) 2001 by Andrei Alexandrescu
This Loki code accompanies the book:
Alexandrescu, Andrei. "Modern C++ Design: Generic Programming
and Design Patterns Applied".
Copyright (c) 2001. Addison-Wesley. ISBN 0201704315
*/
/** @file singleton.hpp
** Factory for creating Singleton instances.
** This configuration header just pulls in some other implementation headers in
** the right order. The basic class template for creating singletons resides in
** singletonfactory.hpp, besides we need policy classes defining how to create
** the singleton objects, how to manage lifecycle and multithreading. Finally,
** we want to preconfigure singleton factories for some important facilities;
** e.g. sometimes we want to include a hook for injecting Test Mock instances.
**
** You'll find the default Policies in singletonfactory.hpp and the default
** definition of type cinelerra::singleton in singletonpreconfigure.hpp
**
** @see SingletonFactory
** @see singleton::StaticCreate
** @see singleton::AutoDestroy
** @see singletontest.hpp
** @see singletontestmocktest.hpp
*/
#ifndef CINELERRA_SINGLETON_H
#define CINELERRA_SINGLETON_H
#include "common/singletonpolicies.hpp" ///< several Policies usable together with singleton
#include "common/util.hpp"
#include "nobugcfg.h"
#include <boost/bind.hpp>
#include "common/singletonpolicies.hpp"
#include "common/singletonfactory.hpp"
#include "common/singletonpreconfigure.hpp"
namespace cinelerra
{
/**
* A configurable Template for implementing Singletons.
* Actually this is a Functor object, which could be placed into a static field
* of the Singleton (target) class or used directly.
* @note internally uses static fields, so all functor instances share pInstance_
*/
template
< class SI, // the class to make Singleton
template <class> class Create = singleton::Static, // how to create/destroy the instance
template <class> class Life = singleton::Automatic, // how to manage Singleton Lifecycle
template <class> class Threading = singleton::IgnoreThreadsafety //TODO use Multithreaded!!!
>
class Singleton
{
typedef typename Threading<SI>::VolatileType SType;
typedef typename Threading<SI>::Lock ThreadLock;
static SType* pInstance_;
static bool isDead_;
public:
/** Interface to be used by Singleton's clients.
* Manages internally the instance creation, lifecycle
* and access handling in a multithreaded context.
* @return "the" single instance of class S
*/
SI& operator() ()
{
if (!pInstance_)
{
ThreadLock guard SIDEEFFECT;
if (!pInstance_)
{
if (isDead_)
{
Life<SI>::onDeadReference();
isDead_ = false;
}
pInstance_ = Create<SI>::create();
Life<SI>::scheduleDelete (&destroy);
} }
ENSURE (pInstance_);
ENSURE (!isDead_);
return *pInstance_;
}
private:
/** @internal helper used to delegate destroying the single instance
* to the Create policy, at the same time allowing the Life policy
* to control the point in the Application lifecycle when the
* destruction of this instance occures.
*/
static void destroy()
{
REQUIRE (!isDead_);
Create<SI>::destroy (pInstance_);
pInstance_ = 0;
isDead_ = true;
}
};
// Storage for Singleton's static fields...
template
< class SI,
template <class> class C,
template <class> class L,
template <class> class T
>
typename Singleton<SI,C,L,T>::SType*
Singleton<SI,C,L,T>::pInstance_;
template
< class SI,
template <class> class C,
template <class> class L,
template <class> class T
>
bool Singleton<SI,C,L,T>::isDead_;
///// TODO: get rid of the static fields?
///// is tricky because of invoking the destructors. If we rely on instance vars,
///// the object may already have been released when the runtime system calls the
///// destructors of static objects at shutdown.
/** @internal used to link together the Create policy and Life policy.
* @return a functor object for invoking this->destroy() */
/* singleton::DelFunc getDeleter()
{
return boost::bind (&Singleton<SI,Create,Life,Threading>::destroy,
this);
}
*/
/* template<class T>
class DelFunc
{
typedef void (T::*Fp)(void);
T* t_;
Fp fun_;
public:
DelFunc (T* t, Fp f) : t_(t), fun_(f) {}
void operator() () { (t_->*fun_)(); }
};
*/
} // namespace cinelerra
#endif

View file

@ -0,0 +1,160 @@
/*
SINGLETONFACTORY.hpp - template for implementing the singleton pattern
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
====================================================================
This code is heavily inspired by
The Loki Library (loki-lib/trunk/include/loki/Singleton.h)
Copyright (c) 2001 by Andrei Alexandrescu
This Loki code accompanies the book:
Alexandrescu, Andrei. "Modern C++ Design: Generic Programming
and Design Patterns Applied".
Copyright (c) 2001. Addison-Wesley. ISBN 0201704315
*/
#ifndef CINELERRA_SINGLETONFACTORY_H
#define CINELERRA_SINGLETONFACTORY_H
#include "common/singletonpolicies.hpp" ///< several Policies usable together with SingletonFactory
#include "common/util.hpp"
#include "nobugcfg.h"
//#include <boost/bind.hpp>
namespace cinelerra
{
/**
* A configurable Template for implementing Singletons.
* Actually this is a Functor object, which could be placed into a static field
* of the Singleton (target) class or used directly.
* @note internally uses static fields, so all functor instances share pInstance_
*/
template
< class SI, // the class to make Singleton
template <class> class Create = singleton::StaticCreate, // how to create/destroy the instance
template <class> class Life = singleton::AutoDestroy, // how to manage Singleton Lifecycle
template <class> class Threading = singleton::IgnoreThreadsafety //TODO use Multithreaded!!!
>
class SingletonFactory
{
typedef typename Threading<SI>::VolatileType SType;
typedef typename Threading<SI>::Lock ThreadLock;
static SType* pInstance_;
static bool isDead_;
public:
/** Interface to be used by SingletonFactory's clients.
* Manages internally the instance creation, lifecycle
* and access handling in a multithreaded context.
* @return "the" single instance of class S
*/
SI& operator() ()
{
if (!pInstance_)
{
ThreadLock guard SIDEEFFECT;
if (!pInstance_)
{
if (isDead_)
{
Life<SI>::onDeadReference();
isDead_ = false;
}
pInstance_ = Create<SI>::create();
Life<SI>::scheduleDelete (&destroy);
} }
ENSURE (pInstance_);
ENSURE (!isDead_);
return *pInstance_;
}
private:
/** @internal helper used to delegate destroying the single instance
* to the Create policy, at the same time allowing the Life policy
* to control the point in the Application lifecycle when the
* destruction of this instance occures.
*/
static void destroy()
{
TRACE (singleton, "Singleton: triggering destruction");
REQUIRE (!isDead_);
Create<SI>::destroy (pInstance_);
pInstance_ = 0;
isDead_ = true;
}
};
// Storage for SingletonFactory's static fields...
template
< class SI,
template <class> class C,
template <class> class L,
template <class> class T
>
typename SingletonFactory<SI,C,L,T>::SType*
SingletonFactory<SI,C,L,T>::pInstance_;
template
< class SI,
template <class> class C,
template <class> class L,
template <class> class T
>
bool SingletonFactory<SI,C,L,T>::isDead_;
///// TODO: get rid of the static fields?
///// is tricky because of invoking the destructors. If we rely on instance vars,
///// the object may already have been released when the runtime system calls the
///// destructors of static objects at shutdown.
///// It seems this would either cost us much of the flexibility or get complicated
///// to a point where we could as well implement our own Depenency Injection Manager.
/** @internal used to link together the Create policy and Life policy.
* @return a functor object for invoking this->destroy() */
/* SingletonFactory::DelFunc getDeleter()
{
return boost::bind (&SingletonFactory<SI,Create,Life,Threading>::destroy,
this);
}
*/
/* template<class T>
class DelFunc
{
typedef void (T::*Fp)(void);
T* t_;
Fp fun_;
public:
DelFunc (T* t, Fp f) : t_(t), fun_(f) {}
void operator() () { (t_->*fun_)(); }
};
*/
} // namespace cinelerra
#endif

View file

@ -50,12 +50,12 @@ namespace cinelerra
* Policy for creating the Singleton instance statically
*/
template<class S>
struct Static
struct StaticCreate
{
static S* create ()
{
#ifdef DEBUG
static uint callCount (0);
static uint callCount = 0;
ASSERT ( 0 == callCount++ );
#endif
static char buff[sizeof(S)];
@ -72,11 +72,13 @@ namespace cinelerra
* Policy for creating the Singleton instance heap allocated
*/
template<class S>
struct Heap
struct HeapCreate
{
static S* create () { return new S; }
static void destroy (S* pS) { delete pS; }
};
@ -87,7 +89,7 @@ namespace cinelerra
* Policy relying on the compiler/runtime system for Singleton Lifecycle
*/
template<class S>
struct Automatic
struct AutoDestroy
{
/** implements the Singleton removal by calling
* the provided deleter function(s) at application shutdown,

View file

@ -0,0 +1,112 @@
/*
SINGLETONPRECONFIGURE - declare the configuration of some Singleton types in advance
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file singletonpreconfigure.hpp
** Preconfiguration of some Singleton types, done by template specialisation.
** Typically the client code just includes singleton.h and uses the Singleton
** type. But in some cases, we want to configure specific (dependency injection)
** behaviour at a central location. At some point, we may well have a full blown
** Dependency Manager, but for the moment using just some specialized Singleton
** type for some instances seems sufficient.
**
** One Reason why one wants special Singleton behaviour is Testing: Without
** altering the executable, for running some Tests we need to inject a Test Mock
** in place of some Service Object, so we can verify the behaviour of the code
** <i>using</i> this Service. For this, we mix cinelerra::test::MockInjector
** into the actual Singleton type.
**
** @note we declare the specialisations into the target namespace
**
** @see SingletonFactory
** @see singletontestmocktest.hpp
*/
#ifndef CINELERRA_SINGLETONPRECONFIGURE_H
#define CINELERRA_SINGLETONPRECONFIGURE_H
#include "common/test/mockinjector.hpp"
namespace cinelerra
{
/**
* Default Singleton configuration
* @note all Policy template parameters taking default values
*/
template <class SI>
class Singleton
: public SingletonFactory<SI>
{ }
;
/* ********************************************************************** */
/* Forward declarations of all Classes we want to specialize the template */
/* ********************************************************************** */
namespace test
{
class TestSingletonO;
using cinelerra::Singleton;
} // namespace test
} // namespace cinelerra
namespace backend_interface
{
class MediaAccessFacade;
using cinelerra::Singleton;
} // namespace backend_interface
/* ************************** */
/* Specialisation Definitions */
/* ************************** */
namespace cinelerra
{
using test::MockInjector;
template<>
class Singleton<test::TestSingletonO>
: public MockInjector<test::TestSingletonO>
{ };
template<>
class Singleton<backend_interface::MediaAccessFacade>
: public MockInjector<backend_interface::MediaAccessFacade>
{ };
} // namespace cinelerra
#endif

View file

@ -0,0 +1,94 @@
/*
MOCKINJECTOR.hpp - replacement singleton factory for injecting Test-Mock objects
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef CINELERRA_TEST_MOCKINJECTOR_H
#define CINELERRA_TEST_MOCKINJECTOR_H
#include "common/singletonfactory.hpp"
#include <boost/scoped_ptr.hpp>
namespace cinelerra
{
namespace test
{
using boost::scoped_ptr;
/**
* Special SingletonFactory allowing to inject some instance of the Singleton
* class, thus shaddowing "the" (default) Singleton instance temporarily.
* This allows installing a Mock Subclass of the Singleton for running tests,
* while the Singleton can be used as usual in production code.
* @note we use the default policies or SingletonFactory
*/
template<class SI>
class MockInjector : public SingletonFactory<SI>
{
scoped_ptr<SI> mock_;
public:
/** Overwriting the normal Singleton creation Interface
* to return some mock if defined, falling back to the
* default Singleton creation behaviour else.
*/
SI& operator() ()
{
if (mock_)
return *mock_;
else
return SingletonFactory<SI>::operator() ();
}
void injectSubclass (SI* mockobj)
{
TRACE_IF (mockobj, singleton, "Singleton: installing Mock object");
TRACE_IF (!mockobj, singleton, "Singleton: removing Mock object");
mock_.reset (mockobj);
}
MockInjector () {};
/** @note MockInjector singleton factory objects can be copied,
* but the copy will start out with clean internal state,
* i.e. exhibiting normal SingletonFactory behaviour
* without mock object.
*/
MockInjector (const MockInjector& other)
: SingletonFactory<SI>(other), mock_(0) { }
MockInjector<SI>& operator= (const MockInjector<SI>& other)
{
return SingletonFactory<SI>::operator= (other);
}
};
} // namespace test
} // namespace cinelerra
#endif

View file

@ -203,7 +203,14 @@ namespace test
std::cout << "TEST \""<<key<<"\" "<<key<<" <<END\n";
Launcher* test = (i->second);
VALID (test, i->first);
(*test)()->run(noCmdline); // run it to insert test generated output
try
{
(*test)()->run(noCmdline); // run it to insert test generated output
}
catch (...)
{
std::cout << "PLANNED ============= " << cinelerra_error() << "\n";
}
std::cout << "END\n";
}
}

View file

@ -33,10 +33,18 @@ namespace cinelerra
/**
* denotes a temporal position (time point), based on timeline start.
*
* investigate posix.4 realtime timers, wrap these here
* @todo currently (9/07) this is a dummy implementation to find out
* what interface the Proc layer needs. Cehteh has already written
* elaborate timehandling functions in the backend and the goal
* is for class Time to be just a thin wrapper!
*/
class Time
{};
{
int dummy;
public:
Time(int dum=0) : dummy(dum) {}
operator int () { return dummy; }
};
} // namespace cinelerra
#endif

View file

@ -24,8 +24,10 @@
#ifndef UTIL_HPP_
#define UTIL_HPP_
#include <set>
#include <string>
#include <cstring>
#include <algorithm>
#include "nobugcfg.h" ///////////////////TODO: just temporarily!!!!
@ -59,7 +61,6 @@ namespace util
return !pContainer || pContainer->empty();
}
template <>
inline bool
isnil (const char* pCStr)
{
@ -83,6 +84,24 @@ namespace util
return map.find(key) != map.end();
}
/** shortcut for set value containment test */
template <typename T>
inline bool
contains (std::set<T>& set, const T& val)
{
return set.end() != set.find (val);
}
/** shortcut for brute-force containment test
* in any sequencial container */
template <typename SEQ>
inline bool
contains (SEQ& cont, typename SEQ::value_type& val)
{
typename SEQ::iterator end = cont.end();
return end != std::find(cont.begin(),end, val);
}
/** shortcut for operating on all elements of a container.
* Isn't this already defined somewhere? It's so obvious..

View file

@ -50,6 +50,7 @@
/* declare flags used throughout the code base... */
NOBUG_DECLARE_FLAG(config);
NOBUG_DECLARE_FLAG(test);
NOBUG_DECLARE_FLAG(singleton);
NOBUG_DECLARE_FLAG(assetmem);
NOBUG_DECLARE_FLAG(mobjectmem);
@ -76,7 +77,8 @@
/* flags used throughout the code base... */
NOBUG_CPP_DEFINE_FLAG(config);
NOBUG_CPP_DEFINE_FLAG(test);
NOBUG_CPP_DEFINE_FLAG_LIMIT(assetmem, LOG_WARNING);
NOBUG_CPP_DEFINE_FLAG_LIMIT(singleton, LOG_WARNING);
NOBUG_CPP_DEFINE_FLAG_LIMIT(assetmem, LOG_WARNING);
NOBUG_CPP_DEFINE_FLAG_LIMIT(mobjectmem, LOG_WARNING);
#include "common/error.hpp"

View file

@ -0,0 +1,35 @@
/*
BuildInstruct - Instructions for building some configuration of render nodes.
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
#include "proc/asset/buildinstruct.hpp"
#include "proc/asset/procpatt.hpp"
#include "proc/asset/proc.hpp"
namespace asset
{
/** */
} // namespace asset

View file

@ -0,0 +1,71 @@
/*
BUILDINSTRUCT.hpp - Instructions for building some configuration of render nodes.
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef ASSET_BUILDINSTRUCT_H
#define ASSET_BUILDINSTRUCT_H
#include <string>
using std::string;
namespace asset
{
class Proc;
class ProcPatt;
/**
* (Interface) building instructions to be executed by the Builder
* on the render node network under construction.
*/
class BuildInstruct
{
};
class DoRecurse : public BuildInstruct
{
protected:
const ProcPatt* subPattern;
};
class DoAttach : public BuildInstruct
{
public:
const Proc* nodes;
/** identifying the point where the nodes should be attached */
const string point;
};
} // namespace asset
#endif

View file

@ -0,0 +1,33 @@
/*
CompoundMedia - multichannel media
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
#include "proc/asset/compoundmedia.hpp"
namespace asset
{
/** */
} // namespace asset

View file

@ -0,0 +1,54 @@
/*
COMPOUNDMEDIA.hpp - multichannel media
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef ASSET_COMPOUNDMEDIA_H
#define ASSET_COMPOUNDMEDIA_H
#include "proc/asset/media.hpp"
#include <vector>
using std::vector;
namespace asset
{
/**
* compound of several elementary media tracks,
* e.g. the individual media streams found in one media file
*/
class CompoundMedia : public Media
{
protected:
/** elementary media assets comprising this compound */
vector<Media *> tracks;
};
} // namespace asset
#endif

View file

@ -86,7 +86,7 @@ namespace asset
DB () : table() {}
~DB () {}
friend class cinelerra::singleton::Static<DB>;
friend class cinelerra::singleton::StaticCreate<DB>;
public:

View file

@ -25,6 +25,7 @@
#include "proc/asset/media.hpp"
#include "proc/asset/clip.hpp"
#include "proc/asset/unknown.hpp"
#include "proc/mobject/session/clip.hpp"
#include "common/util.hpp"
#include "nobugcfg.h"
@ -58,7 +59,34 @@ namespace asset
}
}
typedef shared_ptr<mobject::session::Clip> PClip;
typedef shared_ptr<asset::ProcPatt> PProcPatt;
PClip
Media::createClip ()
{
UNIMPLEMENTED ("create clip from media asset");
PClip clip; //TODO:null
ENSURE (clip);
return clip;
}
PProcPatt
Media::howtoProc ()
{
UNIMPLEMENTED ("calculate and return processing pattern for media asset");
PProcPatt ppatt; //TODO:null
ENSURE (ppatt);
return ppatt;
}
MediaFactory Media::create; ///< storage for the static MediaFactory instance

View file

@ -22,8 +22,8 @@
/** @file media.hpp
** Media data is a specific Kind of Asset.
** For the different <i>Kinds</i> of Assets, we use sub-intefaces inheriting
** Media data is a specific kind of Asset.
** For the different <i>kinds</i> of Assets, we use sub-intefaces inheriting
** from the general Asset interface. To be able to get asset::Media instances
** directly from the AssetManager, we define a specialization of the Asset ID.
**
@ -40,11 +40,15 @@
namespace mobject { namespace session { class Clip; }}
namespace asset
{
class Clip;
class Media;
class MediaFactory;
class ProcPatt;
template<>
@ -73,6 +77,9 @@ namespace asset
return static_cast<const ID<Media>& > (Asset::getID());
}
shared_ptr<mobject::session::Clip> createClip ();
shared_ptr<asset::ProcPatt> howtoProc ();
protected:
Media (const Asset::Ident& idi, const string& file) : Asset(idi), filename_(file) {}
friend class MediaFactory;
@ -89,7 +96,7 @@ namespace asset
/**
* Factory specialized for createing Media Asset objects.
* Factory specialized for creating Media Asset objects.
*/
class MediaFactory : public cinelerra::Factory<asset::Media>
{

View file

@ -0,0 +1,34 @@
/*
ProcPatt - template for building some render processing network
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
#include "proc/asset/procpatt.hpp"
#include "proc/asset/buildinstruct.hpp"
namespace asset
{
/** */
} // namespace asset

View file

@ -0,0 +1,56 @@
/*
PROCPATT.hpp - template for building some render processing network
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef ASSET_PROCPATT_H
#define ASSET_PROCPATT_H
#include "proc/asset/struct.hpp"
#include <vector>
using std::vector;
namespace asset
{
class BuildInstruct;
/**
* special type of structural Asset
* representing information how to build some part
* of the render engine's processing nodes network.
*/
class ProcPatt : public Struct
{
protected:
const vector<BuildInstruct> instructions;
};
} // namespace asset
#endif

View file

@ -108,7 +108,7 @@ namespace asset
AssetManager ();
friend class cinelerra::singleton::Static<AssetManager>;
friend class cinelerra::singleton::StaticCreate<AssetManager>;
private:

View file

@ -25,13 +25,20 @@
#define MOBJECT_MOBJECT_H
#include <list>
#include <tr1/memory>
#include "cinelerra.h"
#include "proc/mobject/buildable.hpp"
#include "proc/asset.hpp" // TODO finally not needed?
using std::list;
using std::tr1::shared_ptr;
#include "proc/assetmanager.hpp"
using proc_interface::IDA; // TODO finally not needed?
using proc_interface::PAsset; //TODO: only temporarily
using proc_interface::AssetManager;
namespace mobject
{
@ -52,10 +59,18 @@ namespace mobject
// TODO: how to represent time intervals best?
Time length;
list<Placement *> placement;
virtual ~MObject() {};
public:
virtual shared_ptr<Placement>& getPlacement () =0;
virtual PAsset getMedia () =0; ///< @todo solve the reference/Interface problem concerning Placements, then push down
virtual Time& getLength() =0; ///< @todo how to deal with the time/length field??
};
typedef shared_ptr<MObject> PMO;

View file

@ -28,6 +28,9 @@ namespace mobject
{
/** factory for creating the corretct Placement subclass */
PlacementFactory Placement::create;
/** create an actual (explicit) placement while trying to
* satisfy the network of adjacent objects and placements.
@ -37,6 +40,18 @@ namespace mobject
Placement::resolve ()
{
}
/** implements the logic for selecting the correct
* Placement subclass.
* @return smart ptr owning the created placement object
*/
PlacementFactory::PType
PlacementFactory::operator() (Placement::Style, Time, PMO subject)
{
UNIMPLEMENTED ("create correct Placement subclass");
}

View file

@ -24,6 +24,8 @@
#ifndef MOBJECT_PLACEMENT_H
#define MOBJECT_PLACEMENT_H
#include "common/time.hpp"
#include "common/factory.hpp"
#include "proc/mobject/mobject.hpp"
#include "proc/mobject/session/track.hpp"
@ -32,7 +34,9 @@ namespace mobject
{
class Placement;
class ExplicitPlacement;
class PlacementFactory;
class Placement
@ -41,14 +45,48 @@ namespace mobject
typedef cinelerra::Time Time;
typedef session::Track Track;
MObject* subject;
public:
MObject* subject;
/**
* styles of placement.
*/
enum Style
{
FIXED,
RELATIVE
};
static PlacementFactory create;
/** resolve the network of placement and
* provide the resulting (explicit) placement.
*/
ExplicitPlacement& resolve () ;
protected:
Placement ();
friend class PlacementFactory;
};
typedef shared_ptr<Placement> PPla;
/**
* Factory specialized for creating Media Asset objects.
*/
class PlacementFactory : public cinelerra::Factory<Placement>
{
public:
typedef shared_ptr<Placement> PType;
typedef cinelerra::Time Time;
PType operator() (Placement::Style, Time, PMO subject);
};

View file

@ -0,0 +1,145 @@
/*
SESSION.hpp - holds the complete session to be edited by the user
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file session.hpp
** Primary Interface to the current Session.
** The Interface Session is abstract and only accessible via the
** static field Session::current, which actually refers to a SessManager
** singleton instance. The latter acts as smart ptr-to-Impl.
**
*/
#ifndef MOBJECT_SESSION_H
#define MOBJECT_SESSION_H
#include "proc/mobject/placement.hpp"
#include "common/singleton.hpp"
#include <boost/utility.hpp>
#include <tr1/memory>
namespace mobject
{
namespace session
{
class SessManager;
class EDL;
class Fixture;
typedef std::tr1::shared_ptr<Fixture> PFix;
}
typedef session::SessManager& PSess; ///< acts as a "PImpl" smart ptr
/**
* The (current) Session holds all the user
* visible content to be edited and manipulated
* within the Cinelerra Application. From a users
* perspective, it is a collection of Media Objects
* (--> MObject) placed (--> Placement) onto virtual
* Tracks.
*
* Opening a Session has effectively global consequences,
* because the Session defines the available Assets, and some
* kinds of Assets define default behaviour. Thus, access to
* the Session is similar to a Singleton instance.
*
* @note Any client should be aware that the Session can be closed,
* replaced and loaded. The only way to accees the Session is
* via a "PImpl" smart pointer session::PSess (which indeed is
* a reference to the SessManager and is accessible as the static
* field Session::current). You will never be able to get a direct
* pointer or reference to the Session object.
*
*/
class Session : private boost::noncopyable
{
protected:
Session () throw();
virtual ~Session () = 0;
public:
static session::SessManager& current;
virtual bool isValid () = 0;
virtual void add (PPla& placement) = 0;
virtual bool remove (PPla& placement) = 0;
/// @deprecated Ichthyo doubts it is good design to hand out the EDL??
virtual session::EDL& currEDL () = 0;
virtual session::PFix& getFixture () = 0;
virtual void rebuildFixture () = 0;
};
namespace session
{
/**
* creation, access and Session lifecycle Interface.
* An instance is accessible via Session::current
*/
class SessManager : private boost::noncopyable
{
public:
/** clear current session contents
* without resetting overall session config.
* Afterwards, the session will contain only one
* empty EDL, while all Assets are retained.
*/
virtual void clear () =0;
/** reset all session config and
* start with a pristine default session.
*/
virtual void reset () =0;
/** replace the current session by a new
* session loaded from serialized state.
*/
virtual void load () =0;
/** create a complete, serialized representation
* of the current session config and contents.
* @todo how to serialize, prameters, return value?
*/
virtual void save () =0;
/** access to the current session object instance.
* This is the sole access path available for clients.
* @note there is no operator*
*/
virtual Session* operator-> () throw() =0;
virtual ~SessManager() {};
};
} // namespace mobject::session
} // namespace mobject
#endif

View file

@ -37,7 +37,19 @@ namespace mobject
class AbstractMO : public MObject
{
////////////// TODO: work out common services to provide!!!!
};
shared_ptr<Placement> placement_;
public:
/* some dummy implementations used to make the code compile... */
virtual shared_ptr<Placement>& getPlacement () { return placement_; }
virtual Time& getLength() { return length; }
virtual PAsset getMedia ()
{
UNIMPLEMENTED ("how to relate MObjects and media assets...");
return AssetManager::instance().getAsset(IDA(0)); // KABOOM! (just to make it compile)
}
};

View file

@ -0,0 +1,38 @@
/*
CompoundClip - compound of several clips (multichannel)
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
#include "proc/mobject/session/compoundclip.hpp"
namespace mobject
{
namespace session
{
/** */
} // namespace mobject::session
} // namespace mobject

View file

@ -1,5 +1,5 @@
/*
SESSION.hpp - holds the complete session to be edited by the user
COMPOUNDCLIP.hpp - compound of several clips (multichannel)
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,37 +21,32 @@
*/
#ifndef MOBJECT_SESSION_SESSION_H
#define MOBJECT_SESSION_SESSION_H
#ifndef MOBJECT_SESSION_COMPOUNDCLIP_H
#define MOBJECT_SESSION_COMPOUNDCLIP_H
#include "proc/mobject/session/clip.hpp"
namespace mobject
{
namespace session
{
class EDL;
class Fixture;
/**
* The (current) Session holds all the user
* visible content to be edited and manipulated
* within the Cinelerra Application. From a users
* perspective, it is a collection of Media Objects
* (--> MObject) placed (--> Placement) onto virtual
* Tracks.
* Clip MObject which is actually a compound of several elementary clips,
* e.g. the several streams found within multichannels media.
*/
class Session
class CompoundClip : public Clip
{
protected:
EDL& edl;
Fixture& fixture;
Clip* components;
};
} // namespace mobject::session
} // namespace mobject

View file

@ -23,6 +23,7 @@
#include "proc/mobject/session/edl.hpp"
#include "proc/mobject/session/track.hpp"
#include "proc/mobject/placement.hpp"
#include "proc/mobject/mobject.hpp"
namespace mobject
@ -30,7 +31,22 @@ namespace mobject
namespace session
{
/** */
/** @deprecated not sure if it is a good idea
* to have this on the interface
*/
bool
EDL::contains (const PPla& placement)
{
UNIMPLEMENTED ("test if a given placement is contained within this EDL");
}
PPla&
EDL::find (const string& id)
{
UNIMPLEMENTED ("serch for a given 'thing' within the EDL");
}

View file

@ -24,26 +24,39 @@
#ifndef MOBJECT_SESSION_EDL_H
#define MOBJECT_SESSION_EDL_H
#include <list>
#include <vector>
#include <string>
#include "proc/mobject/mobject.hpp"
#include "proc/mobject/session/track.hpp"
#include "proc/mobject/placement.hpp"
#include "proc/asset/track.hpp"
using proc_interface::PAsset; // TODO better methot to refer to a track?
using std::list;
using std::vector;
using std::string;
namespace mobject
{
namespace session
{
class EDL
{
protected:
list<Track *> tracks;
list<MObject *> clips;
vector<PAsset> tracks;
vector<MObject *> clips;
public:
bool contains (const PPla& placement);
PPla& find (const string& id); ///< @todo how to refer to clips? using asset IDs??
vector<PAsset>& getTracks () { return tracks; } ///< @todo use track assets correct, make const!
size_t size ()
{
UNIMPLEMENTED ("what ist the 'size' of an EDL?");
return 0;
}
};

View file

@ -1,5 +1,5 @@
/*
Fixture - the (low level) representation of the EDL with concrete placement data
Fixture - the (low level) representation of the EDL with explicit placement data
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -22,6 +22,7 @@
#include "proc/mobject/session/fixture.hpp"
#include "nobugcfg.h"
namespace mobject
{
@ -33,7 +34,7 @@ namespace mobject
list<ExplicitPlacement*> &
Fixture::getPlaylistForRender ()
{
abort();/////////////////////TODO
UNIMPLEMENTED ("get Playlist For Render");
}
@ -43,7 +44,8 @@ namespace mobject
Auto<double>*
Fixture::getAutomation ()
{
return 0;/////////////////////TODO
UNIMPLEMENTED ("getAutomation from Fixture");
return 0;
}

View file

@ -1,5 +1,5 @@
/*
FIXTURE.hpp - the (low level) representation of the EDL with concrete placement data
FIXTURE.hpp - the (low level) representation of the EDL with explicit placement data
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -25,6 +25,7 @@
#define MOBJECT_SESSION_FIXTURE_H
#include <list>
#include <tr1/memory>
#include "proc/mobject/session/edl.hpp"
#include "proc/mobject/session/track.hpp"
@ -33,6 +34,7 @@
using std::list;
using std::tr1::shared_ptr;
@ -52,8 +54,12 @@ namespace mobject
public:
list<ExplicitPlacement*> & getPlaylistForRender () ;
Auto<double>* getAutomation () ; /////TODO: just a placeholder at the moment!!!
Auto<double>* getAutomation () ; ///< @todo: just a placeholder at the moment!!!
};
typedef shared_ptr<Fixture> PFix;

View file

@ -21,19 +21,46 @@
* *****************************************************/
#include "proc/mobject/session/session.hpp"
#include "proc/mobject/session/edl.hpp"
#include "proc/mobject/session/fixture.hpp"
/** @file session.cpp
** Actual connection between the Session interface and its Implementation.
** Holds the storage for the SessionManager implementation (singleton)
**
** @see session::SessionImpl
** @see session::SessionManagerImpl
**
*/
#include "proc/mobject/session.hpp"
#include "proc/mobject/session/sessionimpl.hpp"
#include "common/singleton.hpp"
using cinelerra::Singleton;
using mobject::session::SessManager;
using mobject::session::SessManagerImpl;
namespace mobject
{
namespace session
{
/** */
/** the sole acces point for all client code to the system-wide
* "current session". Implemented as smart pointer to singleton
* implementation object, where the smart pointer is actually
* the SessionManager (which is singleton as well...).
*
* Consequently, if you want to talk to the <i>session manager,</i>
* you use dot-notation, while you access the <i>session object</i>
* via arrow notaion (e.g. \code Session::current->getFixture() )
*/
SessManager& Session::current = Singleton<SessManagerImpl>()();
Session::Session () throw() { }
Session::~Session () { }
} // namespace mobject::session
} // namespace mobject

Some files were not shown because too many files have changed in this diff Show more