WIP maybe nailed down the design problem regarding placements now....

This commit is contained in:
Fischlurch 2007-10-18 17:29:01 +02:00
parent 08f10c2a2e
commit a089e5ff15
44 changed files with 270 additions and 207 deletions

View file

@ -16,13 +16,13 @@
<!-- ============================================================= -->
<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="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="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> </p>
<p>used to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative). <br />Placement at the same time acts as (refcounting) smart pointer for accessing the MObject.<br /></p><p>Artifact : <a href="index.html#refartifact129029"><b>placement</b></a></p><div class="sub">
<a name="refoperation128005"></a>
<table><tr><td><div class="element">Operation <b>resolve</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + resolve() : ExplicitPlacement [ProcessingLayer::MObject]&amp;</li><li>C++ : public: ExplicitPlacement [ProcessingLayer::MObject]&amp; resolve () </li></ul><p>create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.<br /></p><a name="refrelation144901"></a>
<table><tr><td><div class="element">Relation <b>subject (&lt;unidirectional 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><p>Placement acts as smart pointer<br /></p><a name="refoperation134277"></a>
<table><tr><td><div class="element">Operation <b>chain</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + chain(in style : ) : </li><li>C++ : public: chain (const &amp; style) </li></ul><p>create and add another Placement for this media object, thus increasingly constraining the (possible) position of this object.<br /></p><a name="refrelation145413"></a>
<table><tr><td><div class="element">Relation <b>chain (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # chain : <a href="class139909.html#refclass139909"><b>ChainPlacement</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class139909.html#refclass139909"><b>ChainPlacement</b></a>* chain</li></ul><p>Chain of additional Placements further constraining the position of this MObject<br /></p></div>
<table><tr><td><div class="element">Relation <b>chain (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # chain : <a href="class139909.html#refclass139909"><b>LocatingPin</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class139909.html#refclass139909"><b>LocatingPin</b></a>* chain</li></ul><p>Chain of additional Placements further constraining the position of this MObject<br /></p></div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
</body>
</html>

View file

@ -4,20 +4,19 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class FixedPlacement</title>
<title>Class FixedLocation</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class FixedPlacement</div>
<div class = "title">Class FixedLocation</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass129285"></a>
<p>Declaration :</p><ul><li>C++ : class FixedPlacement : 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 FixedLocation : public <a href="class139909.html#refclass139909"><b>LocatingPin</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129797"><b>fixedlocation</b></a></p><div class="sub">
</div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
</body>
</html>

View file

@ -4,19 +4,19 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class RelativePlacement</title>
<title>Class RelativeLocation</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class RelativePlacement</div>
<div class = "title">Class RelativeLocation</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass129413"></a>
<p>Declaration :</p><ul><li>C++ : class RelativePlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129925"><b>relativeplacement</b></a></p><div class="sub">
<p>Declaration :</p><ul><li>C++ : class RelativeLocation : public <a href="class139909.html#refclass139909"><b>LocatingPin</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129925"><b>relativelocation</b></a></p><div class="sub">
<a name="refrelation130565"></a>
<table><tr><td><div class="element">Relation <b>anchor (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # anchor : <a href="class128517.html#refclass128517"><b>MObject</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class128517.html#refclass128517"><b>MObject</b></a>* anchor</li></ul><a name="refattribute128133"></a>
<table><tr><td><div class="element">Attribut <b>relType</b></div></td></tr></table>
@ -24,6 +24,5 @@
<table><tr><td><div class="element">Attribut <b>offset</b></div></td></tr></table>
<p>Declaration :</p><ul><li>Uml : # offset : <a href="class134917.html#refclass134917"><b>Time</b></a></li><li>C++ : protected: <a href="class134917.html#refclass134917"><b>Time</b></a> offset</li></ul><p>Offset the actual position by this (time) value relative to the anchor point. TODO: Representation?<br /></p><table><tr><td><div class="element">Class <b><a href="class133893.html#refclass133893"><b>RelType</b></a></b></div></td></tr></table>
</div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
</body>
</html>

View file

@ -16,12 +16,12 @@
<!-- ============================================================= -->
<a name="refclass129541"></a>
<p>Declaration :</p><ul><li>C++ : class Allocation : public <a href="class128645.html#refclass128645"><b>Placement</b></a> </li></ul><p>Directly inherited by : <a href="class130181.html#refclass130181"><b>Constraint</b></a> <a href="class130053.html#refclass130053"><b>Wish</b></a> </p>
<p>Declaration :</p><ul><li>C++ : class Allocation : public <a href="class139909.html#refclass139909"><b>LocatingPin</b></a> </li></ul><p>Directly inherited by : <a href="class130181.html#refclass130181"><b>Constraint</b></a> <a href="class130053.html#refclass130053"><b>Wish</b></a> </p>
<p>a directive to place a MObject in a specific way<br /></p><p>Artifact : <a href="index.html#refartifact130053"><b>allocation</b></a></p><div class="sub">
<a name="refattribute128773"></a>
<table><tr><td><div class="element">Attribut <b>repr</b></div></td></tr></table>
<p>Declaration :</p><ul><li>Uml : # repr : string</li><li>C++ : protected: string repr</li></ul><p>human readable representation of the condition characterizing this allocaton, e.g. "t &gt;= 10"<br /></p><a name="refoperation131205"></a>
<table><tr><td><div class="element">Operation <b>get_repr</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + get_repr() : string</li><li>C++ : public: inline const string getRepr () const </li></ul></div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
<p>All public operations : <a href="class129541.html#refoperation131205"><b>get_repr</b></a> </p>
</body>
</html>

View file

@ -16,8 +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>FixedPlacement</b></a> </p>
<p>Artifact : <a href="index.html#refartifact129157"><b>explicitplacement</b></a></p><div class="sub">
<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>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>
<p>Declaration :</p><ul><li>Uml : # time : <a href="class134917.html#refclass134917"><b>Time</b></a></li><li>C++ : protected: <a href="class134917.html#refclass134917"><b>Time</b></a> time</li></ul><a name="refattribute128389"></a>

View file

@ -18,6 +18,6 @@
<a name="refclass130053"></a>
<p>Declaration :</p><ul><li>C++ : class Wish : public <a href="class129541.html#refclass129541"><b>Allocation</b></a> </li></ul><div class="sub">
</div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
<p>All public operations : <a href="class129541.html#refoperation131205"><b>get_repr</b></a> </p>
</body>
</html>

View file

@ -18,6 +18,6 @@
<a name="refclass130181"></a>
<p>Declaration :</p><ul><li>C++ : class Constraint : public <a href="class129541.html#refclass129541"><b>Allocation</b></a> </li></ul><div class="sub">
</div>
<p>All public operations : <a href="class128645.html#refoperation134277"><b>chain</b></a> , <a href="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
<p>All public operations : <a href="class129541.html#refoperation131205"><b>get_repr</b></a> </p>
</body>
</html>

View file

@ -16,7 +16,7 @@
<!-- ============================================================= -->
<a name="refclass133893"></a>
<p>Declaration :</p><ul><li>C++ : enum RelType </li><li>Java : public enum RelType </li></ul><p>the possible kinds of RelativePlacements<br /></p><p>nested in <a href="class129413.html#refclass129413"><b>RelativePlacement</b></a></p>
<p>Declaration :</p><ul><li>C++ : enum RelType </li><li>Java : public enum RelType </li></ul><p>the possible kinds of RelativePlacements<br /></p><p>nested in <a href="class129413.html#refclass129413"><b>RelativeLocation</b></a></p>
<div class="sub">
<p>Items :</p><ul>
<li>SAMETIME</li>

View file

@ -4,20 +4,21 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class ChainPlacement</title>
<title>Class LocatingPin</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body bgcolor="#ffffff">
<div class = "title">Class ChainPlacement</div>
<div class = "title">Class LocatingPin</div>
<p></p>
<!-- ============================================================= -->
<a name="refclass139909"></a>
<p>Declaration :</p><ul><li>C++ : class ChainPlacement </li></ul><p>Artifact : <a href="index.html#refartifact139013"><b>chainplacement</b></a></p><div class="sub">
<a name="refrelation145541"></a>
<table><tr><td><div class="element">Relation <b>next (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # next : <a href="class128645.html#refclass128645"><b>Placement</b></a></li><li>C++ : protected: <a href="class128645.html#refclass128645"><b>Placement</b></a>* next</li></ul><p>next additional Placement, if any<br /></p></div>
<p>Declaration :</p><ul><li>C++ : class LocatingPin </li></ul><p>Directly inherited by : <a href="class129541.html#refclass129541"><b>Allocation</b></a> <a href="class129285.html#refclass129285"><b>FixedLocation</b></a> <a href="class129413.html#refclass129413"><b>RelativeLocation</b></a> </p>
<p>An element with value semantics, which actually implements the placement of some MObject by positioning it in some way.<br /></p><p>Artifact : <a href="index.html#refartifact139013"><b>locatingpin</b></a></p><div class="sub">
<a name="refrelation146053"></a>
<table><tr><td><div class="element">Relation <b>next (&lt;unidirectional association&gt;)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # next : <a href="class139909.html#refclass139909"><b>LocatingPin</b></a></li><li>C++ : protected: <a href="class139909.html#refclass139909"><b>LocatingPin</b></a>* next</li></ul><p>next additional LocatingPin, if any<br /></p></div>
</body>
</html>

View file

@ -29,7 +29,6 @@
<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="class139909.html#refclass139909" target = "projectFrame"><b>ChainPlacement</b></a></td><td></td><td></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>
@ -60,7 +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="class129285.html#refclass129285" target = "projectFrame"><b>FixedLocation</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>
@ -74,6 +73,7 @@
<tr bgcolor=#f0f0f0><td><a href="class136069.html#refclass136069" target = "projectFrame"><b>Invalid</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129669.html#refclass129669" target = "projectFrame"><b>Label</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class131973.html#refclass131973" target = "projectFrame"><b>Link</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139909.html#refclass139909" target = "projectFrame"><b>LocatingPin</b></a></td><td></td><td>An element with value semantics, which actually implements the placement of some MObject by positioning it in some way.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128522.html#refclass128522" target = "projectFrame"><b>Lock</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class128650.html#refclass128650" target = "projectFrame"><b>Lock</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class135685.html#refclass135685" target = "projectFrame"><b>Logic</b></a></td><td></td><td></td></tr>
@ -99,7 +99,7 @@
<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="class129413.html#refclass129413" target = "projectFrame"><b>RelativeLocation</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>
<tr bgcolor=#f0f0f0><td><a href="class131333.html#refclass131333" target = "projectFrame"><b>RenderEngine</b></a></td><td></td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class130949.html#refclass130949" target = "projectFrame"><b>RenderState</b></a></td><td></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>

View file

@ -30,7 +30,6 @@
<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="class139909.html#refclass139909" target = "projectFrame"><b>ChainPlacement</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 />
@ -61,7 +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="class129285.html#refclass129285" target = "projectFrame"><b>FixedLocation</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 />
@ -75,6 +74,7 @@
<a href="class136069.html#refclass136069" target = "projectFrame"><b>Invalid</b></a><br />
<a href="class129669.html#refclass129669" target = "projectFrame"><b>Label</b></a><br />
<a href="class131973.html#refclass131973" target = "projectFrame"><b>Link</b></a><br />
<a href="class139909.html#refclass139909" target = "projectFrame"><b>LocatingPin</b></a><br />
<a href="class128522.html#refclass128522" target = "projectFrame"><b>Lock</b></a><br />
<a href="class128650.html#refclass128650" target = "projectFrame"><b>Lock</b></a><br />
<a href="class135685.html#refclass135685" target = "projectFrame"><b>Logic</b></a><br />
@ -100,7 +100,7 @@
<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="class129413.html#refclass129413" target = "projectFrame"><b>RelativeLocation</b></a><br />
<a href="class133893.html#refclass133893" target = "projectFrame"><b>RelType</b></a><br />
<a href="class131333.html#refclass131333" target = "projectFrame"><b>RenderEngine</b></a><br />
<a href="class130949.html#refclass130949" target = "projectFrame"><b>RenderState</b></a><br />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -112,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#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>, <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></p>
<p><i>executable</i> associated with : <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>, <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>fixedlocation</b></a>, <a href="index.html#refartifact129925"><b>relativelocation</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></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>
@ -379,16 +379,17 @@ Documentation</title>
<p>abstract base class of all MObjects representing meta data or processing instructions<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class129157.html#refclass129157"><b>Meta</b></a></p>
<a name="refartifact139013"></a>
<table><tr><td><div class="element">Artifact <b>chainplacement</b></div></td></tr></table>
<p>Chaining and additionally constraining Placements<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139909.html#refclass139909"><b>ChainPlacement</b></a></p>
<table><tr><td><div class="element">Artifact <b>locatingpin</b></div></td></tr></table>
<p>Chaining and constraining the Placement of a Media Object<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class139909.html#refclass139909"><b>LocatingPin</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>FixedPlacement</b></a></p>
<table><tr><td><div class="element">Artifact <b>fixedlocation</b></div></td></tr></table>
<p>implements fixed placement of a MObject<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class129285.html#refclass129285"><b>FixedLocation</b></a></p>
<a name="refartifact129925"></a>
<table><tr><td><div class="element">Artifact <b>relativeplacement</b></div></td></tr></table>
<table><tr><td><div class="element">Artifact <b>relativelocation</b></div></td></tr></table>
<p>Placement implemnetaion providing various ways of attaching a MObject to another one<br /></p>
<p>Artifact <i>source</i> associated with : <a href="class129413.html#refclass129413"><b>RelativePlacement</b></a></p>
<p>Artifact <i>source</i> associated with : <a href="class129413.html#refclass129413"><b>RelativeLocation</b></a></p>
<a name="refartifact130053"></a>
<table><tr><td><div class="element">Artifact <b>allocation</b></div></td></tr></table>
<p>Artifact <i>source</i> associated with : <a href="class129541.html#refclass129541"><b>Allocation</b></a></p>
@ -636,8 +637,8 @@ Documentation</title>
<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>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="class129285.html#refclass129285"><b>FixedLocation</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class129413.html#refclass129413"><b>RelativeLocation</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>
<table><tr><td><div class="element">Class <b><a href="class129925.html#refclass129925"><b>Auto</b></a></b></div></td></tr></table>
@ -646,7 +647,7 @@ Documentation</title>
<table><tr><td><div class="element">Class <b><a href="class134533.html#refclass134533"><b>Parameter</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class134661.html#refclass134661"><b>ParamProvider</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class134789.html#refclass134789"><b>Interpolator</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139909.html#refclass139909"><b>ChainPlacement</b></a></b></div></td></tr></table>
<table><tr><td><div class="element">Class <b><a href="class139909.html#refclass139909"><b>LocatingPin</b></a></b></div></td></tr></table>
</div>
<a name="refpackage128901"></a>
<h3 class ="package">2.2.2 Package Builder</h3>
@ -911,7 +912,7 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
<li><a href="class128517.html#refattribute128517"><b>length</b></a> = 5</li>
<li><a href="class128901.html#refattribute128645"><b>start</b></a> = 100</li>
</ul></p><a name="refclass instance130053"></a>
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class129413.html#refclass129413"><b>RelativePlacement</b></a></p><p>attributes :<ul>
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class129413.html#refclass129413"><b>RelativeLocation</b></a></p><p>attributes :<ul>
<li><a href="class129413.html#refattribute128133"><b>relType</b></a> = SAMETIME</li>
</ul></p><p>relations :<ul>
<li><a href="class129413.html#refrelation130565"><b>anchor</b></a> = <a href="index.html#refclass instance129669"><b>refPoint</b></a></li>
@ -920,7 +921,7 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
<li><a href="class128517.html#refattribute128517"><b>length</b></a> = 3</li>
<li><a href="class129029.html#refattribute128901"><b>plugID</b></a> = "Hue"</li>
</ul></p><a name="refclass instance130309"></a>
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class129413.html#refclass129413"><b>RelativePlacement</b></a></p><p>attributes :<ul>
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class129413.html#refclass129413"><b>RelativeLocation</b></a></p><p>attributes :<ul>
<li><a href="class129413.html#refattribute129029"><b>offset</b></a> = +3</li>
<li><a href="class129413.html#refattribute128133"><b>relType</b></a> = ATTACH</li>
</ul></p><p>relations :<ul>

View file

@ -49,12 +49,12 @@
<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 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 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 instance131205" target = "projectFrame"><b>audio</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#refclass instance128901" 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

@ -34,8 +34,8 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131077" target = "projectFrame"><b>buildable</b></a></td><td>artifact</td><td>marker interface denoting any MObject able to be treated by Tools</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128517" target = "projectFrame"><b>buildEngine</b></a></td><td>operation</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="index.html#refcomponent128005" target = "projectFrame"><b>Builder</b></a></td><td>component</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128901" target = "projectFrame"><b>Builder</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130565" target = "projectFrame"><b>builder</b></a></td><td>package</td><td>sourcecode package<br /><br />The Builder creating the Render Engine,<br />located within the MObject Subsystem</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128901" target = "projectFrame"><b>Builder</b></a></td><td>package</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram129285" target = "projectFrame"><b>Builder Entities</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128261" target = "projectFrame"><b>Builder Workings</b></a></td><td>class view</td><td></td></tr>
<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>

View file

@ -25,30 +25,28 @@
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130309" target = "projectFrame"><b>cause</b></a></td><td>attribute</td><td>a copy of the first exception encountered in this exception chain</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation145413" target = "projectFrame"><b>chain</b></a></td><td>relation</td><td>Chain of additional Placements further constraining the position of this MObject</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation134277" target = "projectFrame"><b>chain</b></a></td><td>operation</td><td>create and add another Placement for this media object, thus increasingly constraining the (possible) position of this object.</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact139013" target = "projectFrame"><b>chainplacement</b></a></td><td>artifact</td><td>Chaining and additionally constraining Placements</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139909.html#refclass139909" target = "projectFrame"><b>ChainPlacement</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129633" target = "projectFrame"><b>checked_in</b></a></td><td>relation</td><td>checked_in objects are subject of cache aging and must be not in use</td></tr>
<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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 instance131589" 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#refartifact136325" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>bookkeeping (asset) view of a media clip.</td></tr>

View file

@ -29,8 +29,8 @@
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refclass129333" target = "projectFrame"><b>FileProvider</b></a></td><td>class</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>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#refartifact129797" target = "projectFrame"><b>fixedlocation</b></a></td><td>artifact</td><td>implements fixed placement of a MObject</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class129285.html#refclass129285" target = "projectFrame"><b>FixedLocation</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="index.html#refcomponent128517" target = "projectFrame"><b>Fixture</b></a></td><td>component</td><td></td></tr>

View file

@ -24,8 +24,8 @@
<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 instance133253" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></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>
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133253" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></td></tr>
</table>
</body>
</html>

View file

@ -20,9 +20,9 @@
<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 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 instance132869" 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#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>

View file

@ -25,6 +25,8 @@
<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="index.html#refartifact139013" target = "projectFrame"><b>locatingpin</b></a></td><td>artifact</td><td>Chaining and constraining the Placement of a Media Object</td></tr>
<tr bgcolor=#f0f0f0><td><a href="class139909.html#refclass139909" target = "projectFrame"><b>LocatingPin</b></a></td><td>class</td><td>An element with value semantics, which actually implements the placement of some MObject by positioning it in some way.</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

@ -32,8 +32,8 @@
<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#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="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="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

@ -18,7 +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#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#refrelation145541" target = "projectFrame"><b>next</b></a></td><td>relation</td><td>next additional Placement, if any</td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation146053" target = "projectFrame"><b>next</b></a></td><td>relation</td><td>next additional LocatingPin, if any</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>

View file

@ -20,8 +20,8 @@
<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 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 instance133125" 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

@ -20,10 +20,10 @@
<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>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>
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129925" target = "projectFrame"><b>relativelocation</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>RelativeLocation</b></a></td><td>class</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="class133893.html#refclass133893" target = "projectFrame"><b>RelType</b></a></td><td>class</td><td>the possible kinds of RelativePlacements</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>
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132741" target = "projectFrame"><b>remove</b></a></td><td>operation</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="index.html#refclass diagram128389" target = "projectFrame"><b>Render Entities</b></a></td><td>class diagram</td><td></td></tr>
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity parameter128005" target = "projectFrame"><b>Render Request</b></a></td><td>activity parameter</td><td></td></tr>

View file

@ -31,8 +31,8 @@
<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#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="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#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="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>
@ -46,8 +46,8 @@
<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#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="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>

View file

@ -42,11 +42,11 @@
<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#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#refoperation130565" 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#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#refoperation130181" 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

@ -22,21 +22,21 @@
<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 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 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 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 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 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 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 instance134533" target = "projectFrame"><b>video</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 instance131077" 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 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 instance134277" 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 instance129157" 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 instance129157" 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 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="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

@ -21,13 +21,36 @@
*/
/** @file placement.hpp
** Placements are at the very core of all editing operations,
** because they act as handles (smart pointers) to access the media objects
** to be manipulated. Moreover, Placements are the actual content of the EDL(s)
** and Fixture and thus are small objects with value semantics. Many editing tasks
** include finding some Placement in the EDL or directly take a ref to some Placement.
**
** Placements are <b>smart pointers</b>: By acting on the Placement object, we can change
** parameters of the way the media object is placed (e.g. adjust an offset), while by
** dereferencing the Placement object, we access the "real" media object (e.g. for trimming).
**
** Placements are templated on the type of the actual MObject they refer to, so, sometimes
** we rather use a Placement<Clip> to be able to use the more specific methods of the
** session::Clip interface. But <i>please note the following detail:</i> this type
** labeling is the <i>only</i> difference between this subclasses, besides that,
** they can be replaced by one another (no slicing).
**
** @see ExplicitPlacement
**
*/
#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/chainplacement.hpp"
#include "proc/mobject/session/locatingpin.hpp"
#include "proc/mobject/session/track.hpp"
@ -38,8 +61,8 @@ namespace mobject
class ExplicitPlacement;
template<class OBJ> /////TODO: unsolved design problem here!
class Placement : public shared_ptr<OBJ>
template<class MO>
class Placement : public shared_ptr<MO>
{
protected:
typedef cinelerra::Time Time;
@ -47,18 +70,41 @@ namespace mobject
public:
ChainPlacement chain;
LocatingPin chain;
/** resolve the network of placement and
* provide the resulting (explicit) placement.
*/
ExplicitPlacement resolve () ;
virtual ExplicitPlacement resolve () ;
protected:
Placement ();
virtual ~Placement() {};
};
/* === defining specialisations to be subclasses === */
namespace session
{
class Clip;
class Effect;
class Meta;
}
template<>
class Placement<session::Clip> : public Placement<MObject>
{
//TODO: overwirte shared_ptr's operator-> to return the correct subtype of MObject...
};
template<>
class Placement<session::Effect> : public Placement<MObject>
{ };
template<>
class Placement<session::Meta> : public Placement<MObject>
{ };

View file

@ -1,5 +1,5 @@
/*
Allocation - directive to place a MObject in a specific way
Allocation - objective to place a MObject in a specific way
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>

View file

@ -1,5 +1,5 @@
/*
ALLOCATION.hpp - directive to place a MObject in a specific way
ALLOCATION.hpp - objective to place a MObject in a specific way
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -26,7 +26,7 @@
#include <string>
#include "proc/mobject/placement.hpp"
#include "proc/mobject/session/locatingpin.hpp"
using std::string;
@ -39,9 +39,10 @@ namespace mobject
/**
* a directive to place a MObject in a specific way
* Interface: any objective, constraint or wish of
* placeing a MObject in a specific way.
*/
class Allocation : public Placement
class Allocation : public LocatingPin
{
protected:
/** human readable representation of the condition

View file

@ -25,6 +25,7 @@
#define MOBJECT_SESSION_CLIP_H
#include "proc/mobject/session/abstractmo.hpp"
#include "proc/mobject/placement.hpp"
@ -55,6 +56,8 @@ namespace mobject
//TODO: where to put the duration ???
};

View file

@ -1,5 +1,5 @@
/*
${Name} - ???????????? needed any longer?
FixedLocation - directly positioning a MObject to a fixed location
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,7 +21,7 @@
* *****************************************************/
#include "proc/mobject/session/fixedplacement.hpp"
#include "proc/mobject/session/fixedlocation.hpp"
namespace mobject
{

View file

@ -1,5 +1,5 @@
/*
FIXEDPLACEMENT.hpp - TODO: didn't we plan to rename ExplicitPlacement to DirectPlacement??
FIXEDLOCATION.hpp - directly positioning a MObject to a fixed location
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,11 +21,10 @@
*/
#ifndef MOBJECT_SESSION_FIXEDPLACEMENT_H
#define MOBJECT_SESSION_FIXEDPLACEMENT_H
#ifndef MOBJECT_SESSION_FIXEDLOCATION_H
#define MOBJECT_SESSION_FIXEDLOCATION_H
#include "proc/mobject/placement.hpp"
#include "proc/mobject/explicitplacement.hpp"
#include "proc/mobject/session/locatingpin.hpp"
@ -34,9 +33,11 @@ namespace mobject
namespace session
{
// TODO: didn't we plan to rename ExplicitPlacement to DirectPlacement??
class DirectPlacement : public ExplicitPlacement
/**
* The most common case of positioning a MObject
* in the EDL: directly specifying a constant position.
*/
class FixedLocation : public LocatingPing
{
///////////
};

View file

@ -1,5 +1,5 @@
/*
ChainPlacement - Chaining and additionally constraining Placements
LocatingPin - Chaining and constraining the Placement of a Media Object
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,7 +21,7 @@
* *****************************************************/
#include "proc/mobject/session/chainplacement.hpp"
#include "proc/mobject/session/locatingpin.hpp"
#include "proc/mobject/placement.hpp"
namespace mobject

View file

@ -1,5 +1,5 @@
/*
CHAINPLACEMENT.hpp - Chaining and additionally constraining Placements
LOCATINGPIN.hpp - Chaining and constraining the Placement of a Media Object
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,8 +21,8 @@
*/
#ifndef MOBJECT_SESSION_CHAINPLACEMENT_H
#define MOBJECT_SESSION_CHAINPLACEMENT_H
#ifndef MOBJECT_SESSION_LOCATINGPIN_H
#define MOBJECT_SESSION_LOCATINGPIN_H
@ -37,12 +37,11 @@ namespace mobject
class RelativePlacement;
template<class MO>
struct ChainPlacement
struct LocatingPin
{
protected:
/** next additional Placement, if any */
Placement<MO> * next;
/** next additional Pin, if any */
LocatingPin * next;
public:
FixedPlacement& operator() (Time);

View file

@ -1,5 +1,5 @@
/*
RELATIVEPLACEMENT.hpp - Placement implemnetaion providing various ways of attaching a MObject to another one
RELATIVELOCATION.hpp - Placement implementation attaching MObjects relative to another one
Copyright (C) CinelerraCV
2007, Christian Thaeter <ct@pipapo.org>
@ -21,10 +21,10 @@
*/
#ifndef MOBJECT_SESSION_RELATIVEPLACEMENT_H
#define MOBJECT_SESSION_RELATIVEPLACEMENT_H
#ifndef MOBJECT_SESSION_RELATIVELOCATION_H
#define MOBJECT_SESSION_RELATIVELOCATION_H
#include "proc/mobject/placement.hpp"
#include "proc/mobject/session/locatingpin.hpp"
@ -36,7 +36,7 @@ namespace mobject
class RelativePlacement : public Placement
class RelativeLocation : public LocatingPin
{
public:

View file

@ -22,7 +22,7 @@ classcanvas 129413 class_ref 128517 // MObject
end
classcanvas 129669 class_ref 128645 // Placement
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 539 121 2000
xyz 634 120 2000
end
classcanvas 129925 class_ref 128389 // Track
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
@ -44,17 +44,17 @@ classcanvas 131973 class_ref 129157 // Meta
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 389 368 2000
end
classcanvas 132229 class_ref 129285 // FixedPlacement
classcanvas 132229 class_ref 129285 // FixedLocation
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 678 374 2005
xyz 608 332 2005
end
classcanvas 132869 class_ref 129413 // RelativePlacement
classcanvas 132869 class_ref 129413 // RelativeLocation
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 477 342 2000
xyz 491 332 2000
end
classcanvas 134149 class_ref 129541 // Allocation
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 592 342 2000
xyz 568 427 2000
end
classcanvas 134405 class_ref 129669 // Label
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
@ -62,7 +62,7 @@ classcanvas 134405 class_ref 129669 // Label
end
classcanvas 135429 class_ref 129797 // ExplicitPlacement
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 673 258 2004
xyz 715 276 2004
end
classcanvas 135813 class_ref 129797 // ExplicitPlacement
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
@ -80,11 +80,11 @@ textcanvas 137093 "Fixture is the actual assembly of various Media Objects ready
xyzwh 39 909 2000 147 108
classcanvas 137221 class_ref 130053 // Wish
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 573 485 2000
xyz 561 532 2000
end
classcanvas 137349 class_ref 130181 // Constraint
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 623 485 2000
xyz 616 532 2000
end
classcanvas 138629 class_ref 135173 // Segment
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
@ -102,9 +102,9 @@ classcanvas 139653 class_ref 139781 // SessManager
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 101 301 2000
end
classcanvas 141317 class_ref 139909 // ChainPlacement
classcanvas 141317 class_ref 139909 // LocatingPin
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
xyz 677 148 2000
xyz 518 239 2000
end
relationcanvas 128389 relation_ref 128005 // <directional aggregation by value>
from ref 128005 z 1999 to ref 128133
@ -157,27 +157,19 @@ relationcanvas 132101 relation_ref 129669 // <generalisation>
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 132997 relation_ref 129925 // <unidirectional association>
from ref 132869 z 1999 to point 529 240
line 133893 z 1999 to ref 129413
role_a_pos 413 204 3000 no_role_b
multiplicity_a_pos 401 197 3000 multiplicity_b_pos 515 317 3000
from ref 132869 z 1999 to point 455 329
line 133893 z 1999 to point 430 252
line 144389 z 1999 to ref 129413
role_a_pos 417 223 3000 no_role_b
multiplicity_a_pos 406 208 3000 multiplicity_b_pos 474 359 3000
relationcanvas 134533 relation_ref 130309 // <generalisation>
from ref 134405 z 1999 to ref 131973
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 135173 relation_ref 130565 // <generalisation>
from ref 134149 z 1999 to point 576 266
line 142853 z 1999 to ref 129669
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 135301 relation_ref 130693 // <generalisation>
from ref 132869 z 1999 to ref 129669
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 135685 relation_ref 130949 // <generalisation>
geometry VHV
from ref 135429 z 1999 to point 724 236
line 141445 z 1999 to point 576 236
from ref 135429 z 1999 to point 766 245
line 141445 z 1999 to point 671 245
line 141573 z 1999 to ref 129669
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
@ -226,20 +218,37 @@ relationcanvas 139781 relation_ref 142853 // <unidirectional association>
multiplicity_a_pos 126 426 3000 no_multiplicity_b
relationcanvas 140165 relation_ref 142981 // <unidirectional association>
from ref 129669 z 1999 to ref 129413
role_a_pos 401 145 3000 no_role_b
multiplicity_a_pos 401 178 3000 multiplicity_b_pos 512 178 3000
relationcanvas 140293 relation_ref 143109 // <generalisation>
from ref 132229 z 1999 to ref 135429
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
role_a_pos 413 151 3000 no_role_b
multiplicity_a_pos 403 151 3000 multiplicity_b_pos 589 153 3000
relationcanvas 142213 relation_ref 143237 // <unidirectional association>
from ref 129669 z 1999 to ref 141317
role_a_pos 640 145 3000 no_role_b
multiplicity_a_pos 664 171 3000 no_multiplicity_b
relationcanvas 142341 relation_ref 143365 // <unidirectional association>
from ref 141317 z 1999 to point 724 207
line 142597 z 1999 to point 637 207
line 142725 z 1999 to ref 129669
role_a_pos 640 191 3000 no_role_b
role_a_pos 578 200 3000 no_role_b
multiplicity_a_pos 599 233 3000 no_multiplicity_b
relationcanvas 142981 relation_ref 143493 // <generalisation>
geometry VHV
from ref 132869 z 1999 to point 539 304
line 143493 z 1999 to point 554 304
line 143621 z 1999 to ref 141317
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 143109 relation_ref 143621 // <generalisation>
geometry VHV
from ref 132229 z 1999 to point 650 304
line 143749 z 1999 to point 554 304
line 143877 z 1999 to ref 141317
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 143237 relation_ref 143749 // <generalisation>
geometry VHV unfixed
from ref 134149 z 1999 to point 599 304
line 144005 z 1999 to point 554 304
line 144133 z 1999 to ref 141317
no_role_a no_role_b
no_multiplicity_a no_multiplicity_b
relationcanvas 144517 relation_ref 143877 // <unidirectional association>
from ref 141317 z 1999 to point 488 239
line 144645 z 1999 to point 488 269
line 144773 z 1999 to ref 141317
role_a_pos 492 244 3000 no_role_b
no_multiplicity_a no_multiplicity_b
end

View file

@ -1,6 +1,6 @@
format 40
"MObject" // ProcessingLayer::MObject
revision 24
revision 26
modified_by 5 "hiv"
// class settings
//class diagram settings
@ -485,7 +485,7 @@ ${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${static
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 145413 // chain (<unidirectional association>)
b multiplicity "" parent class_ref 139909 // ChainPlacement
b multiplicity "" parent class_ref 139909 // LocatingPin
end
end
@ -701,7 +701,7 @@ ${inlines}
end
end
class 129285 "FixedPlacement"
class 129285 "FixedLocation"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
@ -712,16 +712,16 @@ ${inlines}
idl_decl ""
explicit_switch_type ""
classrelation 145285 // <generalisation>
relation 143109 ---|>
classrelation 145797 // <generalisation>
relation 143621 ---|>
a public
cpp default "${type}"
classrelation_ref 145285 // <generalisation>
b multiplicity "" parent class_ref 129797 // ExplicitPlacement
classrelation_ref 145797 // <generalisation>
b multiplicity "" parent class_ref 139909 // LocatingPin
end
end
class 129413 "RelativePlacement"
class 129413 "RelativeLocation"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
@ -751,14 +751,6 @@ ${inlines}
comment "the kind of relation denoted by this Placement"
end
classrelation 131333 // <generalisation>
relation 130693 ---|>
a public
cpp default "${type}"
classrelation_ref 131333 // <generalisation>
b multiplicity "" parent class_ref 128645 // Placement
end
attribute 129029 "offset"
protected type class_ref 134917 // Time
init_value "0"
@ -802,6 +794,14 @@ ${items}};
comment "attach subject to anchor (e.g. an effect to a clip)"
end
end
classrelation 145669 // <generalisation>
relation 143493 ---|>
a public
cpp default "${type}"
classrelation_ref 145669 // <generalisation>
b multiplicity "" parent class_ref 139909 // LocatingPin
end
end
class 129541 "Allocation"
@ -816,14 +816,6 @@ ${inlines}
explicit_switch_type ""
comment "a directive to place a MObject in a specific way"
classrelation 131205 // <generalisation>
relation 130565 ---|>
a public
cpp default "${type}"
classrelation_ref 131205 // <generalisation>
b multiplicity "" parent class_ref 128645 // Placement
end
attribute 128773 "repr"
protected explicit_type "string"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
@ -851,6 +843,14 @@ ${inlines}
idl_name_spec "get_${name}"
get_of_attribute attribute_ref 128773 // repr
end
classrelation 145925 // <generalisation>
relation 143749 ---|>
a public
cpp default "${type}"
classrelation_ref 145925 // <generalisation>
b multiplicity "" parent class_ref 139909 // LocatingPin
end
end
class 129669 "Label"
@ -1080,7 +1080,7 @@ ${inlines}
comment "Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter"
end
class 139909 "ChainPlacement"
class 139909 "LocatingPin"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
@ -1091,14 +1091,15 @@ ${inlines}
idl_decl ""
explicit_switch_type ""
classrelation 145541 // next (<unidirectional association>)
relation 143365 --->
comment "An element with value semantics, which actually implements the placement of some MObject by positioning it in some way."
classrelation 146053 // next (<unidirectional association>)
relation 143877 --->
a role_name "next" multiplicity "" protected
comment "next additional Placement, if any"
comment "next additional LocatingPin, if any"
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 145541 // next (<unidirectional association>)
b multiplicity "" parent class_ref 128645 // Placement
classrelation_ref 146053 // next (<unidirectional association>)
b multiplicity "" parent class_ref 139909 // LocatingPin
end
end
end

View file

@ -1,6 +1,6 @@
format 40
"ProcessingLayer" // ProcessingLayer
revision 4
revision 5
modified_by 5 "hiv"
// class settings
//class diagram settings
@ -226,7 +226,7 @@ format 40
end
classinstance 130053 ""
type class_ref 129413 // RelativePlacement
type class_ref 129413 // RelativeLocation
attributes
attribute_ref 128133 // relType
"SAMETIME"
@ -250,7 +250,7 @@ format 40
end
classinstance 130309 ""
type class_ref 129413 // RelativePlacement
type class_ref 129413 // RelativeLocation
attributes
attribute_ref 129029 // offset
"+3"

View file

@ -1,6 +1,6 @@
format 40
"session" // design::codegen::proc::mobject::session
revision 10
revision 11
modified_by 5 "hiv"
// class settings
//class diagram settings
@ -511,7 +511,7 @@ ${namespace_end}"
comment "abstract base class of all MObjects representing meta data or processing instructions"
end
artifact 139013 "chainplacement"
artifact 139013 "locatingpin"
stereotype "source"
cpp_h "/*
${NAME}.hpp - ${description}
@ -545,12 +545,12 @@ ${namespace_start}
${members}
${namespace_end}"
associated_classes
class_ref 139909 // ChainPlacement
class_ref 139909 // LocatingPin
end
comment "Chaining and additionally constraining Placements"
comment "Chaining and constraining the Placement of a Media Object"
end
artifact 129797 "fixedplacement"
artifact 129797 "fixedlocation"
stereotype "source"
cpp_h "/*
${NAME}.hpp - ${description}
@ -584,11 +584,12 @@ ${namespace_start}
${members}
${namespace_end}"
associated_classes
class_ref 129285 // FixedPlacement
class_ref 129285 // FixedLocation
end
comment "implements fixed placement of a MObject"
end
artifact 129925 "relativeplacement"
artifact 129925 "relativelocation"
stereotype "source"
cpp_h "/*
${NAME}.hpp - ${description}
@ -622,7 +623,7 @@ ${namespace_start}
${members}
${namespace_end}"
associated_classes
class_ref 129413 // RelativePlacement
class_ref 129413 // RelativeLocation
end
comment "Placement implemnetaion providing various ways of attaching a MObject to another one"
end

View file

@ -4,21 +4,17 @@ diagrams
860 633 100 4 0 0
active classdiagram_ref 128133 // Session structure
860 633 100 4 0 0
classdiagram_ref 130437 // Media-Asset Relations
860 633 100 4 0 0
classdiagram_ref 128389 // Render Entities
688 506 100 4 120 0
end
show_stereotypes
selected class_ref 129285 // FixedPlacement
selected
package_ref 129 // cinelerra3
open
deploymentview_ref 128133 // EXE Deployment
deploymentview_ref 128773 // gen
deploymentview_ref 128901 // gen
classview_ref 128901 // Assets
class_ref 128517 // MObject
class_ref 128645 // Placement
class_ref 129413 // RelativePlacement
class_ref 129413 // RelativeLocation
class_ref 129541 // Allocation
class_ref 139909 // LocatingPin
classview_ref 129029 // Interface
usecaseview_ref 128133 // usage
end

View file

@ -1,6 +1,6 @@
format 40
"cinelerra3"
revision 33
revision 35
modified_by 5 "hiv"
cpp_root_dir "../../src/"

View file

@ -1359,6 +1359,12 @@ From experiences with other middle scale projects, I prefer having the test code
{{red{how to create a test stub for this interface...?}}}</pre>
</div>
<div title="LocationPin" modifier="Ichthyostega" created="200710181527" changecount="1">
<pre>Used to actually implement the various kinds of [[Placement]] of ~MObjects. ~LocationPin is the root of a hierarchy of different kinds of placing, constraining and locating a Media Object. Basically, this is an instance of the ''state pattern'': The user sees one Placement object with value semantics, but when the properties of the Placement are changed, actually a ~LocationPin object (or rather a chain of ~LocationPins) is changed within the Placement. Subclasses of ~LocationPin implement different placing/constraining behaviour:
* {{{FixedLocation}}} places a MObject to a fixed temporal position and track
* {{{RelativeLocation}}} is used to atach the MObject to some other anchor MObject
* //additional constraints, placement objectives, range restrictions, pattern rules will follow...//</pre>
</div>
<div title="MObject" modifier="Ichthyostega" modified="200710092343" created="200706220312" tags="def classes" changecount="2">
<pre>All sorts of &quot;things&quot; to be placed and manipulated by the user in the EDL. This interface abstracts the details and just supposes
* the media object has a duration
@ -2079,19 +2085,20 @@ DAMAGE.
The fact of being placed in the [[Session|SessionOverview]]/[[EDL]]is constitutive for all sorts of [[MObject]]s, without Placement they make no sense. Thus &amp;mdash; technically &amp;mdash; Placements act as ''smart pointers''. Of course, there are several kinds of Placements and they are templated on the type of MObject they are refering to. Placements can be //aggregated// to increasingly constrain the resulting &quot;location&quot; of the refered ~MObject. See &amp;rarr; [[handling of Placements|PlacementHandling]] for more details</pre>
</div>
<div title="PlacementHandling" modifier="Ichthyostega" modified="200710130309" created="200710100124" tags="design" changecount="4">
<pre>[[Placement]]s are at the very core of all [[editing operations|EditingOperations]], because they act as handles (smart pointers) to access the [[media objects|MObject]] to be manipulated. Moreover, Placements are the actual content of the EDL(s) and Fixture and thus are small objects with //value semantics//. Many editing tasks include finding some Placement in the EDL or directly take a ref to some Placement. By acting on the Placement object, we can in some cases change parameters of the way the media object is placed (e.g. adjust an offset), while by dereferencing the Placement object, we access the &quot;real&quot; media object (e.g. for trimming its length).
<div title="PlacementHandling" modifier="Ichthyostega" modified="200710181509" created="200710100124" tags="design" changecount="9">
<pre>[[Placement]]s are at the very core of all [[editing operations|EditingOperations]], because they act as handles (smart pointers) to access the [[media objects|MObject]] to be manipulated. Moreover, Placements are the actual content of the EDL(s) and Fixture and thus are small objects with //value semantics//. Many editing tasks include finding some Placement in the EDL or directly take a ref to some Placement. By acting on the Placement object, we can in some cases change parameters of the way the media object is placed (e.g. adjust an offset), while by dereferencing the Placement object, we access the &quot;real&quot; media object (e.g. for trimming its length). Placements are ''templated'' on the type of the actual ~MObject they refer to, thus defining the interface/methods usable on this object.
Placements are ''templated'' on the type of the actual ~MObject they refer to, thus defining the interface/methods usable on this object. Each Placement has a ''kind'', which determines its actual placing and locating behaviour, but besides that, we don't stress the identity of a placement object (~MObjects on the other hand //do have// a distinguishable identity): initially, you create a Placement of some specific kind (fixed, relative,...), but later on, you treat the placement polymorphically and don't care about its kind. The sole purpose of the placement's kind is to select some virtual function implementing the desired behaviour.
Actually, the way each Placement locates its subject is implemented by one or several small LocationPin objects, where subclasses of LocationPin implement the various differend methods of placing and resolving the final location. Notably, we can give a ~FixedLocation or we can atach to another ~MObject to get a ~RelativeLocation, etc.
There is no limitation to one single Placement per ~MObject, indeed we can ''aggregate'' several Placements, resulting in their properties and constraints being combined to yield the actual position of the ~MObject refered by those Placements.
Placements have //value semantics,// i.e. we don't stress the identity of a placement object (~MObjects on the other hand //do have// a distinguishable identity): initially, you create a Placement parametrized to some specific kind (fixed, relative,...), but later on, you treat the placement polymorphically and don't care about its kind. The sole purpose of the placement's kind is to select some virtual function implementing the desired behaviour. There is no limitation to one single Placement per ~MObject, indeed we have several different Placements of the same MObject (from a users point of view, this behaves like having clones). Besides, we can ''aggregate'' additional [[LocationPin]]a to one Placements, resulting in their properties and constraints being combined to yield the actual position of the referred ~MObject.
!design decisions
* Placements can be aggregated in a sort of chain.
* the actual way of placing is implemented similar to the ''State Pattern'' by small embedded LoctionPin objects.
* these LocationPin objects form a ''decorator'' like chain
* resolving into an ExplicitPlacement traverses this chain
* //overconstraining// a placement is not an error, we just stop traversing the chain (ignoring the remaining additionla Placements) at the moment the position is completely defined.
* {{red{question...}}} how to implement this? externally, decorator-style or using the State pattern?
* {{red{problem...}}} how to get at the individual MObject sub-Interfaces. Why is this a Problem?
* //overconstraining// a placement is not an error, we just stop traversing the chain (ignoring the remaining additional Placements) at the moment the position is completely defined.
* we provide subclasses to be able to form collections of e.g. {{{Placement&lt;Effect&gt;}}}, but we don't stress polymorphism here. Instead we stick to value semantics and explicitly ''allow slicing'' (all subclasses have the same size and layout and differ only in their vtable contents). This is justified, because for the polymorphical treating of ~MObjects the visitor mechanism used by the builder and the EDL is sufficiant, and I don't want to add another layer of complexity by making Placement something like {{{boost::variant}}}.
* Why is the question how to access a ~MObject subinterface a Problem?
*# we want the EDL/Fixture to be a collection of Placements. This means, either we store pointers, or Placement needs to be //one// unique type!
*# but if Placement is //a single type//, then we can get only MObjects from a Placement.
*# then either we had to do everything by a visitor (which gets the concrete subtype dynamically), or we'd end up switching on type.