WIP trying to get the Placement stuff right,
but seemingly still having some design mismatch...
This commit is contained in:
parent
fc1c39dc44
commit
08f10c2a2e
34 changed files with 325 additions and 122 deletions
|
|
@ -16,11 +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="class129285.html#refclass129285"><b>FixedPlacement</b></a> <a href="class129413.html#refclass129413"><b>RelativePlacement</b></a> </p>
|
||||
<p>Artifact : <a href="index.html#refartifact129029"><b>placement</b></a></p><div class="sub">
|
||||
<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>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]&</li><li>C++ : public: ExplicitPlacement [ProcessingLayer::MObject]& 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 (<unidirectional association>)</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></div>
|
||||
<p>All public operations : <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<table><tr><td><div class="element">Relation <b>subject (<unidirectional association>)</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 & 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 (<unidirectional association>)</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>
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass129285"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class FixedPlacement : public <a href="class128645.html#refclass128645"><b>Placement</b></a>, public <a href="class129797.html#refclass129797"><b>ExplicitPlacement</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact129797"><b>fixedplacement</b></a></p><div class="sub">
|
||||
<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">
|
||||
</div>
|
||||
<p>All public operations : <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
<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#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,6 @@
|
|||
<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 >= 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="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
<table><tr><td><div class="element">Attribut <b>track</b></div></td></tr></table>
|
||||
<p>Declaration :</p><ul><li>Uml : # track : Track [ProcessingLayer::MObject] *</li><li>C++ : protected: Track [ProcessingLayer::MObject] * track</li></ul><a name="refrelation131845"></a>
|
||||
<table><tr><td><div class="element">Relation <b><unidirectional association></b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # : <a href="class128389.html#refclass128389"><b>Track</b></a></li><li>C++ : protected: <a href="class128389.html#refclass128389"><b>Track</b></a>* </li></ul></div>
|
||||
<p>All public operations : <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -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="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -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="class129541.html#refoperation131205"><b>get_repr</b></a> , <a href="class128645.html#refoperation128005"><b>resolve</b></a> </p>
|
||||
<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>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
23
doc/devel/uml/class139909.html
Normal file
23
doc/devel/uml/class139909.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class ChainPlacement</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class ChainPlacement</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 (<unidirectional association>)</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>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -29,6 +29,7 @@
|
|||
<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>
|
||||
|
|
@ -89,7 +90,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class134533.html#refclass134533" target = "projectFrame"><b>Parameter</b></a></td><td></td><td>Descriptor and access object for a plugin parameter. Parameters may be provided with values from the session, and this values may be automated.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134661.html#refclass134661" target = "projectFrame"><b>ParamProvider</b></a></td><td>interface</td><td>A facility to get the actual value of a plugin/effect parameter</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130437.html#refclass130437" target = "projectFrame"><b>PathManager</b></a></td><td></td><td>While building a render engine, this Strategy class decides on the actual render strategy in accordance to the current controller settings (system state)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refclass128645" target = "projectFrame"><b>Placement</b></a></td><td>interface</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refclass128645" target = "projectFrame"><b>Placement</b></a></td><td>interface</td><td>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.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132485.html#refclass132485" target = "projectFrame"><b>PluginAdapter</b></a></td><td></td><td>Adapter used to integrage an effects processor in the render pipeline</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129077.html#refclass129077" target = "projectFrame"><b>Prefetch</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137605.html#refclass137605" target = "projectFrame"><b>Preview</b></a></td><td></td><td>alternative version of the media data, probably with lower resolution</td></tr>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<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 />
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 62 KiB |
|
|
@ -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#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>, <a href="index.html#refartifact134533"><b>paramprovider</b></a>, <a href="index.html#refartifact132997"><b>mask</b></a></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>
|
||||
<a name="refartifact128133"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>main</b></div></td></tr></table>
|
||||
<p>Artifact <i>source</i></p>
|
||||
|
|
@ -378,6 +378,10 @@ Documentation</title>
|
|||
<table><tr><td><div class="element">Artifact <b>meta</b></div></td></tr></table>
|
||||
<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>
|
||||
<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>
|
||||
|
|
@ -642,6 +646,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>
|
||||
</div>
|
||||
<a name="refpackage128901"></a>
|
||||
<h3 class ="package">2.2.2 Package Builder</h3>
|
||||
|
|
|
|||
|
|
@ -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#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#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#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>
|
||||
|
|
|
|||
|
|
@ -23,32 +23,36 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class137221.html#refclass137221" target = "projectFrame"><b>Category</b></a></td><td>class</td><td>tree like classification of Assets</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact135941" target = "projectFrame"><b>category</b></a></td><td>artifact</td><td>tree like classification of Assets</td></tr>
|
||||
<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 instance129541" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129797" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130053" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130181" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130309" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129029" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130437" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130565" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130693" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131589" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132229" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132357" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132485" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133509" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128005" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128133" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128261" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 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 instance128133" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133765" target = "projectFrame"><b>clear</b></a></td><td>operation</td><td>clear current session contents <br />without resetting overall session config.<br />Afterwards, the session will contain only one <br />empty EDL, while all Assets are retained.<br /></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a></td><td>class</td><td>bookkeeping (asset) view of a media clip.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129413" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>a Media Clip</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136325" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>bookkeeping (asset) view of a media clip.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129413" target = "projectFrame"><b>clip</b></a></td><td>artifact</td><td>a Media Clip</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128901.html#refclass128901" target = "projectFrame"><b>Clip</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128901" target = "projectFrame"><b>clips</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137861.html#refclass137861" target = "projectFrame"><b>Codec</b></a></td><td>class</td><td>description of some media data decoder or encoder facility</td></tr>
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
<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#refartifact128645" target = "projectFrame"><b>edl</b></a></td><td>artifact</td><td>the (high level) Edit Decision List within the current Session</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128133.html#refclass128133" target = "projectFrame"><b>EDL</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128389" target = "projectFrame"><b>EDL</b></a></td><td>component</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128133.html#refclass128133" target = "projectFrame"><b>EDL</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refobject diagram128773" target = "projectFrame"><b>EDL Example1</b></a></td><td>object diagram</td><td>A simple example showing how the actual objects are placed in the Fixture (=definitive playlist). It shows a Video and Audio clip placed on two tracks</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refobject diagram128901" target = "projectFrame"><b>EDL Example2</b></a></td><td>object diagram</td><td>More complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128005" target = "projectFrame"><b>edls</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137733.html#refclass137733" target = "projectFrame"><b>Effect</b></a></td><td>class</td><td>Effect or media processing component</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137221" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>Effect or media processing component</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129541" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>EDL representation of a pluggable and automatable effect.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137221" target = "projectFrame"><b>effect</b></a></td><td>artifact</td><td>Effect or media processing component</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129029.html#refclass129029" target = "projectFrame"><b>Effect</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation138885" target = "projectFrame"><b>elements</b></a></td><td>relation</td><td>relevant MObjects comprising this segment. TODO: actually necessary??</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132997" target = "projectFrame"><b>enable</b></a></td><td>operation</td><td>change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well</td></tr>
|
||||
|
|
|
|||
|
|
@ -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 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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133893" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
<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 instance131461" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134149" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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#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>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
<table>
|
||||
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#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#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>
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129029" target = "projectFrame"><b>offset</b></a></td><td>attribute</td><td>Offset the actual position by this (time) value relative to the anchor point. TODO: Representation?</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130821" target = "projectFrame"><b>org</b></a></td><td>attribute</td><td>origin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. "blur"). Default for all assets provided by the core cinelerra-3 codebase is "cin3".</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134405" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133125" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131333" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134405" target = "projectFrame"><b>ouput</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class138117.html#refclass138117" target = "projectFrame"><b>OutPort</b></a></td><td>class</td><td>structural asset corresponding to some port generating media output</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact137605" target = "projectFrame"><b>outport</b></a></td><td>artifact</td><td>structural asset corresponding to some port generating media output</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation132613" target = "projectFrame"><b>output</b></a></td><td>relation</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class130437.html#refclass130437" target = "projectFrame"><b>PathManager</b></a></td><td>class</td><td>While building a render engine, this Strategy class decides on the actual render strategy in accordance to the current controller settings (system state)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131717" target = "projectFrame"><b>pathmanager</b></a></td><td>artifact</td><td>Manager for deciding the actual render strategy</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact129029" target = "projectFrame"><b>placement</b></a></td><td>artifact</td><td>Key Abstraction: a way to place and locate a Media Object</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refclass128645" target = "projectFrame"><b>Placement</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refclass128645" target = "projectFrame"><b>Placement</b></a></td><td>class</td><td>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.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129413" target = "projectFrame"><b>play</b></a></td><td>operation</td><td>TODO: will probably be handled differently (see Cehteh)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refnode128261" target = "projectFrame"><b>playlist</b></a></td><td>node</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128901" target = "projectFrame"><b>plugID</b></a></td><td>attribute</td><td>Identifier of the Plugin to be used</td></tr>
|
||||
|
|
|
|||
|
|
@ -40,13 +40,13 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation129541" target = "projectFrame"><b>tracks</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131845.html#refclass131845" target = "projectFrame"><b>Trafo</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132485" target = "projectFrame"><b>trafo</b></a></td><td>artifact</td><td>transforming processing Node </td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130565" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130693" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130309" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130437" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130181" 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#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#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>
|
||||
|
|
|
|||
|
|
@ -22,20 +22,20 @@
|
|||
<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 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 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 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 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 instance133765" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134533" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131077" target = "projectFrame"><b>video</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 instance133637" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129157" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134277" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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="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>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class131077.html#refoperation128901"><b>build</b></a></td><td><a href="class131077.html#refclass131077"><b>Assembler</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130565.html#refoperation128517"><b>buildEngine</b></a></td><td><a href="class130565.html#refclass130565"><b>BuilderFacade</b></a></td><td>Main Operation of the Builder: create a render engine for a given part of the timeline</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130437.html#refoperation128261"><b>buildProcessor</b></a></td><td><a href="class130437.html#refclass130437"><b>PathManager</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refoperation134277"><b>chain</b></a></td><td><a href="class128645.html#refclass128645"><b>Placement</b></a></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="class139781.html#refoperation133765"><b>clear</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>clear current session contents <br />without resetting overall session config.<br />Afterwards, the session will contain only one <br />empty EDL, while all Assets are retained.<br /></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130693.html#refoperation128773"><b>configure</b></a></td><td><a href="class130693.html#refclass130693"><b>ToolFactory</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refoperation133253"><b>createClip</b></a></td><td><a href="class136709.html#refclass136709"><b>Media</b></a></td><td>create a (possibly compound) Clip refering to this media, ready to be added to the EDL.</td></tr>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "common/time.hpp"
|
||||
#include "common/factory.hpp"
|
||||
#include "proc/mobject/mobject.hpp"
|
||||
#include "proc/mobject/session/chainplacement.hpp"
|
||||
#include "proc/mobject/session/track.hpp"
|
||||
|
||||
|
||||
|
|
@ -34,12 +35,11 @@ namespace mobject
|
|||
{
|
||||
|
||||
|
||||
class Placement;
|
||||
class ExplicitPlacement;
|
||||
class PlacementFactory;
|
||||
|
||||
|
||||
class Placement
|
||||
template<class OBJ> /////TODO: unsolved design problem here!
|
||||
class Placement : public shared_ptr<OBJ>
|
||||
{
|
||||
protected:
|
||||
typedef cinelerra::Time Time;
|
||||
|
|
@ -47,18 +47,7 @@ namespace mobject
|
|||
|
||||
|
||||
public:
|
||||
MObject* subject;
|
||||
|
||||
/**
|
||||
* styles of placement.
|
||||
*/
|
||||
enum Style
|
||||
{
|
||||
FIXED,
|
||||
RELATIVE
|
||||
};
|
||||
|
||||
static PlacementFactory create;
|
||||
ChainPlacement chain;
|
||||
|
||||
/** resolve the network of placement and
|
||||
* provide the resulting (explicit) placement.
|
||||
|
|
@ -67,28 +56,11 @@ namespace mobject
|
|||
|
||||
protected:
|
||||
Placement ();
|
||||
friend class PlacementFactory;
|
||||
};
|
||||
|
||||
|
||||
typedef shared_ptr<Placement> PPla;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Factory specialized for creating Placement objects.
|
||||
*/
|
||||
class PlacementFactory : public cinelerra::Factory<Placement>
|
||||
{
|
||||
public:
|
||||
typedef shared_ptr<Placement> PType;
|
||||
typedef cinelerra::Time Time;
|
||||
|
||||
PType operator() (Placement::Style, Time, PMO subject);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace mobject
|
||||
|
|
|
|||
38
src/proc/mobject/session/chainplacement.cpp
Normal file
38
src/proc/mobject/session/chainplacement.cpp
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
ChainPlacement - Chaining and additionally constraining Placements
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
* *****************************************************/
|
||||
|
||||
|
||||
#include "proc/mobject/session/chainplacement.hpp"
|
||||
#include "proc/mobject/placement.hpp"
|
||||
|
||||
namespace mobject
|
||||
{
|
||||
namespace session
|
||||
{
|
||||
|
||||
/** */
|
||||
|
||||
|
||||
|
||||
} // namespace mobject::session
|
||||
|
||||
} // namespace mobject
|
||||
55
src/proc/mobject/session/chainplacement.hpp
Normal file
55
src/proc/mobject/session/chainplacement.hpp
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
CHAINPLACEMENT.hpp - Chaining and additionally constraining Placements
|
||||
|
||||
Copyright (C) CinelerraCV
|
||||
2007, Christian Thaeter <ct@pipapo.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef MOBJECT_SESSION_CHAINPLACEMENT_H
|
||||
#define MOBJECT_SESSION_CHAINPLACEMENT_H
|
||||
|
||||
|
||||
|
||||
|
||||
namespace mobject
|
||||
{
|
||||
class Placement;
|
||||
|
||||
namespace session
|
||||
{
|
||||
class FixedPlacement;
|
||||
class RelativePlacement;
|
||||
|
||||
|
||||
template<class MO>
|
||||
struct ChainPlacement
|
||||
{
|
||||
protected:
|
||||
/** next additional Placement, if any */
|
||||
Placement<MO> * next;
|
||||
public:
|
||||
|
||||
FixedPlacement& operator() (Time);
|
||||
|
||||
};
|
||||
|
||||
} // namespace mobject::session
|
||||
|
||||
} // namespace mobject
|
||||
#endif
|
||||
|
|
@ -72,7 +72,7 @@ namespace mobject
|
|||
|
||||
// using the Placement interface
|
||||
// TODO: how to handle unterdetermined Placement? Throw?
|
||||
FixedPlacement & fixpla = pc.addPlacement(Placement::FIXED, Time(1)); // TODO: the track??
|
||||
FixedPlacement & fixpla = pc.chain(Placement::FIXED, Time(1)); // TODO: the track??
|
||||
ExplicitPlacement expla = pc.resolve();
|
||||
ASSERT (expla.time == 1);
|
||||
ASSERT (!expla.isOverdetermined());
|
||||
|
|
@ -80,7 +80,7 @@ namespace mobject
|
|||
ASSERT (*fixpla == *pc);
|
||||
|
||||
// now overconstraining with another Placement
|
||||
pc.addPlacement(Placement::FIXED, Time(2));
|
||||
pc.chain(Placement::FIXED, Time(2));
|
||||
expla = pc.resolve();
|
||||
ASSERT (expla.time == 2); // the latest addition wins
|
||||
ASSERT (expla.isOverdetermined());
|
||||
|
|
|
|||
|
|
@ -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 574 129 2000
|
||||
xyz 539 121 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
|
||||
|
|
@ -46,15 +46,15 @@ classcanvas 131973 class_ref 129157 // Meta
|
|||
end
|
||||
classcanvas 132229 class_ref 129285 // FixedPlacement
|
||||
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 665 373 2000
|
||||
xyz 678 374 2005
|
||||
end
|
||||
classcanvas 132869 class_ref 129413 // RelativePlacement
|
||||
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 479 276 2000
|
||||
xyz 477 342 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 590 373 2000
|
||||
xyz 592 342 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 660 233 2004
|
||||
xyz 673 258 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
|
||||
|
|
@ -73,7 +73,7 @@ classcanvas 136581 class_ref 129925 // Auto
|
|||
xyz 375 466 2005
|
||||
end
|
||||
note 136837 "Placement \"locates\" a Media Object"
|
||||
xyzwh 368 83 3005 207 36
|
||||
xyzwh 370 73 3005 207 36
|
||||
textcanvas 136965 "the Timeline is a list of placements reduced to absolute coordinates (time, track)"
|
||||
xyzwh 464 925 2000 121 90
|
||||
textcanvas 137093 "Fixture is the actual assembly of various Media Objects ready to be performed"
|
||||
|
|
@ -102,6 +102,10 @@ 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
|
||||
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
|
||||
end
|
||||
relationcanvas 128389 relation_ref 128005 // <directional aggregation by value>
|
||||
from ref 128005 z 1999 to ref 128133
|
||||
role_a_pos 201 603 3000 no_role_b
|
||||
|
|
@ -152,34 +156,29 @@ relationcanvas 132101 relation_ref 129669 // <generalisation>
|
|||
from ref 131973 z 1999 to ref 130949
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 132485 relation_ref 129797 // <generalisation>
|
||||
from ref 132229 z 1999 to ref 129669
|
||||
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 251 3000
|
||||
multiplicity_a_pos 401 197 3000 multiplicity_b_pos 515 317 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 610 312
|
||||
line 140037 z 1999 to ref 129669
|
||||
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 135557 relation_ref 130821 // <realization>
|
||||
from ref 132229 z 1999 to ref 135429
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 135685 relation_ref 130949 // <generalisation>
|
||||
from ref 135429 z 1999 to ref 129669
|
||||
geometry VHV
|
||||
from ref 135429 z 1999 to point 724 236
|
||||
line 141445 z 1999 to point 576 236
|
||||
line 141573 z 1999 to ref 129669
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 135941 relation_ref 131077 // <directional aggregation by value>
|
||||
|
|
@ -209,7 +208,7 @@ relationcanvas 138757 relation_ref 137093 // <directional aggregation>
|
|||
geometry VHr
|
||||
from ref 138629 z 1999 stereotype "<<list>>" xyz 479 716 3000 to point 517 714
|
||||
line 138885 z 1999 to ref 135813
|
||||
role_a_pos 524 717 3000 no_role_b
|
||||
role_a_pos 529 783 3000 no_role_b
|
||||
multiplicity_a_pos 505 783 3000 no_multiplicity_b
|
||||
relationcanvas 139141 relation_ref 140805 // <generalisation>
|
||||
from ref 139013 z 1999 to ref 131461
|
||||
|
|
@ -227,6 +226,20 @@ 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 413 146 3000 no_role_b
|
||||
multiplicity_a_pos 403 146 3000 multiplicity_b_pos 547 148 3000
|
||||
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
|
||||
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
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"MObject" // ProcessingLayer::MObject
|
||||
revision 23
|
||||
revision 24
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -433,6 +433,8 @@ ${members}};
|
|||
"
|
||||
explicit_switch_type ""
|
||||
|
||||
comment "used to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
|
||||
Placement at the same time acts as (refcounting) smart pointer for accessing the MObject."
|
||||
operation 128005 "resolve"
|
||||
public explicit_return_type "ExplicitPlacement [ProcessingLayer::MObject]&"
|
||||
nparams 0
|
||||
|
|
@ -458,6 +460,33 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
|||
classrelation_ref 144901 // subject (<unidirectional association>)
|
||||
b multiplicity "1..*" parent class_ref 128517 // MObject
|
||||
end
|
||||
|
||||
operation 134277 "chain"
|
||||
public explicit_return_type ""
|
||||
nparams 1
|
||||
param in name "style" explicit_type ""
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}const ${t0}& ${p0}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
comment "create and add another Placement for this media object, thus increasingly constraining the (possible) position of this object."
|
||||
end
|
||||
|
||||
classrelation 145413 // chain (<unidirectional association>)
|
||||
relation 143237 --->
|
||||
a role_name "chain" multiplicity "1" protected
|
||||
comment "Chain of additional Placements further constraining the position of this MObject"
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 145413 // chain (<unidirectional association>)
|
||||
b multiplicity "" parent class_ref 139909 // ChainPlacement
|
||||
end
|
||||
end
|
||||
|
||||
class 129797 "ExplicitPlacement"
|
||||
|
|
@ -683,19 +712,11 @@ ${inlines}
|
|||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 130437 // <generalisation>
|
||||
relation 129797 ---|>
|
||||
classrelation 145285 // <generalisation>
|
||||
relation 143109 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 130437 // <generalisation>
|
||||
b multiplicity "" parent class_ref 128645 // Placement
|
||||
end
|
||||
|
||||
classrelation 131461 // <realization>
|
||||
relation 130821 -_-|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 131461 // <realization>
|
||||
classrelation_ref 145285 // <generalisation>
|
||||
b multiplicity "" parent class_ref 129797 // ExplicitPlacement
|
||||
end
|
||||
end
|
||||
|
|
@ -1058,6 +1079,28 @@ ${inlines}
|
|||
|
||||
comment "Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter"
|
||||
end
|
||||
|
||||
class 139909 "ChainPlacement"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 145541 // next (<unidirectional association>)
|
||||
relation 143365 --->
|
||||
a role_name "next" multiplicity "" protected
|
||||
comment "next additional Placement, 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
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
package_ref 128901 // Builder
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"ProcessingLayer" // ProcessingLayer
|
||||
revision 3
|
||||
revision 4
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -26,7 +26,7 @@ format 40
|
|||
package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
|
||||
show_infonote default drawing_language default
|
||||
|
||||
package_ref 128133 // AssetManager
|
||||
package_ref 128133 // Asset
|
||||
|
||||
package_ref 128261 // MObject
|
||||
|
||||
|
|
@ -222,8 +222,6 @@ format 40
|
|||
"100"
|
||||
end
|
||||
relations
|
||||
relation_ref 128645 // <association>
|
||||
classinstance_ref 130053 //
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -248,8 +246,6 @@ format 40
|
|||
"\"Hue\""
|
||||
end
|
||||
relations
|
||||
relation_ref 128645 // <association>
|
||||
classinstance_ref 130309 //
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -276,8 +272,6 @@ format 40
|
|||
"\"Hue\""
|
||||
end
|
||||
relations
|
||||
relation_ref 128645 // <association>
|
||||
classinstance_ref 130309 //
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"session" // design::codegen::proc::mobject::session
|
||||
revision 9
|
||||
revision 10
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -511,6 +511,45 @@ ${namespace_end}"
|
|||
comment "abstract base class of all MObjects representing meta data or processing instructions"
|
||||
end
|
||||
|
||||
artifact 139013 "chainplacement"
|
||||
stereotype "source"
|
||||
cpp_h "/*
|
||||
${NAME}.hpp - ${description}
|
||||
@{CopyrightClaim}@{GPLHeader}
|
||||
*/
|
||||
|
||||
|
||||
#ifndef ${NAMESPACE}_${NAME}_H
|
||||
#define ${NAMESPACE}_${NAME}_H
|
||||
|
||||
${includes}
|
||||
${declarations}
|
||||
|
||||
|
||||
${namespace_start}
|
||||
|
||||
${definition}
|
||||
${namespace_end}
|
||||
#endif
|
||||
"
|
||||
cpp_src "/*
|
||||
${Name} - ${description}
|
||||
@{CopyrightClaim}@{GPLHeader}
|
||||
* *****************************************************/
|
||||
|
||||
|
||||
${includes}
|
||||
${namespace_start}
|
||||
|
||||
|
||||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 139909 // ChainPlacement
|
||||
end
|
||||
comment "Chaining and additionally constraining Placements"
|
||||
end
|
||||
|
||||
artifact 129797 "fixedplacement"
|
||||
stereotype "source"
|
||||
cpp_h "/*
|
||||
|
|
|
|||
|
|
@ -3,16 +3,18 @@ diagrams
|
|||
classdiagram_ref 130309 // Asset Kinds
|
||||
860 633 100 4 0 0
|
||||
active classdiagram_ref 128133 // Session structure
|
||||
860 633 100 4 89 0
|
||||
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 attribute_ref 128133 // relType
|
||||
selected class_ref 129285 // FixedPlacement
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"cinelerra3"
|
||||
revision 32
|
||||
revision 33
|
||||
modified_by 5 "hiv"
|
||||
cpp_root_dir "../../src/"
|
||||
|
||||
|
|
|
|||
|
|
@ -2079,14 +2079,23 @@ 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 &mdash; technically &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 "location" of the refered ~MObject. See &rarr; [[handling of Placements|PlacementHandling]] for more details</pre>
|
||||
</div>
|
||||
<div title="PlacementHandling" modifier="Ichthyostega" modified="200710100148" created="200710100124" tags="design" changecount="3">
|
||||
<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 "real" 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. 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.
|
||||
|
||||
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.
|
||||
|
||||
* {{red{to be worked out...}}} how to implement this, esp. the aggregation. Use a special "placement aggregation" subtype, or rather chain aggregated placements directly in the way a decorator works? And how to handle the case of a //over constrained// Placement?
|
||||
!design decisions
|
||||
* Placements can be aggregated in a sort of 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?
|
||||
*# 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.
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Playlist" modifier="Ichthyostega" modified="200706250727" created="200706220456" tags="def" changecount="3">
|
||||
|
|
|
|||
Loading…
Reference in a new issue