Documentation Update, including info about ongoing builder work
|
|
@ -18,7 +18,7 @@
|
|||
<a name="refclass130949"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class RenderState </li></ul><p>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.<br /></p><p>Artifact : <a href="index.html#refartifact131845"><b>renderstate</b></a></p><div class="sub">
|
||||
<a name="refoperation128389"></a>
|
||||
<table><tr><td><div class="element">Operation <b>getStateProxy</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + getStateProxy() : <a href="class132741.html#refclass132741"><b>StateProxy</b></a></li><li>C++ : public: <a href="class132741.html#refclass132741"><b>StateProxy</b></a> getStateProxy () </li></ul></div>
|
||||
<table><tr><td><div class="element">Operation <b>getStateProxy</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + getStateProxy() : <a href="class132741.html#refclass132741"><b>State</b></a></li><li>C++ : public: <a href="class132741.html#refclass132741"><b>State</b></a> getStateProxy () </li></ul></div>
|
||||
<p>All public operations : <a href="class130949.html#refoperation128389"><b>getStateProxy</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass131589"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class ExitNode : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>The output of the render pipeline. Pulling from such exit nodes actually ivokes the render process<br /></p><p>Artifact : <a href="index.html#refartifact132229"><b>exitnode</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -16,10 +16,14 @@
|
|||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass131717"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class ProcNode </li><li>Java : public interface ProcNode </li></ul><p>Directly inherited by : <a href="class131589.html#refclass131589"><b>ExitNode</b></a> <a href="class132101.html#refclass132101"><b>Hub</b></a> <a href="class131973.html#refclass131973"><b>Link</b></a> <a href="class133765.html#refclass133765"><b>Source</b></a> <a href="class131845.html#refclass131845"><b>Trafo</b></a> </p>
|
||||
<p>Declaration :</p><ul><li>C++ : class ProcNode </li><li>Java : public interface ProcNode </li></ul><p>Directly inherited by : <a href="class131589.html#refclass131589"><b>ExitNode</b></a> <a href="class131973.html#refclass131973"><b>Link</b></a> <a href="class133765.html#refclass133765"><b>Source</b></a> <a href="class131845.html#refclass131845"><b>Trafo</b></a> </p>
|
||||
<p>Key abstraction of the Render Engine: A Data processing Node<br /></p><p>Artifact : <a href="index.html#refartifact132357"><b>procnode</b></a></p><div class="sub">
|
||||
<a name="refrelation136965"></a>
|
||||
<table><tr><td><div class="element">Relation <b>datasrc (<unidirectional association>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # datasrc : <a href="class131717.html#refclass131717"><b>ProcNode</b></a></li><li>C++ : protected: <a href="class131717.html#refclass131717"><b>ProcNode</b></a> * datasrc</li></ul><p>The predecessor in a processing pipeline, i.e. a source to get data to be processed<br /></p><a name="refrelation137861"></a>
|
||||
<table><tr><td><div class="element">Relation <b>params (<directional aggregation by value>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # params : <a href="class134533.html#refclass134533"><b>Parameter</b></a>, multiplicity : 1..*</li><li>C++ : protected: vector<<a href="class134533.html#refclass134533"><b>Parameter</b></a>> params</li></ul></div>
|
||||
<table><tr><td><div class="element">Relation <b>params (<directional aggregation by value>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # params : <a href="class134533.html#refclass134533"><b>Parameter</b></a>, multiplicity : 1..*</li><li>C++ : protected: vector<<a href="class134533.html#refclass134533"><b>Parameter</b></a>> params</li></ul><a name="refrelation152581"></a>
|
||||
<table><tr><td><div class="element">Relation <b>predecessors (<directional aggregation by value>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # predecessors : <a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a>, multiplicity : *</li><li>C++ : protected: <a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a> predecessors</li></ul><a name="refoperation135685"></a>
|
||||
<table><tr><td><div class="element">Operation <b>pull</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + pull() : </li><li>C++ : public: pull () </li></ul><a name="refoperation136069"></a>
|
||||
<table><tr><td><div class="element">Operation <b>process</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + process() : </li><li>C++ : public: process () </li></ul></div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -19,5 +19,6 @@
|
|||
<p>Declaration :</p><ul><li>C++ : class Trafo : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>Directly inherited by : <a href="class135045.html#refclass135045"><b>CodecAdapter</b></a> <a href="class132357.html#refclass132357"><b>Mask</b></a> <a href="class132485.html#refclass132485"><b>PluginAdapter</b></a> <a href="class132229.html#refclass132229"><b>Projector</b></a> </p>
|
||||
<p>Artifact : <a href="index.html#refartifact132485"><b>trafo</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass131973"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Link : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>Directly inherited by : <a href="class132613.html#refclass132613"><b>GLPipe</b></a> </p>
|
||||
<p>Artifact : <a href="index.html#refartifact132613"><b>link</b></a></p><div class="sub">
|
||||
<p>Declaration :</p><ul><li>C++ : class Link : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact132613"><b>link</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass132229"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Projector : public <a href="class131845.html#refclass131845"><b>Trafo</b></a> </li></ul><p>Special video processing node used to scale and translate image data.<br /></p><p>Artifact : <a href="index.html#refartifact132869"><b>projector</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass132357"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Mask : public <a href="class131845.html#refclass131845"><b>Trafo</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact132997"><b>mask</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass132485"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class PluginAdapter : public <a href="class131845.html#refclass131845"><b>Trafo</b></a> </li></ul><p>Adapter used to integrage an effects processor in the render pipeline<br /></p><p>Artifact : <a href="index.html#refartifact133125"><b>pluginadapter</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,21 +4,26 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class StateProxy</title>
|
||||
<title>Class State</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class StateProxy</div>
|
||||
<div class = "title">Class State</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass132741"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class StateProxy </li><li>Java : public interface StateProxy </li></ul><p>Directly inherited by : <a href="class132869.html#refclass132869"><b>ARender</b></a> <a href="class133125.html#refclass133125"><b>GLRender</b></a> <a href="class132997.html#refclass132997"><b>VRender</b></a> </p>
|
||||
<p>Declaration :</p><ul><li>C++ : class State </li><li>Java : public interface State </li></ul><p>Directly inherited by : <a href="class143493.html#refclass143493"><b>InvocationStateBase</b></a> <a href="class142597.html#refclass142597"><b>StateAdapter</b></a> <a href="class142469.html#refclass142469"><b>StateProxy</b></a> </p>
|
||||
<p>Artifact : <a href="index.html#refartifact130949"><b>stateproxy</b></a>, Component(s) : <a href="index.html#refcomponent128005"><b>Builder</b></a></p><div class="sub">
|
||||
<a name="refrelation135941"></a>
|
||||
<table><tr><td><div class="element">Relation <b>currFrame (<unidirectional association>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # currFrame : <a href="class133253.html#refclass133253"><b>Frame</b></a></li><li>C++ : protected: <a href="class133253.html#refclass133253"><b>Frame</b></a> * currFrame</li></ul></div>
|
||||
<table><tr><td><div class="element">Relation <b>currFrame (<unidirectional association>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # currFrame : <a href="class133253.html#refclass133253"><b>Frame</b></a></li><li>C++ : protected: <a href="class133253.html#refclass133253"><b>Frame</b></a> * currFrame</li></ul><a name="refoperation135813"></a>
|
||||
<table><tr><td><div class="element">Operation <b>fetch</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + fetch() : </li><li>C++ : public: fetch () </li></ul><a name="refoperation135941"></a>
|
||||
<table><tr><td><div class="element">Operation <b>allocateBuffer</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + allocateBuffer() : </li><li>C++ : public: allocateBuffer () </li></ul><a name="refoperation136197"></a>
|
||||
<table><tr><td><div class="element">Operation <b>releaseBuffer</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + releaseBuffer() : </li><li>C++ : public: releaseBuffer () </li></ul><a name="refoperation136325"></a>
|
||||
<table><tr><td><div class="element">Operation <b>isCalculated</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + isCalculated() : </li><li>C++ : public: isCalculated () </li></ul></div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
<!-- 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 VRender</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class VRender</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass132997"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class VRender : public <a href="class132741.html#refclass132741"><b>StateProxy</b></a> </li></ul><p>Representation of a Video render process. (Encapsulates the video buffers for the actual calculations)<br /></p><p>Artifact : <a href="index.html#refartifact133509"><b>vrender</b></a></p><div class="sub">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass133765"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Source : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>Source Node: represents a media source to pull data from.<br /></p><p>Artifact : <a href="index.html#refartifact134277"><b>source</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -18,5 +18,6 @@
|
|||
<a name="refclass135045"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class CodecAdapter : public <a href="class131845.html#refclass131845"><b>Trafo</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact134917"><b>codecadapter</b></a></p><div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class131717.html#refoperation136069"><b>process</b></a> , <a href="class131717.html#refoperation135685"><b>pull</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
24
doc/devel/uml/class142469.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class StateProxy</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class StateProxy</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass142469"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : template<class WIRING, class POLICY> class StateProxy : public <a href="class132741.html#refclass132741"><b>State</b></a>, public <a href="class143877.html#refclass143877"><b>InPlace</b></a> </li></ul><div class="sub">
|
||||
<a name="refrelation154117"></a>
|
||||
<table><tr><td><div class="element">Relation <b>wiring (<unidirectional association>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # wiring : <a href="class144005.html#refclass144005"><b>WiringTable</b></a>, multiplicity : 1</li><li>C++ : protected: const <a href="class144005.html#refclass144005"><b>WiringTable</b></a>* wiring</li></ul></div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
26
doc/devel/uml/class142597.html
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<!-- 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 StateAdapter</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class StateAdapter</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass142597"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class StateAdapter : public <a href="class132741.html#refclass132741"><b>State</b></a> </li></ul><div class="sub">
|
||||
<a name="refoperation135557"></a>
|
||||
<table><tr><td><div class="element">Operation <b>retrieve</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : + retrieve() : </li><li>C++ : public: retrieve () </li></ul><a name="refrelation152709"></a>
|
||||
<table><tr><td><div class="element">Relation <b>state (<unidirectional association>)</b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # state : <a href="class142469.html#refclass142469"><b>StateProxy</b></a>, multiplicity : 1</li><li>C++ : protected: <a href="class142469.html#refclass142469"><b>StateProxy</b></a>* state</li></ul><a name="refrelation152837"></a>
|
||||
<table><tr><td><div class="element">Relation <b><unidirectional association></b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # : <a href="class133253.html#refclass133253"><b>Frame</b></a></li><li>C++ : protected: <a href="class133253.html#refclass133253"><b>Frame</b></a>* </li></ul></div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> , <a href="class142597.html#refoperation135557"><b>retrieve</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -4,19 +4,18 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class ARender</title>
|
||||
<title>Class WiringDescriptor</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class ARender</div>
|
||||
<div class = "title">Class WiringDescriptor</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass132869"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class ARender : public <a href="class132741.html#refclass132741"><b>StateProxy</b></a> </li></ul><p>Representation of a Audio render process<br /></p><p>Artifact : <a href="index.html#refartifact133381"><b>arender</b></a></p><div class="sub">
|
||||
</div>
|
||||
<a name="refclass142725"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class WiringDescriptor </li></ul><p>Directly inherited by : <a href="class143365.html#refclass143365"><b>NodeWiring</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -4,19 +4,17 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class GLRender</title>
|
||||
<title>Class BackendCache</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class GLRender</div>
|
||||
<div class = "title">Class BackendCache</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass133125"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class GLRender : public <a href="class132741.html#refclass132741"><b>StateProxy</b></a> </li></ul><p>Representation of a OpenGL accelerated Video render process<br /></p><p>Artifact : <a href="index.html#refartifact133637"><b>glrender</b></a></p><div class="sub">
|
||||
</div>
|
||||
</body>
|
||||
<a name="refclass143109"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class BackendCache </li></ul></body>
|
||||
</html>
|
||||
|
|
@ -4,19 +4,17 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class GLPipe</title>
|
||||
<title>Class Caller</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class GLPipe</div>
|
||||
<div class = "title">Class Caller</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass132613"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class GLPipe : public <a href="class131973.html#refclass131973"><b>Link</b></a> </li></ul><p>specialized connection node used to handle the transfer of OpenGL data from a image bitmap into texture form<br /></p><p>Artifact : <a href="index.html#refartifact133253"><b>glpipe</b></a></p><div class="sub">
|
||||
</div>
|
||||
</body>
|
||||
<a name="refclass143237"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Caller </li></ul></body>
|
||||
</html>
|
||||
|
|
@ -4,19 +4,19 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class Hub</title>
|
||||
<title>Class NodeWiring</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class Hub</div>
|
||||
<div class = "title">Class NodeWiring</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass132101"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Hub : public <a href="class131717.html#refclass131717"><b>ProcNode</b></a> </li></ul><p>Artifact : <a href="index.html#refartifact132741"><b>hub</b></a></p><div class="sub">
|
||||
<a name="refclass143365"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : template<class STATE> class NodeWiring : public <a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a> </li></ul><div class="sub">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
24
doc/devel/uml/class143493.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class InvocationStateBase</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class InvocationStateBase</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass143493"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class InvocationStateBase : public <a href="class132741.html#refclass132741"><b>State</b></a> </li></ul><p>Directly inherited by : <a href="class143621.html#refclass143621"><b>Caching</b></a> </p>
|
||||
<div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
24
doc/devel/uml/class143621.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class Caching</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class Caching</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass143621"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Caching : public <a href="class143493.html#refclass143493"><b>InvocationStateBase</b></a> </li></ul><p>Directly inherited by : <a href="class143749.html#refclass143749"><b>Process</b></a> </p>
|
||||
<div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
24
doc/devel/uml/class143749.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class Process</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class Process</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass143749"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class Process : public <a href="class143621.html#refclass143621"><b>Caching</b></a> </li></ul><p>Directly inherited by : <a href="class143877.html#refclass143877"><b>InPlace</b></a> </p>
|
||||
<div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
24
doc/devel/uml/class143877.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class InPlace</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class InPlace</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass143877"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class InPlace : public <a href="class143749.html#refclass143749"><b>Process</b></a> </li></ul><p>Directly inherited by : <a href="class142469.html#refclass142469"><b>StateProxy</b></a> </p>
|
||||
<div class="sub">
|
||||
</div>
|
||||
<p>All public operations : <a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a> , <a href="class132741.html#refoperation135813"><b>fetch</b></a> , <a href="class132741.html#refoperation136325"><b>isCalculated</b></a> , <a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a> </p>
|
||||
</body>
|
||||
</html>
|
||||
24
doc/devel/uml/class144005.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class WiringTable</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class WiringTable</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass144005"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : template<int SIZ> class WiringTable </li></ul><div class="sub">
|
||||
<a name="refrelation153861"></a>
|
||||
<table><tr><td><div class="element">Relation <b><directional aggregation by value></b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # : <a href="class144133.html#refclass144133"><b>BuffHandle</b></a>, multiplicity : SIZ</li><li>C++ : protected: <a href="class144133.html#refclass144133"><b>BuffHandle</b></a> </li></ul><a name="refrelation153989"></a>
|
||||
<table><tr><td><div class="element">Relation <b><unidirectional association></b></div></td></tr></table><p>Declaration :</p><ul><li>Uml : # : <a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a></li><li>C++ : protected: <a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a>* </li></ul></div>
|
||||
</body>
|
||||
</html>
|
||||
20
doc/devel/uml/class144133.html
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!-- Documentation produced by the Html generator of Bouml (http://bouml.free.fr) -->
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<title>Class BuffHandle</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
<body bgcolor="#ffffff">
|
||||
|
||||
<div class = "title">Class BuffHandle</div>
|
||||
<p></p>
|
||||
|
||||
<!-- ============================================================= -->
|
||||
|
||||
<a name="refclass144133"></a>
|
||||
<p>Declaration :</p><ul><li>C++ : class BuffHandle </li></ul></body>
|
||||
</html>
|
||||
|
|
@ -27,8 +27,10 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130437" target = "projectFrame"><b>Media-Asset Relations</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131077" target = "projectFrame"><b>Proc-Asset Relations</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128389" target = "projectFrame"><b>Render Entities</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131973" target = "projectFrame"><b>Render Mechanics</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131461" target = "projectFrame"><b>Rules access</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128133" target = "projectFrame"><b>Session structure</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram132357" target = "projectFrame"><b>StateAdapter composition</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131205" target = "projectFrame"><b>Struct-Asset Relations</b></a></td><td></td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -21,15 +21,18 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class129541.html#refclass129541" target = "projectFrame"><b>Allocation</b></a></td><td></td><td>a directive to place a MObject in a specific way</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135429.html#refclass135429" target = "projectFrame"><b>Appconfig</b></a></td><td>singleton</td><td>Singleton to hold inevitable global flags and constants and for performing erarly (static) global initialization tasks.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140293.html#refclass140293" target = "projectFrame"><b>Applicable</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132869.html#refclass132869" target = "projectFrame"><b>ARender</b></a></td><td></td><td>Representation of a Audio render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131077.html#refclass131077" target = "projectFrame"><b>Assembler</b></a></td><td></td><td>This is the actual building facility: provided the correct tools and associations, it serves to build and connect the individual ProcNode objects</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refclass136453" target = "projectFrame"><b>Asset</b></a></td><td>interface</td><td>Superinterface describing especially the bookeeping properties of Assets</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refclass136581" target = "projectFrame"><b>AssetManager</b></a></td><td>boundary</td><td>Facade for the Asset subsystem</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129925.html#refclass129925" target = "projectFrame"><b>Auto</b></a></td><td></td><td>Automation data for some parameter (i.e. a time varying function)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143109.html#refclass143109" target = "projectFrame"><b>BackendCache</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class144133.html#refclass144133" target = "projectFrame"><b>BuffHandle</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134021.html#refclass134021" target = "projectFrame"><b>Buildable</b></a></td><td>interface</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130565.html#refclass130565" target = "projectFrame"><b>BuilderFacade</b></a></td><td>boundary</td><td>Provides unified access to the builder functionality. While individual components of the builder subsystem may be called if necessary or suitable, it is usually better to do all extern invocations via the high level methods of this Facade</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134149.html#refclass134149" target = "projectFrame"><b>BuilderTool</b></a></td><td>interface</td><td>Used according to the visitor pattern: each Tool contains the concrete implementation for one task to be done to the various MObject classes</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="class143621.html#refclass143621" target = "projectFrame"><b>Caching</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143237.html#refclass143237" target = "projectFrame"><b>Caller</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137221.html#refclass137221" target = "projectFrame"><b>Category</b></a></td><td></td><td>tree like classification of Assets</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a></td><td></td><td>bookkeeping (asset) view of a media clip.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128901.html#refclass128901" target = "projectFrame"><b>Clip</b></a></td><td></td><td></td></tr>
|
||||
|
|
@ -71,11 +74,10 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class128949.html#refclass128949" target = "projectFrame"><b>FrameDescriptor</b></a></td><td>interface</td><td>A FrameDescriptor implements the higher level interfaces for frames. Further refinements are made by subclassing and policy classes</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128225.html#refclass128225" target = "projectFrame"><b>FrameReference</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133637.html#refclass133637" target = "projectFrame"><b>GLBuf</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132613.html#refclass132613" target = "projectFrame"><b>GLPipe</b></a></td><td></td><td>specialized connection node used to handle the transfer of OpenGL data from a image bitmap into texture form</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133125.html#refclass133125" target = "projectFrame"><b>GLRender</b></a></td><td></td><td>Representation of a OpenGL accelerated Video render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132101.html#refclass132101" target = "projectFrame"><b>Hub</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143877.html#refclass143877" target = "projectFrame"><b>InPlace</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134789.html#refclass134789" target = "projectFrame"><b>Interpolator</b></a></td><td></td><td>Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter</td></tr>
|
||||
<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="class143493.html#refclass143493" target = "projectFrame"><b>InvocationStateBase</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>
|
||||
|
|
@ -91,6 +93,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class128517.html#refclass128517" target = "projectFrame"><b>MObject</b></a></td><td>interface</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128394.html#refclass128394" target = "projectFrame"><b>Mutex</b></a></td><td></td><td>I provided a reworked Mutex class in my Cinelerra2 repository</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refclass134405" target = "projectFrame"><b>NodeCreatorTool</b></a></td><td></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="class143365.html#refclass143365" target = "projectFrame"><b>NodeWiring</b></a></td><td></td><td></td></tr>
|
||||
<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>
|
||||
|
|
@ -101,6 +104,8 @@
|
|||
<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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136837.html#refclass136837" target = "projectFrame"><b>Proc</b></a></td><td></td><td>key abstraction: data processing asset</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class141957.html#refclass141957" target = "projectFrame"><b>ProcDispatcher</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143749.html#refclass143749" target = "projectFrame"><b>Process</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131717.html#refclass131717" target = "projectFrame"><b>ProcNode</b></a></td><td>interface</td><td>Key abstraction of the Render Engine: A Data processing Node</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class138757.html#refclass138757" target = "projectFrame"><b>ProcPatt</b></a></td><td></td><td>special type of structural Asset representing information how to build some part of the render engine's processing nodes network.</td></tr>
|
||||
|
|
@ -122,8 +127,10 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class138885.html#refclass138885" target = "projectFrame"><b>SimpleClip</b></a></td><td></td><td>Elementary clip consisting of only one media stream</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128906.html#refclass128906" target = "projectFrame"><b>SmartPointer</b></a></td><td>auxiliary</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133765.html#refclass133765" target = "projectFrame"><b>Source</b></a></td><td></td><td>Source Node: represents a media source to pull data from.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refclass132741" target = "projectFrame"><b>State</b></a></td><td>interface</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135941.html#refclass135941" target = "projectFrame"><b>State</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refclass132741" target = "projectFrame"><b>StateProxy</b></a></td><td>interface</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142597.html#refclass142597" target = "projectFrame"><b>StateAdapter</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142469.html#refclass142469" target = "projectFrame"><b>StateProxy</b></a></td><td>implementation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136325.html#refclass136325" target = "projectFrame"><b>std::exception</b></a></td><td>auxiliary</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136965.html#refclass136965" target = "projectFrame"><b>Struct</b></a></td><td></td><td>key abstraction: structural asset</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128138.html#refclass128138" target = "projectFrame"><b>Thread</b></a></td><td></td><td>We can basically reuse the Thread class design from Cinelerra2, Thread becomes a baseclass for all Threads </td></tr>
|
||||
|
|
@ -139,7 +146,8 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class141701.html#refclass141701" target = "projectFrame"><b>User</b></a></td><td>actor</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133509.html#refclass133509" target = "projectFrame"><b>VFrame</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140165.html#refclass140165" target = "projectFrame"><b>Visitable</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132997.html#refclass132997" target = "projectFrame"><b>VRender</b></a></td><td></td><td>Representation of a Video render process. (Encapsulates the video buffers for the actual calculations)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142725.html#refclass142725" target = "projectFrame"><b>WiringDescriptor</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class144005.html#refclass144005" target = "projectFrame"><b>WiringTable</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130053.html#refclass130053" target = "projectFrame"><b>Wish</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129162.html#refclass129162" target = "projectFrame"><b>WriteBuffer</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129034.html#refclass129034" target = "projectFrame"><b>WriteBufferPool</b></a></td><td></td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -22,15 +22,18 @@
|
|||
<a href="class129541.html#refclass129541" target = "projectFrame"><b>Allocation</b></a><br />
|
||||
<a href="class135429.html#refclass135429" target = "projectFrame"><b>Appconfig</b></a><br />
|
||||
<a href="class140293.html#refclass140293" target = "projectFrame"><b>Applicable</b></a><br />
|
||||
<a href="class132869.html#refclass132869" target = "projectFrame"><b>ARender</b></a><br />
|
||||
<a href="class131077.html#refclass131077" target = "projectFrame"><b>Assembler</b></a><br />
|
||||
<a href="class136453.html#refclass136453" target = "projectFrame"><b>Asset</b></a><br />
|
||||
<a href="class136581.html#refclass136581" target = "projectFrame"><b>AssetManager</b></a><br />
|
||||
<a href="class129925.html#refclass129925" target = "projectFrame"><b>Auto</b></a><br />
|
||||
<a href="class143109.html#refclass143109" target = "projectFrame"><b>BackendCache</b></a><br />
|
||||
<a href="class144133.html#refclass144133" target = "projectFrame"><b>BuffHandle</b></a><br />
|
||||
<a href="class134021.html#refclass134021" target = "projectFrame"><b>Buildable</b></a><br />
|
||||
<a href="class130565.html#refclass130565" target = "projectFrame"><b>BuilderFacade</b></a><br />
|
||||
<a href="class134149.html#refclass134149" target = "projectFrame"><b>BuilderTool</b></a><br />
|
||||
<a href="class139013.html#refclass139013" target = "projectFrame"><b>BuildInstruct</b></a><br />
|
||||
<a href="class143621.html#refclass143621" target = "projectFrame"><b>Caching</b></a><br />
|
||||
<a href="class143237.html#refclass143237" target = "projectFrame"><b>Caller</b></a><br />
|
||||
<a href="class137221.html#refclass137221" target = "projectFrame"><b>Category</b></a><br />
|
||||
<a href="class137349.html#refclass137349" target = "projectFrame"><b>Clip</b></a><br />
|
||||
<a href="class128901.html#refclass128901" target = "projectFrame"><b>Clip</b></a><br />
|
||||
|
|
@ -72,11 +75,10 @@
|
|||
<a href="class128949.html#refclass128949" target = "projectFrame"><b>FrameDescriptor</b></a><br />
|
||||
<a href="class128225.html#refclass128225" target = "projectFrame"><b>FrameReference</b></a><br />
|
||||
<a href="class133637.html#refclass133637" target = "projectFrame"><b>GLBuf</b></a><br />
|
||||
<a href="class132613.html#refclass132613" target = "projectFrame"><b>GLPipe</b></a><br />
|
||||
<a href="class133125.html#refclass133125" target = "projectFrame"><b>GLRender</b></a><br />
|
||||
<a href="class132101.html#refclass132101" target = "projectFrame"><b>Hub</b></a><br />
|
||||
<a href="class143877.html#refclass143877" target = "projectFrame"><b>InPlace</b></a><br />
|
||||
<a href="class134789.html#refclass134789" target = "projectFrame"><b>Interpolator</b></a><br />
|
||||
<a href="class136069.html#refclass136069" target = "projectFrame"><b>Invalid</b></a><br />
|
||||
<a href="class143493.html#refclass143493" target = "projectFrame"><b>InvocationStateBase</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 />
|
||||
|
|
@ -92,6 +94,7 @@
|
|||
<a href="class128517.html#refclass128517" target = "projectFrame"><b>MObject</b></a><br />
|
||||
<a href="class128394.html#refclass128394" target = "projectFrame"><b>Mutex</b></a><br />
|
||||
<a href="class134405.html#refclass134405" target = "projectFrame"><b>NodeCreatorTool</b></a><br />
|
||||
<a href="class143365.html#refclass143365" target = "projectFrame"><b>NodeWiring</b></a><br />
|
||||
<a href="class134533.html#refclass134533" target = "projectFrame"><b>Parameter</b></a><br />
|
||||
<a href="class134661.html#refclass134661" target = "projectFrame"><b>ParamProvider</b></a><br />
|
||||
<a href="class130437.html#refclass130437" target = "projectFrame"><b>PathManager</b></a><br />
|
||||
|
|
@ -102,6 +105,8 @@
|
|||
<a href="class129077.html#refclass129077" target = "projectFrame"><b>Prefetch</b></a><br />
|
||||
<a href="class137605.html#refclass137605" target = "projectFrame"><b>Preview</b></a><br />
|
||||
<a href="class136837.html#refclass136837" target = "projectFrame"><b>Proc</b></a><br />
|
||||
<a href="class141957.html#refclass141957" target = "projectFrame"><b>ProcDispatcher</b></a><br />
|
||||
<a href="class143749.html#refclass143749" target = "projectFrame"><b>Process</b></a><br />
|
||||
<a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a><br />
|
||||
<a href="class131717.html#refclass131717" target = "projectFrame"><b>ProcNode</b></a><br />
|
||||
<a href="class138757.html#refclass138757" target = "projectFrame"><b>ProcPatt</b></a><br />
|
||||
|
|
@ -123,8 +128,10 @@
|
|||
<a href="class138885.html#refclass138885" target = "projectFrame"><b>SimpleClip</b></a><br />
|
||||
<a href="class128906.html#refclass128906" target = "projectFrame"><b>SmartPointer</b></a><br />
|
||||
<a href="class133765.html#refclass133765" target = "projectFrame"><b>Source</b></a><br />
|
||||
<a href="class132741.html#refclass132741" target = "projectFrame"><b>State</b></a><br />
|
||||
<a href="class135941.html#refclass135941" target = "projectFrame"><b>State</b></a><br />
|
||||
<a href="class132741.html#refclass132741" target = "projectFrame"><b>StateProxy</b></a><br />
|
||||
<a href="class142597.html#refclass142597" target = "projectFrame"><b>StateAdapter</b></a><br />
|
||||
<a href="class142469.html#refclass142469" target = "projectFrame"><b>StateProxy</b></a><br />
|
||||
<a href="class136325.html#refclass136325" target = "projectFrame"><b>std::exception</b></a><br />
|
||||
<a href="class136965.html#refclass136965" target = "projectFrame"><b>Struct</b></a><br />
|
||||
<a href="class128138.html#refclass128138" target = "projectFrame"><b>Thread</b></a><br />
|
||||
|
|
@ -140,7 +147,8 @@
|
|||
<a href="class141701.html#refclass141701" target = "projectFrame"><b>User</b></a><br />
|
||||
<a href="class133509.html#refclass133509" target = "projectFrame"><b>VFrame</b></a><br />
|
||||
<a href="class140165.html#refclass140165" target = "projectFrame"><b>Visitable</b></a><br />
|
||||
<a href="class132997.html#refclass132997" target = "projectFrame"><b>VRender</b></a><br />
|
||||
<a href="class142725.html#refclass142725" target = "projectFrame"><b>WiringDescriptor</b></a><br />
|
||||
<a href="class144005.html#refclass144005" target = "projectFrame"><b>WiringTable</b></a><br />
|
||||
<a href="class130053.html#refclass130053" target = "projectFrame"><b>Wish</b></a><br />
|
||||
<a href="class129162.html#refclass129162" target = "projectFrame"><b>WriteBuffer</b></a><br />
|
||||
<a href="class129034.html#refclass129034" target = "projectFrame"><b>WriteBufferPool</b></a><br />
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
<table>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcollaboration diagram131845" target = "projectFrame"><b>"default" object</b></a></td><td></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcollaboration diagram128517" target = "projectFrame"><b>build process</b></a></td><td></td><td>This figure shows the process of building and starting a RenderEngine</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcollaboration diagram132229" target = "projectFrame"><b>Render Process</b></a></td><td></td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
BIN
doc/devel/uml/fig131973.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
doc/devel/uml/fig132229.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
doc/devel/uml/fig132357.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -32,7 +32,7 @@ Documentation</title>
|
|||
<p>provided classes : <a href="class135557.html#refclass135557"><b>Error</b></a>, <a href="class134917.html#refclass134917"><b>Time</b></a></p>
|
||||
<a name="refcomponent128005"></a>
|
||||
<table><tr><td><div class="element">Component <b>Builder</b></div></td></tr></table>
|
||||
<p>provided classes : <a href="class132741.html#refclass132741"><b>StateProxy</b></a></p>
|
||||
<p>provided classes : <a href="class132741.html#refclass132741"><b>State</b></a></p>
|
||||
<p>required classes : <a href="class128261.html#refclass128261"><b>Fixture</b></a>, <a href="class128005.html#refclass128005"><b>SessionImpl</b></a></p>
|
||||
<a name="refcomponent128133"></a>
|
||||
<table><tr><td><div class="element">Component <b>Session</b></div></td></tr></table>
|
||||
|
|
@ -54,9 +54,10 @@ Documentation</title>
|
|||
<table><tr><td><div class="element">Component <b>AssetManagement</b></div></td></tr></table>
|
||||
<a name="refcomponent128773"></a>
|
||||
<table><tr><td><div class="element">Component <b>Dispatcher</b></div></td></tr></table>
|
||||
<p>provided classes : <a href="class141957.html#refclass141957"><b>ProcDispatcher</b></a></p>
|
||||
<a name="refcomponent128901"></a>
|
||||
<table><tr><td><div class="element">Component <b>Engine</b></div></td></tr></table>
|
||||
<p>Depends on <a href="index.html#refcomponent129029"><b>Frame (Stream) Provider</b></a></p><p>required classes : <a href="class132741.html#refclass132741"><b>StateProxy</b></a></p>
|
||||
<p>Depends on <a href="index.html#refcomponent129029"><b>Frame (Stream) Provider</b></a></p><p>required classes : <a href="class132741.html#refclass132741"><b>State</b></a></p>
|
||||
<div class="sub">
|
||||
<a name="refcomponent130053"></a>
|
||||
<table><tr><td><div class="element">Component <b>ProcNode</b></div></td></tr></table>
|
||||
|
|
@ -78,6 +79,9 @@ Documentation</title>
|
|||
<p>required classes : <a href="class139525.html#refclass139525"><b>MediaAccessFacade</b></a></p>
|
||||
<a name="refcomponent130309"></a>
|
||||
<table><tr><td><div class="element">Component <b>AssetDB</b></div></td></tr></table>
|
||||
<a name="refcomponent131077"></a>
|
||||
<table><tr><td><div class="element">Component <b>client code</b></div></td></tr></table>
|
||||
<p>required classes : <a href="class141957.html#refclass141957"><b>ProcDispatcher</b></a></p>
|
||||
</div>
|
||||
<a name="refcomponent view128133"></a>
|
||||
<h2 class ="view">1.2 Component View interfaces</h2>
|
||||
|
|
@ -112,7 +116,7 @@ Documentation</title>
|
|||
<a name="refartifact128005"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>Lumiera</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#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#refartifact133509"><b>vrender</b></a>, <a href="index.html#refartifact132229"><b>exitnode</b></a>, <a href="index.html#refartifact131717"><b>pathmanager</b></a>, <a href="index.html#refartifact128901"><b>track</b></a>, <a href="index.html#refartifact134533"><b>paramprovider</b></a>, <a href="index.html#refartifact132997"><b>mask</b></a>, <a href="index.html#refartifact128133"><b>main</b></a>, <a href="index.html#refartifact130693"><b>conmanager</b></a>, <a href="index.html#refartifact129413"><b>clip</b></a>, <a href="index.html#refartifact129669"><b>meta</b></a>, <a href="index.html#refartifact129797"><b>fixedlocation</b></a>, <a href="index.html#refartifact129925"><b>relativelocation</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>buildertool</b></a>, <a href="index.html#refartifact131333"><b>segmentationtool</b></a></p>
|
||||
<p><i>executable</i> associated with : <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>buildertool</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#refartifact133509"><b>vrender</b></a>, <a href="index.html#refartifact132229"><b>exitnode</b></a>, <a href="index.html#refartifact131717"><b>pathmanager</b></a>, <a href="index.html#refartifact128901"><b>track</b></a>, <a href="index.html#refartifact134533"><b>paramprovider</b></a>, <a href="index.html#refartifact132997"><b>mask</b></a>, <a href="index.html#refartifact128133"><b>main</b></a>, <a href="index.html#refartifact130693"><b>conmanager</b></a>, <a href="index.html#refartifact129413"><b>clip</b></a>, <a href="index.html#refartifact129669"><b>meta</b></a>, <a href="index.html#refartifact129797"><b>fixedlocation</b></a>, <a href="index.html#refartifact129925"><b>relativelocation</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>
|
||||
|
|
@ -192,7 +196,7 @@ Documentation</title>
|
|||
<a name="refartifact130949"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>stateproxy</b></div></td></tr></table>
|
||||
<p>Key Interface representing a render process and encapsulating state<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132741.html#refclass132741"><b>StateProxy</b></a></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132741.html#refclass132741"><b>State</b></a></p>
|
||||
<a name="refartifact131589"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>controllerfacade</b></div></td></tr></table>
|
||||
<p>Facade and service access point for the Proc Layer Controller<br /></p>
|
||||
|
|
@ -517,7 +521,7 @@ Documentation</title>
|
|||
<a name="refartifact132741"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>hub</b></div></td></tr></table>
|
||||
<p>special ProcNode used to build data distributing connections<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132101.html#refclass132101"><b>Hub</b></a></p>
|
||||
<p>Artifact <i>source</i></p>
|
||||
<a name="refartifact132869"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>projector</b></div></td></tr></table>
|
||||
<p>video ProcNode for scaling and translating image data<br /></p>
|
||||
|
|
@ -537,19 +541,19 @@ Documentation</title>
|
|||
<a name="refartifact133253"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>glpipe</b></div></td></tr></table>
|
||||
<p>specialized connection element for handling OpenGL implementation details<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132613.html#refclass132613"><b>GLPipe</b></a></p>
|
||||
<p>Artifact <i>source</i></p>
|
||||
<a name="refartifact133381"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>arender</b></div></td></tr></table>
|
||||
<p>Representation of a Audio Render process<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132869.html#refclass132869"><b>ARender</b></a></p>
|
||||
<p>Artifact <i>source</i></p>
|
||||
<a name="refartifact133509"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>vrender</b></div></td></tr></table>
|
||||
<p>Representation of a Video render process<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class132997.html#refclass132997"><b>VRender</b></a></p>
|
||||
<p>Artifact <i>source</i></p>
|
||||
<a name="refartifact133637"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>glrender</b></div></td></tr></table>
|
||||
<p>Representation of a OpenGL accellerated Video render process<br /></p>
|
||||
<p>Artifact <i>source</i> associated with : <a href="class133125.html#refclass133125"><b>GLRender</b></a></p>
|
||||
<p>Artifact <i>source</i></p>
|
||||
<a name="refartifact133893"></a>
|
||||
<table><tr><td><div class="element">Artifact <b>aframe</b></div></td></tr></table>
|
||||
<p>a buffer and render process holding a Audio frame<br /></p>
|
||||
|
|
@ -670,6 +674,7 @@ Documentation</title>
|
|||
<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>LocatingPin</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class141957.html#refclass141957"><b>ProcDispatcher</b></a></b></div></td></tr></table>
|
||||
</div>
|
||||
<a name="refpackage128901"></a>
|
||||
<h3 class ="package">2.2.2 Package Builder</h3>
|
||||
|
|
@ -759,7 +764,7 @@ Documentation</title>
|
|||
<table><tr><td><div class="element">Class <b><a href="class130693.html#refclass130693"><b>ToolFactory</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class130821.html#refclass130821"><b>ConManager</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131077.html#refclass131077"><b>Assembler</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132741.html#refclass132741"><b>StateProxy</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132741.html#refclass132741"><b>State</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class134021.html#refclass134021"><b>Buildable</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class134149.html#refclass134149"><b>BuilderTool</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></b></div></td></tr></table>
|
||||
|
|
@ -872,26 +877,37 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
|
|||
<a name="refclass diagram129669"></a>
|
||||
<p align="center"><img src="fig129669.png" alt="" /></p>
|
||||
<p align="center"><b>Automation Entities</b></p><p><br /></p><p><br /></p>
|
||||
<a name="refclass diagram131973"></a>
|
||||
<p align="center"><img src="fig131973.png" alt="" /></p>
|
||||
<p align="center"><b>Render Mechanics</b></p><p><br /></p><p><br /></p>
|
||||
<a name="refclass diagram132357"></a>
|
||||
<p align="center"><img src="fig132357.png" alt="" /></p>
|
||||
<p align="center"><b>StateAdapter composition</b></p><p><br /></p><p><br /></p>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131333.html#refclass131333"><b>RenderEngine</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131461.html#refclass131461"><b>Processor</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131589.html#refclass131589"><b>ExitNode</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131717.html#refclass131717"><b>ProcNode</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131845.html#refclass131845"><b>Trafo</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class131973.html#refclass131973"><b>Link</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132101.html#refclass132101"><b>Hub</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132229.html#refclass132229"><b>Projector</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132357.html#refclass132357"><b>Mask</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132485.html#refclass132485"><b>PluginAdapter</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class135045.html#refclass135045"><b>CodecAdapter</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132613.html#refclass132613"><b>GLPipe</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132869.html#refclass132869"><b>ARender</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class132997.html#refclass132997"><b>VRender</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133125.html#refclass133125"><b>GLRender</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133253.html#refclass133253"><b>Frame</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133381.html#refclass133381"><b>AFrame</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133509.html#refclass133509"><b>VFrame</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133637.html#refclass133637"><b>GLBuf</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class133765.html#refclass133765"><b>Source</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class142469.html#refclass142469"><b>StateProxy</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class142597.html#refclass142597"><b>StateAdapter</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class142725.html#refclass142725"><b>WiringDescriptor</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143365.html#refclass143365"><b>NodeWiring</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143493.html#refclass143493"><b>InvocationStateBase</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143621.html#refclass143621"><b>Caching</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143749.html#refclass143749"><b>Process</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143877.html#refclass143877"><b>InPlace</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class144005.html#refclass144005"><b>WiringTable</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class144133.html#refclass144133"><b>BuffHandle</b></a></b></div></td></tr></table>
|
||||
</div>
|
||||
</div>
|
||||
<a name="refuse case view128005"></a>
|
||||
|
|
@ -1005,13 +1021,7 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
|
|||
<li><a href="class131717.html#refrelation136965"><b>datasrc</b></a> = <a href="index.html#refclass instance131461"><b>input</b></a></li>
|
||||
</ul></p><a name="refclass instance131717"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>vid_a</div></td></tr></table><p>type :<a href="class133765.html#refclass133765"><b>Source</b></a></p><a name="refclass instance131845"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>aud_a</div></td></tr></table><p>type :<a href="class133765.html#refclass133765"><b>Source</b></a></p><a name="refclass instance131973"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>vid1</div></td></tr></table><p>type :<a href="class132997.html#refclass132997"><b>VRender</b></a></p><p>relations :<ul>
|
||||
<li><a href="class132741.html#refrelation135941"><b>currFrame</b></a> = <a href="index.html#refclass instance132229"><b>class instance</b></a></li>
|
||||
</ul></p><a name="refclass instance132101"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>au1</div></td></tr></table><p>type :<a href="class132869.html#refclass132869"><b>ARender</b></a></p><p>relations :<ul>
|
||||
<li><a href="class132741.html#refrelation135941"><b>currFrame</b></a> = <a href="index.html#refclass instance132357"><b>class instance</b></a></li>
|
||||
</ul></p><a name="refclass instance132229"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>aud_a</div></td></tr></table><p>type :<a href="class133765.html#refclass133765"><b>Source</b></a></p><a name="refclass instance132229"></a>
|
||||
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class133509.html#refclass133509"><b>VFrame</b></a></p><a name="refclass instance132357"></a>
|
||||
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class133381.html#refclass133381"><b>AFrame</b></a></p><a name="refclass instance132485"></a>
|
||||
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class131333.html#refclass131333"><b>RenderEngine</b></a></p><p>relations :<ul>
|
||||
|
|
@ -1035,9 +1045,6 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
|
|||
</ul></p><a name="refclass instance133253"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>HUE</div></td></tr></table><p>type :<a href="class132485.html#refclass132485"><b>PluginAdapter</b></a></p><p>relations :<ul>
|
||||
<li><a href="class131717.html#refrelation136965"><b>datasrc</b></a> = <a href="index.html#refclass instance132869"><b>input</b></a></li>
|
||||
</ul></p><a name="refclass instance133381"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>vid1</div></td></tr></table><p>type :<a href="class132997.html#refclass132997"><b>VRender</b></a></p><p>relations :<ul>
|
||||
<li><a href="class132741.html#refrelation135941"><b>currFrame</b></a> = <a href="index.html#refclass instance133509"><b>class instance</b></a></li>
|
||||
</ul></p><a name="refclass instance133509"></a>
|
||||
<table><tr><td><div class="element">Class instance <b></div></td></tr></table><p>type :<a href="class133509.html#refclass133509"><b>VFrame</b></a></p><a name="refclass instance133637"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>video1</div></td></tr></table><p>type :<a href="class131461.html#refclass131461"><b>Processor</b></a></p><p>attributes :<ul>
|
||||
|
|
@ -1067,7 +1074,21 @@ reuse exiting Engine</pre></li></ul><p>Selection :</p><ul></ul><p>Transformation
|
|||
</ul></p><a name="refclass instance134533"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>video</div></td></tr></table><p>type :<a href="class131589.html#refclass131589"><b>ExitNode</b></a></p><p>relations :<ul>
|
||||
<li><a href="class131717.html#refrelation136965"><b>datasrc</b></a> = <a href="index.html#refclass instance134405"><b>ouput</b></a></li>
|
||||
</ul></p></div>
|
||||
</ul></p><a name="refcollaboration diagram132229"></a>
|
||||
<p align="center"><img src="fig132229.png" alt="" /></p>
|
||||
<p align="center"><b>Render Process</b></p><p><br /></p><p><br /></p>
|
||||
<a name="refclass instance136197"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>node1</div></td></tr></table><p>type :<a href="class131717.html#refclass131717"><b>ProcNode</b></a></p><a name="refclass instance136325"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>ad1</div></td></tr></table><p>type :<a href="class142597.html#refclass142597"><b>StateAdapter</b></a></p><a name="refclass instance136453"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>current</div></td></tr></table><p>type :<a href="class142469.html#refclass142469"><b>StateProxy</b></a></p><a name="refclass instance136581"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>node2</div></td></tr></table><p>type :<a href="class131717.html#refclass131717"><b>ProcNode</b></a></p><a name="refclass instance136709"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>ad2</div></td></tr></table><p>type :<a href="class142597.html#refclass142597"><b>StateAdapter</b></a></p><table><tr><td><div class="element">Class <b><a href="class143109.html#refclass143109"><b>BackendCache</b></a></b></div></td></tr></table>
|
||||
<table><tr><td><div class="element">Class <b><a href="class143237.html#refclass143237"><b>Caller</b></a></b></div></td></tr></table>
|
||||
<a name="refclass instance136837"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>node3</div></td></tr></table><p>type :<a href="class131717.html#refclass131717"><b>ProcNode</b></a></p><a name="refclass instance136965"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>ad3</div></td></tr></table><p>type :<a href="class142597.html#refclass142597"><b>StateAdapter</b></a></p><a name="refclass instance137093"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>vid1</div></td></tr></table><p>type :<a href="class142469.html#refclass142469"><b>StateProxy</b></a></p><a name="refclass instance137221"></a>
|
||||
<table><tr><td><div class="element">Class instance <b>au1</div></td></tr></table><p>type :<a href="class142469.html#refclass142469"><b>StateProxy</b></a></p></div>
|
||||
</div>
|
||||
<a name="refpackage129157"></a>
|
||||
<h1 class ="package">3 Package BackendLayer</h1>
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@
|
|||
|
||||
<table>
|
||||
<tr bgcolor=#f0f0f0><td align=center><b>Name</b></td><td align=center><b>Kind</b></td><td align=center><b>Description</b></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129797" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129541" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129797" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129669" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130309" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131205" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
|
|
@ -28,8 +28,8 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131461" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130693" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition129029" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130181" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131717" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130181" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130949" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition131077" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#reftransition130053" target = "projectFrame"><b><flow></b></a></td><td>transition</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -23,9 +23,13 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128133" target = "projectFrame"><b>access File</b></a></td><td>use case</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity final129157" target = "projectFrame"><b>activity final</b></a></td><td>activity final</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity final128901" target = "projectFrame"><b>activity final</b></a></td><td>activity final</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136325" target = "projectFrame"><b>ad1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136709" target = "projectFrame"><b>ad2</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136965" target = "projectFrame"><b>ad3</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128901" target = "projectFrame"><b>add new object to session</b></a></td><td>use case</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133381.html#refclass133381" target = "projectFrame"><b>AFrame</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133893" target = "projectFrame"><b>aframe</b></a></td><td>artifact</td><td>a buffer and render process holding a Audio frame</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation135941" target = "projectFrame"><b>allocateBuffer</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact130053" target = "projectFrame"><b>allocation</b></a></td><td>artifact</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129541.html#refclass129541" target = "projectFrame"><b>Allocation</b></a></td><td>class</td><td>a directive to place a MObject in a specific way</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation130565" target = "projectFrame"><b>anchor</b></a></td><td>relation</td><td></td></tr>
|
||||
|
|
@ -36,7 +40,6 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129669" target = "projectFrame"><b>apply</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation134789" target = "projectFrame"><b>apply</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent view128005" target = "projectFrame"><b>Architecture</b></a></td><td>component view</td><td>The various Components comprising the Lumiera Video editing Application</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132869.html#refclass132869" target = "projectFrame"><b>ARender</b></a></td><td>class</td><td>Representation of a Audio render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133381" target = "projectFrame"><b>arender</b></a></td><td>artifact</td><td>Representation of a Audio Render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131077.html#refclass131077" target = "projectFrame"><b>Assembler</b></a></td><td>class</td><td>This is the actual building facility: provided the correct tools and associations, it serves to build and connect the individual ProcNode objects</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact130821" target = "projectFrame"><b>assembler</b></a></td><td>artifact</td><td>building facility (implementation of the build process)</td></tr>
|
||||
|
|
@ -51,9 +54,9 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact136197" target = "projectFrame"><b>assetmanager</b></a></td><td>artifact</td><td>Facade for the Asset subsystem</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#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 instance137221" target = "projectFrame"><b>au1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131845" target = "projectFrame"><b>aud_a</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance128773" target = "projectFrame"><b>aud_A</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128517" target = "projectFrame"><b>Backend Components</b></a></td><td>class view</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case diagram130821" target = "projectFrame"><b>backend use cases</b></a></td><td>use case diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130693" target = "projectFrame"><b>backend-components</b></a></td><td>component diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143109.html#refclass143109" target = "projectFrame"><b>BackendCache</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129157" target = "projectFrame"><b>BackendLayer</b></a></td><td>package</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class144133.html#refclass144133" target = "projectFrame"><b>BuffHandle</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation128901" target = "projectFrame"><b>build</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity diagram129413" target = "projectFrame"><b>build flow</b></a></td><td>activity diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refdecision activity node128389" target = "projectFrame"><b>build necessary?</b></a></td><td>decision activity node</td><td></td></tr>
|
||||
|
|
@ -34,8 +36,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>
|
||||
|
|
|
|||
|
|
@ -19,46 +19,49 @@
|
|||
<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#refcomponent129157" target = "projectFrame"><b>Cache</b></a></td><td>component</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent view128138" target = "projectFrame"><b>Cache</b></a></td><td>component view</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143621.html#refclass143621" target = "projectFrame"><b>Caching</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143237.html#refclass143237" target = "projectFrame"><b>Caller</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation140421" target = "projectFrame"><b>category</b></a></td><td>relation</td><td>primary tree like classification of the asset</td></tr>
|
||||
<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#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#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#refclass instance135301" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135045" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134917" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135429" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134789" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135557" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135685" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134661" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135173" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135045" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135301" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135813" 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 instance128005" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance130565" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 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 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 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 instance132485" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129029" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129285" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129541" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 instance135173" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135557" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134661" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135685" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134917" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134789" 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 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 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 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 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 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 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 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 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 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 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 instance132485" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129029" target = "projectFrame"><b>class instance</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 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 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 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 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#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="index.html#refcomponent131077" target = "projectFrame"><b>client code</b></a></td><td>component</td><td></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>
|
||||
<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="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>
|
||||
|
|
@ -104,6 +107,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128517" target = "projectFrame"><b>create specific object</b></a></td><td>use case</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133253" target = "projectFrame"><b>createClip</b></a></td><td>operation</td><td>create a (possibly compound) Clip refering to this media, ready to be added to the EDL.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133509" target = "projectFrame"><b>currEDL</b></a></td><td>operation</td><td>The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136453" target = "projectFrame"><b>current</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation144773" target = "projectFrame"><b>current</b></a></td><td>relation</td><td>Standard access path to get at the current session via the Session Manager, which acts as a "PImpl" smart pointer</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation135941" target = "projectFrame"><b>currFrame</b></a></td><td>relation</td><td></td></tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128138" target = "projectFrame"><b>design</b></a></td><td>package</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage128005" target = "projectFrame"><b>design</b></a></td><td>package</td><td>All things concering the big picture.<br />Not a real code package, rather a container for design drafts, specifications, decisions.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case128261" target = "projectFrame"><b>detect Channels</b></a></td><td>use case</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refexpansion region128005" target = "projectFrame"><b>determine Render Params</b></a></td><td>expansion region</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refopaque activity action128389" target = "projectFrame"><b>determine Render Params</b></a></td><td>opaque activity action</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refexpansion region128005" target = "projectFrame"><b>determine Render Params</b></a></td><td>expansion region</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132613" target = "projectFrame"><b>devnull</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent128773" target = "projectFrame"><b>Dispatcher</b></a></td><td>component</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation134917" target = "projectFrame"><b>dispatchOp</b></a></td><td>operation</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refobject diagram128901" target = "projectFrame"><b>EDL Example2</b></a></td><td>object diagram</td><td>More complex example showing the Object graph in the EDL and how it is linked into the Fixture to yield the actual locations. In this example, an HUE Effect is applied on a part of the Clip</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128005" target = "projectFrame"><b>edls</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137733.html#refclass137733" target = "projectFrame"><b>Effect</b></a></td><td>class</td><td>Effect or media processing component</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#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="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="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>
|
||||
|
|
|
|||
|
|
@ -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="class135301.html#refclass135301" target = "projectFrame"><b>Factory</b></a></td><td>class</td><td>a template for generating functor-like Factory objects, used to encapsulate object creation and providing access via smart-pointers only.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation135813" target = "projectFrame"><b>fetch</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128181.html#refclass128181" target = "projectFrame"><b>File</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation128138" target = "projectFrame"><b>file</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128181" target = "projectFrame"><b>File Mapping</b></a></td><td>class diagram</td><td>Shows whats used to access Frames</td></tr>
|
||||
|
|
|
|||
|
|
@ -46,9 +46,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130949" target = "projectFrame"><b>getValue</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133637.html#refclass133637" target = "projectFrame"><b>GLBuf</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134149" target = "projectFrame"><b>glbuf</b></a></td><td>artifact</td><td>a buffer and render process holding a Video frame for OpenGL rendering</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132613.html#refclass132613" target = "projectFrame"><b>GLPipe</b></a></td><td>class</td><td>specialized connection node used to handle the transfer of OpenGL data from a image bitmap into texture form</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133253" target = "projectFrame"><b>glpipe</b></a></td><td>artifact</td><td>specialized connection element for handling OpenGL implementation details</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133125.html#refclass133125" target = "projectFrame"><b>GLRender</b></a></td><td>class</td><td>Representation of a OpenGL accelerated Video render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact133637" target = "projectFrame"><b>glrender</b></a></td><td>artifact</td><td>Representation of a OpenGL accellerated Video render process</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute131077" target = "projectFrame"><b>groups</b></a></td><td>attribute</td><td>additional classification, selections or departments this asset belongs to. Groups are optional, non-exclusive and may be overlapping.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129797" target = "projectFrame"><b>gui</b></a></td><td>package</td><td>sourcecode package<br /><br />User Interface classes go here</td></tr>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128225" target = "projectFrame"><b>handles_available</b></a></td><td>attribute</td><td>initialized to the maximum number of filehandles the backend may use for mapped files. When no handles are available, the handle which is last in the handles list is closed and (re-)used.<br />Else this number is decremented for each new filehandle used and incremented for any one explicitly freed.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram130181" target = "projectFrame"><b>Hierarchy</b></a></td><td>class diagram</td><td>Lumiera Exception hierarchy</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation133381" target = "projectFrame"><b>howtoProc</b></a></td><td>operation</td><td>@return descriptor how to build a render pipeline corresponding to this media</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132101.html#refclass132101" target = "projectFrame"><b>Hub</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132741" target = "projectFrame"><b>hub</b></a></td><td>artifact</td><td>special ProcNode used to build data distributing connections</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133893" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133253" target = "projectFrame"><b>HUE</b></a></td><td>class instance</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -20,9 +20,10 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130437" target = "projectFrame"><b>id</b></a></td><td>attribute</td><td>Asset primary key.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128309" target = "projectFrame"><b>In Memory Database</b></a></td><td>class diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refactivity action pin128133" target = "projectFrame"><b>inFixture</b></a></td><td>activity action pin</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132869" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143877.html#refclass143877" target = "projectFrame"><b>InPlace</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131461" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134149" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132869" target = "projectFrame"><b>input</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131461" target = "projectFrame"><b>instance</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation143621" target = "projectFrame"><b>instructions</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view129029" target = "projectFrame"><b>Interface</b></a></td><td>class view</td><td></td></tr>
|
||||
|
|
@ -31,8 +32,10 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134661" target = "projectFrame"><b>interpolator</b></a></td><td>artifact</td><td>denotes a facility to get (continuously interpolated) parameter values</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134789.html#refclass134789" target = "projectFrame"><b>Interpolator</b></a></td><td>class</td><td>Provides the implementation for getting the acutal value of a time varying or automated effect/plugin parameter</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136069.html#refclass136069" target = "projectFrame"><b>Invalid</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143493.html#refclass143493" target = "projectFrame"><b>InvocationStateBase</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation138373" target = "projectFrame"><b>ipo</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation132869" target = "projectFrame"><b>isActive</b></a></td><td>operation</td><td>weather this asset is swithced on and consequently included in the fixture and participates in rendering</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation136325" target = "projectFrame"><b>isCalculated</b></a></td><td>operation</td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -33,8 +33,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>
|
||||
|
|
|
|||
|
|
@ -20,9 +20,13 @@
|
|||
<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#refuse case129157" target = "projectFrame"><b>need sub object</b></a></td><td>use case</td><td></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#refclass instance136197" target = "projectFrame"><b>node1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136581" target = "projectFrame"><b>node2</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance136837" target = "projectFrame"><b>node3</b></a></td><td>class instance</td><td></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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143365.html#refclass143365" target = "projectFrame"><b>NodeWiring</b></a></td><td>class</td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -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 Lumiera codebase is "lumi".</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="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#refrelation147973" target = "projectFrame"><b>outPort</b></a></td><td>relation</td><td>the Port this MObject wants to be conected to</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation132613" target = "projectFrame"><b>output</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram128005" target = "projectFrame"><b>Overview</b></a></td><td>component diagram</td><td>This drawing shows the top level compoents and relations</td></tr>
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refnode128517" target = "projectFrame"><b>pnode</b></a></td><td>node</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute131461" target = "projectFrame"><b>point</b></a></td><td>attribute</td><td>identifying the point where the nodes should be attached</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass view128138" target = "projectFrame"><b>Posix Threads Abstraction</b></a></td><td>class view</td><td>C++ wrapers for pthreads</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation152581" target = "projectFrame"><b>predecessors</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance135941" target = "projectFrame"><b>predicate impl</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129077.html#refclass129077" target = "projectFrame"><b>Prefetch</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class137605.html#refclass137605" target = "projectFrame"><b>Preview</b></a></td><td>class</td><td>alternative version of the media data, probably with lower resolution</td></tr>
|
||||
|
|
@ -51,6 +52,9 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129797" target = "projectFrame"><b>proc</b></a></td><td>attribute</td><td>holds the Processor (Render Engine Element) to be built by the current build step</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131077" target = "projectFrame"><b>Proc-Asset Relations</b></a></td><td>class diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent diagram130053" target = "projectFrame"><b>proc-components</b></a></td><td>component diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class141957.html#refclass141957" target = "projectFrame"><b>ProcDispatcher</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class143749.html#refclass143749" target = "projectFrame"><b>Process</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation136069" target = "projectFrame"><b>process</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage129285" target = "projectFrame"><b>ProcessingLayer</b></a></td><td>package</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131461.html#refclass131461" target = "projectFrame"><b>Processor</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132101" target = "projectFrame"><b>processor</b></a></td><td>artifact</td><td>a single render pipeline for one segment of the timeline</td></tr>
|
||||
|
|
@ -62,6 +66,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class132229.html#refclass132229" target = "projectFrame"><b>Projector</b></a></td><td>class</td><td>Special video processing node used to scale and translate image data.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact132869" target = "projectFrame"><b>projector</b></a></td><td>artifact</td><td>video ProcNode for scaling and translating image data</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation138629" target = "projectFrame"><b>provider</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation135685" target = "projectFrame"><b>pull</b></a></td><td>operation</td><td></td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -22,10 +22,13 @@
|
|||
<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>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#refoperation136197" target = "projectFrame"><b>releaseBuffer</b></a></td><td>operation</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="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#refoperation132741" target = "projectFrame"><b>remove</b></a></td><td>operation</td><td>remove the given asset <i>together with all its dependants</i> 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#refclass diagram131973" target = "projectFrame"><b>Render Mechanics</b></a></td><td>class diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcollaboration diagram132229" target = "projectFrame"><b>Render Process</b></a></td><td>collaboration 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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131333.html#refclass131333" target = "projectFrame"><b>RenderEngine</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact131973" target = "projectFrame"><b>renderengine</b></a></td><td>artifact</td><td>a complete network of processing nodes usable for rendering</td></tr>
|
||||
|
|
@ -42,6 +45,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation135429" target = "projectFrame"><b>resolve</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130693" target = "projectFrame"><b>Resolver</b></a></td><td>component</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140933.html#refclass140933" target = "projectFrame"><b>ResolverBase</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation135557" target = "projectFrame"><b>retrieve</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131973" target = "projectFrame"><b>rootCause</b></a></td><td>operation</td><td>If this exception was caused by a chain of further exceptions,<br />return the first one registered in this throw sequence.<br />This works only, if every exceptions thrown as a consequence<br />of another exception is propperly constructed by passing<br />the original exception to the constructor</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refcomponent130821" target = "projectFrame"><b>Rule Base</b></a></td><td>component</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram131461" target = "projectFrame"><b>Rules access</b></a></td><td>class diagram</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -32,8 +32,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#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="index.html#refclass view128005" target = "projectFrame"><b>Session</b></a></td><td>class view</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refclass139653" target = "projectFrame"><b>Session</b></a></td><td>class</td><td>Primary Interface for all editing tasks.<br />The session contains defaults, all the assets being edited, and a set of EDL with the individual MObjects to be manipulated and rendered.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram128133" target = "projectFrame"><b>Session structure</b></a></td><td>class diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact128517" target = "projectFrame"><b>sessionimpl</b></a></td><td>artifact</td><td>holds the complete session data to be edited by the user</td></tr>
|
||||
|
|
@ -47,17 +47,21 @@
|
|||
<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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute128645" target = "projectFrame"><b>start</b></a></td><td>attribute</td><td>startpos in source</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129413" target = "projectFrame"><b>start</b></a></td><td>attribute</td><td>begin of the timerange covered by this processor</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute129925" target = "projectFrame"><b>start</b></a></td><td>attribute</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refclass132741" target = "projectFrame"><b>State</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refnode128773" target = "projectFrame"><b>State</b></a></td><td>node</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135941.html#refclass135941" target = "projectFrame"><b>State</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refclass132741" target = "projectFrame"><b>StateProxy</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation152709" target = "projectFrame"><b>state</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142597.html#refclass142597" target = "projectFrame"><b>StateAdapter</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass diagram132357" target = "projectFrame"><b>StateAdapter composition</b></a></td><td>class diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142469.html#refclass142469" target = "projectFrame"><b>StateProxy</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact130949" target = "projectFrame"><b>stateproxy</b></a></td><td>artifact</td><td>Key Interface representing a render process and encapsulating state</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136325.html#refclass136325" target = "projectFrame"><b>std::exception</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136965.html#refclass136965" target = "projectFrame"><b>Struct</b></a></td><td>class</td><td>key abstraction: structural asset</td></tr>
|
||||
|
|
|
|||
|
|
@ -42,13 +42,13 @@
|
|||
<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#refoperation134405" 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>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130437" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130693" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#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#refoperation130309" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130181" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation129925" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130053" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation130181" target = "projectFrame"><b>treat</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140805.html#refclass140805" target = "projectFrame"><b>TypeHandler</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class141317.html#refclass141317" target = "projectFrame"><b>TypeHandler<Pipe></b></a></td><td>class</td><td></td></tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -20,27 +20,25 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refattribute130949" target = "projectFrame"><b>version</b></a></td><td>attribute</td><td>version number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class133509.html#refclass133509" target = "projectFrame"><b>VFrame</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact134021" target = "projectFrame"><b>vframe</b></a></td><td>artifact</td><td>a buffer and render process holding a Video frame</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance133381" target = "projectFrame"><b>vid1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance131973" target = "projectFrame"><b>vid1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 instance137093" 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 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 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 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 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 instance132741" 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 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 instance130949" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance129157" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance134277" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass instance132997" target = "projectFrame"><b>video1</b></a></td><td>class instance</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refclass 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 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 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="class140165.html#refclass140165" target = "projectFrame"><b>Visitable</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refpackage130949" target = "projectFrame"><b>visitor</b></a></td><td>package</td><td>sub-namespace for visitor library implementation</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact139141" target = "projectFrame"><b>visitor</b></a></td><td>artifact</td><td>Acyclic Visitor library</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>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131845" target = "projectFrame"><b>what</b></a></td><td>operation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refoperation131717" target = "projectFrame"><b>what</b></a></td><td>operation</td><td>the base class of all exceptions thrown by the standard library</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refuse case diagram131717" target = "projectFrame"><b>when to query</b></a></td><td>use case diagram</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation154117" target = "projectFrame"><b>wiring</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142725.html#refclass142725" target = "projectFrame"><b>WiringDescriptor</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class144005.html#refclass144005" target = "projectFrame"><b>WiringTable</b></a></td><td>class</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refrelation148229" target = "projectFrame"><b>wiringTemplate</b></a></td><td>relation</td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="index.html#refartifact139269" target = "projectFrame"><b>wish</b></a></td><td>artifact</td><td>LocatingPin representing a low-priority directive by the user,<br />to be fulfilled only if possible (and after satisfying the<br />more important LocatingPins)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class130053.html#refclass130053" target = "projectFrame"><b>Wish</b></a></td><td>class</td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
<table>
|
||||
<tr bgcolor=#f0f0f0><td align=center><b>Operation</b></td><td align=center><b>Class</b></td><td align=center><b>Description</b></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refoperation135941"><b>allocateBuffer</b></a></td><td><a href="class132741.html#refclass132741"><b>State</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134021.html#refoperation129669"><b>apply</b></a></td><td><a href="class134021.html#refclass134021"><b>Buildable</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140165.html#refoperation134789"><b>apply</b></a></td><td><a href="class140165.html#refclass140165"><b>Visitable</b></a></td><td></td></tr>
|
||||
<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>
|
||||
|
|
@ -29,6 +30,7 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class139653.html#refoperation133509"><b>currEDL</b></a></td><td><a href="class139653.html#refclass139653"><b>Session</b></a></td><td>The EDL currently in focus. In most cases, Session and EDL are almost the same, just EDL emphasizes the collection aspect. But generally (for larger editing projects) one Session can contain several EDLs, which may even be nested. At any given time, only one of these EDLs has focus and recieves the editing commands.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140165.html#refoperation134917"><b>dispatchOp</b></a></td><td><a href="class140165.html#refclass140165"><b>Visitable</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132997"><b>enable</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refoperation135813"><b>fetch</b></a></td><td><a href="class132741.html#refclass132741"><b>State</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140805.html#refoperation135045"><b>find</b></a></td><td><a href="class140805.html#refclass140805"><b>TypeHandler</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135429.html#refoperation131589"><b>get</b></a></td><td><a href="class135429.html#refclass135429"><b>Appconfig</b></a></td><td>access the configuation value for a given key.<br />@return empty string for unknown keys, else the corresponding configuration value</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129541.html#refoperation131205"><b>get_repr</b></a></td><td><a href="class129541.html#refclass129541"><b>Allocation</b></a></td><td></td></tr>
|
||||
|
|
@ -47,26 +49,31 @@
|
|||
<tr bgcolor=#f0f0f0><td><a href="class134661.html#refoperation130949"><b>getValue</b></a></td><td><a href="class134661.html#refclass134661"><b>ParamProvider</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136709.html#refoperation133381"><b>howtoProc</b></a></td><td><a href="class136709.html#refclass136709"><b>Media</b></a></td><td>@return descriptor how to build a render pipeline corresponding to this media</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136453.html#refoperation132869"><b>isActive</b></a></td><td><a href="class136453.html#refclass136453"><b>Asset</b></a></td><td>weather this asset is swithced on and consequently included in the fixture and participates in rendering</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refoperation136325"><b>isCalculated</b></a></td><td><a href="class132741.html#refclass132741"><b>State</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation132613"><b>known</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td>@return true if the given id is registered in the internal asset DB</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation134021"><b>load</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>replace the current session by a new<br />session loaded from serialized state.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140805.html#refoperation135173"><b>make</b></a></td><td><a href="class140805.html#refclass140805"><b>TypeHandler</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131333.html#refoperation129413"><b>play</b></a></td><td><a href="class131333.html#refclass131333"><b>RenderEngine</b></a></td><td>TODO: will probably be handled differently (see Cehteh)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131717.html#refoperation136069"><b>process</b></a></td><td><a href="class131717.html#refclass131717"><b>ProcNode</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class131717.html#refoperation135685"><b>pull</b></a></td><td><a href="class131717.html#refclass131717"><b>ProcNode</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class132741.html#refoperation136197"><b>releaseBuffer</b></a></td><td><a href="class132741.html#refclass132741"><b>State</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class136581.html#refoperation132741"><b>remove</b></a></td><td><a href="class136581.html#refclass136581"><b>AssetManager</b></a></td><td>remove the given asset <i>together with all its dependants</i> from the internal DB</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation133893"><b>reset</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>reset all session config and <br />start with a pristine default session.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class128645.html#refoperation128005"><b>resolve</b></a></td><td><a href="class128645.html#refclass128645"><b>Placement</b></a></td><td>create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140677.html#refoperation135301"><b>resolve</b></a></td><td><a href="class140677.html#refclass140677"><b>QueryHandler</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class141189.html#refoperation135429"><b>resolve</b></a></td><td><a href="class141189.html#refclass141189"><b>QueryHandlerImpl</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class142597.html#refoperation135557"><b>retrieve</b></a></td><td><a href="class142597.html#refclass142597"><b>StateAdapter</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135557.html#refoperation131973"><b>rootCause</b></a></td><td><a href="class135557.html#refclass135557"><b>Error</b></a></td><td>If this exception was caused by a chain of further exceptions,<br />return the first one registered in this throw sequence.<br />This works only, if every exceptions thrown as a consequence<br />of another exception is propperly constructed by passing<br />the original exception to the constructor</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class139781.html#refoperation134149"><b>save</b></a></td><td><a href="class139781.html#refclass139781"><b>SessManager</b></a></td><td>create a complete, serialized representation<br />of the current session config and contents.<br />@todo how to serialize, prameters, return value?</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class140293.html#refoperation134405"><b>treat</b></a></td><td><a href="class140293.html#refclass140293"><b>Applicable</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134149.html#refoperation129797"><b>treat</b></a></td><td><a href="class134149.html#refclass134149"><b>BuilderTool</b></a></td><td>This operation is to be overloaded for the specific MObject subclasses to be treated.</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130565"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130437"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130309"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130565"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134405.html#refoperation130693"><b>treat</b></a></td><td><a href="class134405.html#refclass134405"><b>NodeCreatorTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation129925"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation130053"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation130181"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class134277.html#refoperation129925"><b>treat</b></a></td><td><a href="class134277.html#refclass134277"><b>SegmentationTool</b></a></td><td></td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refoperation128010"><b>useFile</b></a></td><td><a href="class129333.html#refclass129333"><b>FileProvider</b></a></td><td>Announces that the application intends to use this file with mode (READ|WRITE|READWRITE)</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class129333.html#refoperation128138"><b>useTemporaryStorage</b></a></td><td><a href="class129333.html#refclass129333"><b>FileProvider</b></a></td><td>Provides a pool for interminate frames</td></tr>
|
||||
<tr bgcolor=#f0f0f0><td><a href="class135557.html#refoperation131845"><b>what</b></a></td><td><a href="class135557.html#refclass135557"><b>Error</b></a></td><td></td></tr>
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ namespace lumiera
|
|||
|
||||
/** install our own handler for undeclared exceptions. Will be
|
||||
* called automatically ON_BASIC_INIT when including errror.hpp
|
||||
* @note it's OK this is defined multiple times...
|
||||
* @see appconfig.hpp */
|
||||
void install_unexpectedException_handler ();
|
||||
namespace {
|
||||
|
|
|
|||
|
|
@ -129,7 +129,8 @@ namespace lumiera
|
|||
* All other lables are just arbitrary (string) constants and it
|
||||
* is necessary that "someone" cares to fire off the lifcycle events
|
||||
* at the right place. For example, lumiera-main (and the test runner)
|
||||
* calls \c Appconfig::instance().execute(ON_GLOBAL_INIT) (and..SHUTDOWN)
|
||||
* calls \c Appconfig::instance().execute(ON_GLOBAL_INIT) (and..SHUTDOWN)
|
||||
* @note duplicate or repeated calls with the same callback are a NOP
|
||||
*/
|
||||
class LifecycleHook
|
||||
: private noncopyable
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
/*
|
||||
TOOLFACTORY.hpp - supply of Tool implementations for the Builder
|
||||
|
||||
Copyright (C) Lumiera.org
|
||||
2008, Hermann Vosseler <Ichthyostega@web.de>
|
||||
|
||||
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_BUILDER_TOOLFACTORY_H
|
||||
#define MOBJECT_BUILDER_TOOLFACTORY_H
|
||||
|
||||
#include "proc/mobject/builder/buildertool.hpp"
|
||||
|
||||
|
||||
|
||||
namespace mobject
|
||||
{
|
||||
namespace builder
|
||||
{
|
||||
|
||||
|
||||
class ToolFactory
|
||||
{
|
||||
public:
|
||||
BuilderTool & configure () ;
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace mobject::builder
|
||||
|
||||
} // namespace mobject
|
||||
#endif
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"RenderEngine" // ProcessingLayer::RenderEngine
|
||||
revision 13
|
||||
revision 16
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -82,6 +82,16 @@ format 40
|
|||
size A4
|
||||
end
|
||||
|
||||
classdiagram 131973 "Render Mechanics"
|
||||
draw_all_relations no hide_attributes default hide_operations default show_members_full_definition yes 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
|
||||
size A4
|
||||
end
|
||||
|
||||
classdiagram 132357 "StateAdapter composition"
|
||||
draw_all_relations no 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
|
||||
size A4
|
||||
end
|
||||
|
||||
class 131333 "RenderEngine"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
|
|
@ -155,7 +165,7 @@ ${inlines}
|
|||
a package
|
||||
cpp default "#include in source"
|
||||
classrelation_ref 136325 // <dependency>
|
||||
b multiplicity "" parent class_ref 132741 // StateProxy
|
||||
b multiplicity "" parent class_ref 132741 // State
|
||||
end
|
||||
|
||||
attribute 129413 "start"
|
||||
|
|
@ -233,6 +243,46 @@ ${members}};
|
|||
classrelation_ref 137861 // params (<directional aggregation by value>)
|
||||
b multiplicity "" parent class_ref 134533 // Parameter
|
||||
end
|
||||
|
||||
classrelation 152581 // predecessors (<directional aggregation by value>)
|
||||
relation 149125 *-->
|
||||
stereotype "array"
|
||||
a role_name "predecessors" multiplicity "*" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
|
||||
"
|
||||
classrelation_ref 152581 // predecessors (<directional aggregation by value>)
|
||||
b multiplicity "" parent class_ref 142725 // WiringDescriptor
|
||||
end
|
||||
|
||||
operation 135685 "pull"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
|
||||
operation 136069 "process"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
class 131845 "Trafo"
|
||||
|
|
@ -275,26 +325,6 @@ ${inlines}
|
|||
end
|
||||
end
|
||||
|
||||
class 132101 "Hub"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 133125 // <generalisation>
|
||||
relation 132357 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 133125 // <generalisation>
|
||||
b multiplicity "" parent class_ref 131717 // ProcNode
|
||||
end
|
||||
end
|
||||
|
||||
class 132229 "Projector"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
|
|
@ -377,90 +407,6 @@ ${inlines}
|
|||
end
|
||||
end
|
||||
|
||||
class 132613 "GLPipe"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
comment "specialized connection node used to handle the transfer of OpenGL data from a image bitmap into texture form"
|
||||
classrelation 133381 // <generalisation>
|
||||
relation 132613 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 133381 // <generalisation>
|
||||
b multiplicity "" parent class_ref 131973 // Link
|
||||
end
|
||||
end
|
||||
|
||||
class 132869 "ARender"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
comment "Representation of a Audio render process"
|
||||
classrelation 134661 // <generalisation>
|
||||
relation 133509 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 134661 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // StateProxy
|
||||
end
|
||||
end
|
||||
|
||||
class 132997 "VRender"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
comment "Representation of a Video render process. (Encapsulates the video buffers for the actual calculations)"
|
||||
classrelation 134789 // <generalisation>
|
||||
relation 133637 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 134789 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // StateProxy
|
||||
end
|
||||
end
|
||||
|
||||
class 133125 "GLRender"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
comment "Representation of a OpenGL accelerated Video render process"
|
||||
classrelation 134917 // <generalisation>
|
||||
relation 133765 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 134917 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // StateProxy
|
||||
end
|
||||
end
|
||||
|
||||
class 133253 "Frame"
|
||||
abstract visibility public stereotype "interface"
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
|
|
@ -568,5 +514,271 @@ ${inlines}
|
|||
b multiplicity "" parent class_ref 136709 // Media
|
||||
end
|
||||
end
|
||||
|
||||
class 142469 "StateProxy"
|
||||
visibility package stereotype "implementation"
|
||||
nformals 2
|
||||
formal name "WIRING" type "class" explicit_default_value ""
|
||||
explicit_extends ""
|
||||
formal name "POLICY" type "class" explicit_default_value ""
|
||||
explicit_extends ""
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 152453 // <generalisation>
|
||||
relation 148997 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 152453 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // State
|
||||
end
|
||||
|
||||
classrelation 153221 // <generalisation>
|
||||
relation 149765 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 153221 // <generalisation>
|
||||
b multiplicity "" parent class_ref 143877 // InPlace
|
||||
end
|
||||
|
||||
classrelation 154117 // wiring (<unidirectional association>)
|
||||
relation 150661 --->
|
||||
a role_name "wiring" multiplicity "1" const_relation protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 154117 // wiring (<unidirectional association>)
|
||||
b multiplicity "" parent class_ref 144005 // WiringTable
|
||||
end
|
||||
end
|
||||
|
||||
class 142597 "StateAdapter"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 152325 // <generalisation>
|
||||
relation 148869 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 152325 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // State
|
||||
end
|
||||
|
||||
operation 135557 "retrieve"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
|
||||
classrelation 152709 // state (<unidirectional association>)
|
||||
relation 149253 --->
|
||||
a role_name "state" multiplicity "1" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 152709 // state (<unidirectional association>)
|
||||
b multiplicity "" parent class_ref 142469 // StateProxy
|
||||
end
|
||||
|
||||
classrelation 152837 // <unidirectional association>
|
||||
relation 149381 --->
|
||||
a role_name "" multiplicity "" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 152837 // <unidirectional association>
|
||||
b multiplicity "" parent class_ref 133253 // Frame
|
||||
end
|
||||
end
|
||||
|
||||
class 142725 "WiringDescriptor"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
end
|
||||
|
||||
class 143365 "NodeWiring"
|
||||
visibility package
|
||||
nformals 1
|
||||
formal name "STATE" type "class" explicit_default_value ""
|
||||
explicit_extends ""
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 152965 // <generalisation>
|
||||
relation 149509 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 152965 // <generalisation>
|
||||
b multiplicity "" parent class_ref 142725 // WiringDescriptor
|
||||
end
|
||||
|
||||
classrelation 153093 // <dependency>
|
||||
relation 149637 -_->
|
||||
a default
|
||||
cpp default "Generated"
|
||||
classrelation_ref 153093 // <dependency>
|
||||
b multiplicity "" parent class_ref 142597 // StateAdapter
|
||||
end
|
||||
end
|
||||
|
||||
class 143493 "InvocationStateBase"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 153733 // <generalisation>
|
||||
relation 150277 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 153733 // <generalisation>
|
||||
b multiplicity "" parent class_ref 132741 // State
|
||||
end
|
||||
end
|
||||
|
||||
class 143621 "Caching"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 153605 // <generalisation>
|
||||
relation 150149 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 153605 // <generalisation>
|
||||
b multiplicity "" parent class_ref 143493 // InvocationStateBase
|
||||
end
|
||||
end
|
||||
|
||||
class 143749 "Process"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 153477 // <generalisation>
|
||||
relation 150021 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 153477 // <generalisation>
|
||||
b multiplicity "" parent class_ref 143621 // Caching
|
||||
end
|
||||
end
|
||||
|
||||
class 143877 "InPlace"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 153349 // <generalisation>
|
||||
relation 149893 ---|>
|
||||
a public
|
||||
cpp default "${type}"
|
||||
classrelation_ref 153349 // <generalisation>
|
||||
b multiplicity "" parent class_ref 143749 // Process
|
||||
end
|
||||
end
|
||||
|
||||
class 144005 "WiringTable"
|
||||
visibility package
|
||||
nformals 1
|
||||
formal name "SIZ" type "int" explicit_default_value ""
|
||||
explicit_extends ""
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
classrelation 153861 // <directional aggregation by value>
|
||||
relation 150405 *-->
|
||||
stereotype "array"
|
||||
a role_name "" multiplicity "SIZ" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
|
||||
"
|
||||
classrelation_ref 153861 // <directional aggregation by value>
|
||||
b multiplicity "" parent class_ref 144133 // BuffHandle
|
||||
end
|
||||
|
||||
classrelation 153989 // <unidirectional association>
|
||||
relation 150533 --->
|
||||
a role_name "" multiplicity "" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
|
||||
"
|
||||
classrelation_ref 153989 // <unidirectional association>
|
||||
b multiplicity "" parent class_ref 142725 // WiringDescriptor
|
||||
end
|
||||
end
|
||||
|
||||
class 144133 "BuffHandle"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ classcanvas 128389 class_ref 131589 // ExitNode
|
|||
end
|
||||
classcanvas 128517 class_ref 131717 // ProcNode
|
||||
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 462 264 2000
|
||||
xyz 462 257 2000
|
||||
end
|
||||
classcanvas 129029 class_ref 131845 // Trafo
|
||||
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
|
||||
|
|
@ -24,10 +24,6 @@ classcanvas 129157 class_ref 131973 // Link
|
|||
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 648 444 2000
|
||||
end
|
||||
classcanvas 129285 class_ref 132101 // Hub
|
||||
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 593 444 2000
|
||||
end
|
||||
classcanvas 129413 class_ref 132229 // Projector
|
||||
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 417 561 2000
|
||||
|
|
@ -40,26 +36,10 @@ classcanvas 129669 class_ref 132485 // PluginAdapter
|
|||
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 506 621 2000
|
||||
end
|
||||
classcanvas 129797 class_ref 132613 // GLPipe
|
||||
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 699 531 2000
|
||||
end
|
||||
classcanvas 132229 class_ref 132741 // StateProxy
|
||||
classcanvas 132229 class_ref 132741 // State
|
||||
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 36 374 2000
|
||||
end
|
||||
classcanvas 132997 class_ref 132869 // ARender
|
||||
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 31 511 2000
|
||||
end
|
||||
classcanvas 133125 class_ref 132997 // VRender
|
||||
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 110 511 2000
|
||||
end
|
||||
classcanvas 133253 class_ref 133125 // GLRender
|
||||
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 175 511 2000
|
||||
end
|
||||
classcanvas 133765 class_ref 133253 // Frame
|
||||
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 269 612 2000
|
||||
|
|
@ -97,36 +77,25 @@ relationcanvas 128901 relation_ref 131973 // <unidirectional association>
|
|||
multiplicity_a_pos 414 419 3000 no_multiplicity_b
|
||||
relationcanvas 129925 relation_ref 132101 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 128389 z 1999 to point 445 384
|
||||
line 130693 z 1999 to point 499 384
|
||||
from ref 128389 z 1999 to point 445 397
|
||||
line 130693 z 1999 to point 499 397
|
||||
line 130821 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 130053 relation_ref 132229 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 129029 z 1999 to point 516 383
|
||||
line 130949 z 1999 to point 499 383
|
||||
from ref 129029 z 1999 to point 516 397
|
||||
line 130949 z 1999 to point 499 397
|
||||
line 131077 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 130181 relation_ref 132357 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 129285 z 1999 to point 613 384
|
||||
line 131205 z 1999 to point 499 384
|
||||
line 131333 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 130309 relation_ref 132485 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 129157 z 1999 to point 668 384
|
||||
line 131461 z 1999 to point 499 384
|
||||
from ref 129157 z 1999 to point 668 397
|
||||
line 131461 z 1999 to point 499 397
|
||||
line 131589 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 131717 relation_ref 132613 // <generalisation>
|
||||
from ref 129797 z 1999 to ref 129157
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 131845 relation_ref 132741 // <generalisation>
|
||||
from ref 129413 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
|
|
@ -139,27 +108,6 @@ relationcanvas 132101 relation_ref 132997 // <generalisation>
|
|||
from ref 129669 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 133381 relation_ref 133509 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 132997 z 1999 to point 58 472
|
||||
line 134277 z 1999 to point 73 472
|
||||
line 134405 z 1999 to ref 132229
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 133509 relation_ref 133637 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 133125 z 1999 to point 136 472
|
||||
line 134533 z 1999 to point 73 472
|
||||
line 134661 z 1999 to ref 132229
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 133637 relation_ref 133765 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 133253 z 1999 to point 206 472
|
||||
line 134789 z 1999 to point 73 472
|
||||
line 134917 z 1999 to ref 132229
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 135045 relation_ref 133893 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 133893 z 1999 to point 252 704
|
||||
|
|
@ -179,14 +127,14 @@ relationcanvas 135429 relation_ref 134149 // <generalisation>
|
|||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 136965 relation_ref 134533 // <unidirectional association>
|
||||
from ref 132229 z 1999 to point 306 465
|
||||
from ref 132229 z 1999 stereotype "<<vector>>" xyz 279 441 3000 to point 306 465
|
||||
line 137093 z 1999 to ref 133765
|
||||
role_a_pos 318 587 3000 no_role_b
|
||||
no_multiplicity_a multiplicity_b_pos 124 427 3000
|
||||
relationcanvas 137349 relation_ref 134661 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 137221 z 1999 to point 763 384
|
||||
line 137477 z 1999 to point 499 384
|
||||
from ref 137221 z 1999 to point 763 397
|
||||
line 137477 z 1999 to point 499 397
|
||||
line 137605 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
|
|
@ -203,8 +151,8 @@ relationcanvas 139397 relation_ref 135429 // <unidirectional association>
|
|||
from ref 128517 z 1999 to point 432 264
|
||||
line 139525 z 1999 to point 432 294
|
||||
line 139653 z 1999 to ref 128517
|
||||
role_a_pos 414 272 3000 no_role_b
|
||||
no_multiplicity_a multiplicity_b_pos 445 291 3000
|
||||
role_a_pos 414 276 3000 no_role_b
|
||||
no_multiplicity_a multiplicity_b_pos 445 296 3000
|
||||
relationcanvas 139909 relation_ref 136965 // <generalisation>
|
||||
from ref 139781 z 1999 to ref 129029
|
||||
no_role_a no_role_b
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"Builder" // ProcessingLayer::MObject::Builder
|
||||
revision 14
|
||||
revision 16
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -299,7 +299,7 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
|||
end
|
||||
end
|
||||
|
||||
class 132741 "StateProxy"
|
||||
class 132741 "State"
|
||||
abstract visibility public stereotype "interface"
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
|
|
@ -316,12 +316,73 @@ ${members}};
|
|||
|
||||
classrelation 135941 // currFrame (<unidirectional association>)
|
||||
relation 134533 --->
|
||||
stereotype "vector"
|
||||
a role_name "currFrame" multiplicity "" protected
|
||||
cpp default " ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
|
||||
"
|
||||
classrelation_ref 135941 // currFrame (<unidirectional association>)
|
||||
b multiplicity "1" parent class_ref 133253 // Frame
|
||||
end
|
||||
|
||||
operation 135813 "fetch"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
|
||||
operation 135941 "allocateBuffer"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
|
||||
operation 136197 "releaseBuffer"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
|
||||
operation 136325 "isCalculated"
|
||||
public explicit_return_type ""
|
||||
nparams 0
|
||||
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
|
||||
cpp_def "${comment}${inline}${type}
|
||||
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
|
||||
{
|
||||
${body}
|
||||
}
|
||||
|
||||
"
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
class 134021 "Buildable"
|
||||
|
|
|
|||
|
|
@ -33,12 +33,6 @@ classinstancecanvas 129797 classinstance_ref 131717 // vid_a
|
|||
classinstancecanvas 129925 classinstance_ref 131845 // aud_a
|
||||
xyz 444 398 2000
|
||||
end
|
||||
classinstancecanvas 131717 classinstance_ref 131973 // vid1
|
||||
xyz 188 427 2000
|
||||
end
|
||||
classinstancecanvas 131845 classinstance_ref 132101 // au1
|
||||
xyz 554 289 2000
|
||||
end
|
||||
classinstancecanvas 131973 classinstance_ref 132229 //
|
||||
xyz 117 492 2000
|
||||
end
|
||||
|
|
@ -49,9 +43,15 @@ note 133125 "render state proxy passed on"
|
|||
xyzwh 123 355 2000 104 53
|
||||
textcanvas 133253 "Video and Audio Clip of length = 5 frames positioned at frame 2, producing two output streams (frame sequence)."
|
||||
xyzwh 445 507 2000 175 83
|
||||
classinstancecanvas 133381 classinstance_ref 137093 // vid1
|
||||
xyz 172 431 2000
|
||||
end
|
||||
classinstancecanvas 133893 classinstance_ref 137221 // au1
|
||||
xyz 556 289 2000
|
||||
end
|
||||
objectlinkcanvas 128389 rel relation_ref 131845 // <directional aggregation by value>
|
||||
geometry VH
|
||||
from ref 128005 z 1999 to point 117 205
|
||||
from ref 128005 z 1999 stereotype "<<list>>" xyz 101 154 3000 to point 117 205
|
||||
line 81 z 1999 to ref 128261
|
||||
role_a_pos 188 183 3000 no_role_b
|
||||
objectlinkcanvas 128901 rel relation_ref 131973 // <unidirectional association>
|
||||
|
|
@ -75,20 +75,18 @@ objectlinkcanvas 131461 rel relation_ref 135429 // <unidirectional association>
|
|||
objectlinkcanvas 131589 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128773 z 1999 to ref 129925
|
||||
role_a_pos 494 373 3000 no_role_b
|
||||
objectlinkcanvas 132229 rel relation_ref 134533 // <unidirectional association>
|
||||
objectlinkcanvas 133509 norel
|
||||
geometry VHr
|
||||
from ref 131717 z 1999 to point 140 438
|
||||
line 1 z 1999 to ref 131973
|
||||
role_a_pos 152 467 3000 no_role_b
|
||||
objectlinkcanvas 132485 rel relation_ref 134533 // <unidirectional association>
|
||||
from ref 133381 z 1999 to point 140 442
|
||||
line 133637 z 1999 to ref 131973
|
||||
no_role_a no_role_b
|
||||
objectlinkcanvas 134021 norel
|
||||
geometry HV
|
||||
from ref 131845 z 1999 to point 676 300
|
||||
line 1 z 1999 to ref 132101
|
||||
role_a_pos 688 328 3000 no_role_b
|
||||
line 132613 -_-_
|
||||
from ref 128261 z 1999 to point 244 320
|
||||
line 132741 z 1999 to ref 131717
|
||||
line 132869 -_-_
|
||||
from ref 128133 z 1999 to point 583 259
|
||||
line 132997 z 1999 to ref 131845
|
||||
from ref 133893 z 1999 to point 676 300
|
||||
line 134149 z 1999 to ref 132101
|
||||
no_role_a no_role_b
|
||||
line 133765 -_-_
|
||||
from ref 128261 z 1999 to ref 133381
|
||||
line 134277 -_-_
|
||||
from ref 128133 z 1999 to ref 133893
|
||||
end
|
||||
|
|
|
|||
|
|
@ -26,11 +26,8 @@ end
|
|||
classinstancecanvas 129157 classinstance_ref 133253 // HUE
|
||||
xyz 477 444 2000
|
||||
end
|
||||
classinstancecanvas 129541 classinstance_ref 133381 // vid1
|
||||
xyz 409 293 2000
|
||||
end
|
||||
classinstancecanvas 129669 classinstance_ref 133509 //
|
||||
xyz 138 498 2000
|
||||
xyz 151 399 2000
|
||||
end
|
||||
classinstancecanvas 129797 classinstance_ref 133637 // video1
|
||||
xyz 478 172 2000
|
||||
|
|
@ -60,6 +57,9 @@ note 134661 "Note: because the Engine Components are stateless, various calculat
|
|||
xyzwh 569 45 2000 240 75
|
||||
textcanvas 134789 "Video Clip from 2 to 7, with an attached HUE effect starting 3 frames after begin and overlapping by 1 frame beyond the end"
|
||||
xyzwh 145 553 2000 175 87
|
||||
classinstancecanvas 134917 classinstance_ref 137093 // vid1
|
||||
xyz 410 291 3005
|
||||
end
|
||||
objectlinkcanvas 130053 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 129925 z 1999 to ref 128901
|
||||
role_a_pos 537 361 3000 no_role_b
|
||||
|
|
@ -67,46 +67,46 @@ objectlinkcanvas 130437 rel relation_ref 135429 // <unidirectional association>
|
|||
from ref 129157 z 1999 to ref 128645
|
||||
role_a_pos 539 472 3000 no_role_b
|
||||
objectlinkcanvas 130565 rel relation_ref 131973 // <unidirectional association>
|
||||
from ref 128773 z 1999 stereotype "<<has_a>>" xyz 624 285 3000 to ref 128517
|
||||
from ref 128773 z 1999 stereotype "<<has_a>>" xyz 656 263 3000 to ref 128517
|
||||
role_a_pos 661 304 3000 no_role_b
|
||||
objectlinkcanvas 130693 rel relation_ref 134533 // <unidirectional association>
|
||||
geometry VHr
|
||||
from ref 129541 z 1999 to point 161 304
|
||||
line 130821 z 1999 to ref 129669
|
||||
role_a_pos 173 473 3000 no_role_b
|
||||
objectlinkcanvas 130949 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128901 z 1999 to ref 129157
|
||||
role_a_pos 538 419 3000 no_role_b
|
||||
objectlinkcanvas 131589 rel relation_ref 131973 // <unidirectional association>
|
||||
from ref 129797 z 1999 stereotype "<<has_a>>" xyz 499 284 3000 to ref 129925
|
||||
role_a_pos 537 304 3000 no_role_b
|
||||
objectlinkcanvas 132613 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128517 z 1999 to ref 132229
|
||||
role_a_pos 662 419 3000 no_role_b
|
||||
objectlinkcanvas 132869 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 132229 z 1999 to ref 128389
|
||||
role_a_pos 662 533 3000 no_role_b
|
||||
objectlinkcanvas 133637 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133509 z 1999 to ref 133381
|
||||
role_a_pos 348 361 3000 no_role_b
|
||||
objectlinkcanvas 133765 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133125 z 1999 to ref 132997
|
||||
role_a_pos 416 577 3000 no_role_b
|
||||
objectlinkcanvas 133893 rel relation_ref 131973 // <unidirectional association>
|
||||
from ref 133253 z 1999 stereotype "<<has_a>>" xyz 291 273 3000 to ref 133509
|
||||
role_a_pos 348 304 3000 no_role_b
|
||||
objectlinkcanvas 134277 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133381 z 1999 to ref 133125
|
||||
role_a_pos 349 473 3000 no_role_b
|
||||
objectlinkcanvas 134405 rel relation_ref 135429 // <unidirectional association>
|
||||
objectlinkcanvas 135045 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128645 z 1999 to ref 132997
|
||||
role_a_pos 446 567 3000 no_role_b
|
||||
objectlinkcanvas 134533 rel relation_ref 131845 // <directional aggregation by value>
|
||||
objectlinkcanvas 135173 rel relation_ref 131845 // <directional aggregation by value>
|
||||
geometry VH
|
||||
from ref 128005 z 1999 to point 123 205
|
||||
line 6 z 1999 to ref 133253
|
||||
role_a_pos 197 183 3000 no_role_b
|
||||
line 131973 -_-_
|
||||
from ref 129797 z 1999 to point 445 243
|
||||
line 132101 z 1999 to ref 129541
|
||||
from ref 128005 z 1999 stereotype "<<list>>" xyz 127 141 3000 to point 123 205
|
||||
line 136965 z 1999 to ref 133253
|
||||
role_a_pos 152 186 3000 no_role_b
|
||||
objectlinkcanvas 135301 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128901 z 1999 to ref 129157
|
||||
role_a_pos 538 419 3000 no_role_b
|
||||
objectlinkcanvas 135429 rel relation_ref 131973 // <unidirectional association>
|
||||
from ref 133253 z 1999 stereotype "<<has_a>>" xyz 282 261 3000 to ref 133509
|
||||
role_a_pos 348 304 3000 no_role_b
|
||||
objectlinkcanvas 135557 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 128517 z 1999 to ref 132229
|
||||
role_a_pos 662 419 3000 no_role_b
|
||||
objectlinkcanvas 135685 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133125 z 1999 to ref 132997
|
||||
role_a_pos 416 577 3000 no_role_b
|
||||
objectlinkcanvas 135813 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 132229 z 1999 to ref 128389
|
||||
role_a_pos 662 533 3000 no_role_b
|
||||
objectlinkcanvas 135941 rel relation_ref 131973 // <unidirectional association>
|
||||
from ref 129797 z 1999 stereotype "<<has_a>>" xyz 529 262 3000 to ref 129925
|
||||
role_a_pos 537 304 3000 no_role_b
|
||||
objectlinkcanvas 136069 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133509 z 1999 to ref 133381
|
||||
role_a_pos 348 361 3000 no_role_b
|
||||
objectlinkcanvas 136197 rel relation_ref 135429 // <unidirectional association>
|
||||
from ref 133381 z 1999 to ref 133125
|
||||
role_a_pos 349 473 3000 no_role_b
|
||||
objectlinkcanvas 136325 norel
|
||||
geometry VHr
|
||||
from ref 134917 z 1999 to point 174 302
|
||||
line 136453 z 1999 to ref 129669
|
||||
no_role_a no_role_b
|
||||
line 136581 -_-_
|
||||
from ref 129797 z 1999 to point 451 237
|
||||
line 136709 z 1999 to ref 134917
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"ProcessingLayer" // ProcessingLayer
|
||||
revision 14
|
||||
revision 21
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -391,26 +391,6 @@ format 40
|
|||
end
|
||||
end
|
||||
|
||||
classinstance 131973 "vid1"
|
||||
type class_ref 132997 // VRender
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
relation_ref 134533 // <unidirectional association>
|
||||
classinstance_ref 132229 //
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 132101 "au1"
|
||||
type class_ref 132869 // ARender
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
relation_ref 134533 // <unidirectional association>
|
||||
classinstance_ref 132357 //
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 132229 ""
|
||||
type class_ref 133509 // VFrame
|
||||
attributes
|
||||
|
|
@ -499,16 +479,6 @@ format 40
|
|||
end
|
||||
end
|
||||
|
||||
classinstance 133381 "vid1"
|
||||
type class_ref 132997 // VRender
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
relation_ref 134533 // <unidirectional association>
|
||||
classinstance_ref 133509 //
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 133509 ""
|
||||
type class_ref 133509 // VFrame
|
||||
attributes
|
||||
|
|
@ -602,5 +572,108 @@ format 40
|
|||
classinstance_ref 134405 // ouput
|
||||
end
|
||||
end
|
||||
|
||||
collaborationdiagram 132229 "Render Process"
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
size A4
|
||||
end
|
||||
|
||||
classinstance 136197 "node1"
|
||||
type class_ref 131717 // ProcNode
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 136325 "ad1"
|
||||
type class_ref 142597 // StateAdapter
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 136453 "current"
|
||||
type class_ref 142469 // StateProxy
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 136581 "node2"
|
||||
type class_ref 131717 // ProcNode
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 136709 "ad2"
|
||||
type class_ref 142597 // StateAdapter
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
class 143109 "BackendCache"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
end
|
||||
|
||||
class 143237 "Caller"
|
||||
visibility package
|
||||
cpp_decl "${comment}${template}class ${name}${inherit}
|
||||
{
|
||||
${members} };
|
||||
${inlines}
|
||||
"
|
||||
java_decl ""
|
||||
idl_decl ""
|
||||
explicit_switch_type ""
|
||||
|
||||
end
|
||||
|
||||
classinstance 136837 "node3"
|
||||
type class_ref 131717 // ProcNode
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 136965 "ad3"
|
||||
type class_ref 142597 // StateAdapter
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 137093 "vid1"
|
||||
type class_ref 142469 // StateProxy
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
|
||||
classinstance 137221 "au1"
|
||||
type class_ref 142469 // StateProxy
|
||||
attributes
|
||||
end
|
||||
relations
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"engine" // design::codegen::proc::engine
|
||||
revision 8
|
||||
revision 9
|
||||
modified_by 5 "hiv"
|
||||
// class settings
|
||||
//class diagram settings
|
||||
|
|
@ -306,7 +306,6 @@ ${namespace_start}
|
|||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 132101 // Hub
|
||||
end
|
||||
comment "special ProcNode used to build data distributing connections"
|
||||
end
|
||||
|
|
@ -501,7 +500,6 @@ ${namespace_start}
|
|||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 132613 // GLPipe
|
||||
end
|
||||
comment "specialized connection element for handling OpenGL implementation details"
|
||||
end
|
||||
|
|
@ -540,7 +538,6 @@ ${namespace_start}
|
|||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 132869 // ARender
|
||||
end
|
||||
comment "Representation of a Audio Render process"
|
||||
end
|
||||
|
|
@ -579,7 +576,6 @@ ${namespace_start}
|
|||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 132997 // VRender
|
||||
end
|
||||
comment "Representation of a Video render process"
|
||||
end
|
||||
|
|
@ -618,7 +614,6 @@ ${namespace_start}
|
|||
${members}
|
||||
${namespace_end}"
|
||||
associated_classes
|
||||
class_ref 133125 // GLRender
|
||||
end
|
||||
comment "Representation of a OpenGL accellerated Video render process"
|
||||
end
|
||||
|
|
|
|||
83
uml/lumiera/131973.diagram
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
format 40
|
||||
|
||||
classcanvas 128005 class_ref 131717 // ProcNode
|
||||
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 103 405 2004
|
||||
end
|
||||
classcanvas 128517 class_ref 132741 // State
|
||||
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 77 18 2000
|
||||
end
|
||||
classcanvas 129669 class_ref 133253 // Frame
|
||||
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 264 313 3005
|
||||
end
|
||||
classcanvas 131845 class_ref 142469 // StateProxy
|
||||
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 126 211 2000
|
||||
end
|
||||
classcanvas 131973 class_ref 142597 // StateAdapter
|
||||
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 40 317 3010
|
||||
end
|
||||
classcanvas 132357 class_ref 142725 // WiringDescriptor
|
||||
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 229 497 2000
|
||||
end
|
||||
classcanvas 135045 class_ref 143365 // NodeWiring
|
||||
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 241 568 2000
|
||||
end
|
||||
textcanvas 135685 "determines concrete Type"
|
||||
xyzwh 100 594 2004 130 18
|
||||
relationcanvas 129797 relation_ref 134533 // <unidirectional association>
|
||||
from ref 128517 z 1999 stereotype "<<vector>>" xyz 277 115 3000 to point 300 136
|
||||
line 130053 z 1999 to ref 129669
|
||||
role_a_pos 312 288 3000 no_role_b
|
||||
no_multiplicity_a multiplicity_b_pos 173 109 3000
|
||||
relationcanvas 132101 relation_ref 148869 // <generalisation>
|
||||
geometry VHV unfixed
|
||||
from ref 131973 z 1999 to point 78 181
|
||||
line 134021 z 1999 to point 118 181
|
||||
line 134149 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 132229 relation_ref 148997 // <generalisation>
|
||||
geometry VHV
|
||||
from ref 131845 z 1999 to point 178 181
|
||||
line 134277 z 1999 to point 118 181
|
||||
line 134405 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 132485 relation_ref 149125 // <directional aggregation by value>
|
||||
geometry HV
|
||||
from ref 128005 z 1999 stereotype "<<array>>" xyz 205 454 3000 to point 277 452
|
||||
line 133381 z 1999 to ref 132357
|
||||
role_a_pos 289 472 3000 no_role_b
|
||||
multiplicity_a_pos 265 472 3000 no_multiplicity_b
|
||||
relationcanvas 133509 relation_ref 149253 // <unidirectional association>
|
||||
from ref 131973 z 1999 to point 178 312
|
||||
line 133637 z 1999 to ref 131845
|
||||
role_a_pos 190 302 3000 no_role_b
|
||||
multiplicity_a_pos 164 302 3000 no_multiplicity_b
|
||||
relationcanvas 134533 relation_ref 149381 // <unidirectional association>
|
||||
from ref 131973 z 3004 to ref 129669
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 135173 relation_ref 149509 // <generalisation>
|
||||
from ref 135045 z 1999 to ref 132357
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 135301 relation_ref 149637 // <dependency>
|
||||
geometry VHr
|
||||
from ref 135045 z 1999 to point 78 596
|
||||
line 135557 z 1999 to ref 131973
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
line 134661 -_-_
|
||||
from ref 131973 z 2003 to ref 128005
|
||||
line 134789 -_-_
|
||||
from ref 131973 z 2003 to point 134 414
|
||||
line 134917 z 2003 to ref 128005
|
||||
preferred_whz 414 544 1
|
||||
end
|
||||
184
uml/lumiera/132229.diagram
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
format 40
|
||||
|
||||
classinstancecanvas 128261 classinstance_ref 136197 // node1
|
||||
xyz 152 504 2000
|
||||
end
|
||||
classinstancecanvas 128389 classinstance_ref 136325 // ad1
|
||||
xyz 191 393 2000
|
||||
end
|
||||
classinstancecanvas 128517 classinstance_ref 136453 // current
|
||||
xyz 188 92 2000
|
||||
end
|
||||
classinstancecanvas 128645 classinstance_ref 136581 // node2
|
||||
xyz 388 393 2000
|
||||
end
|
||||
classinstancecanvas 128773 classinstance_ref 136709 // ad2
|
||||
xyz 422 301 2000
|
||||
end
|
||||
classinstance 128901 class_ref 143109 // BackendCache
|
||||
name "" xyz 692 12 2000
|
||||
classinstance 129029 class_ref 143237 // Caller
|
||||
name "" xyz 28 505 2000
|
||||
classinstancecanvas 130949 classinstance_ref 136837 // node3
|
||||
xyz 625 300 2000
|
||||
end
|
||||
classinstancecanvas 131077 classinstance_ref 136965 // ad3
|
||||
xyz 665 199 2000
|
||||
end
|
||||
textcanvas 133381 "node1 using node2 as predecessor; calculates in-place, will push result to Cache"
|
||||
xyzwh 149 538 2000 408 21
|
||||
textcanvas 133509 "node2 using node3 as predecessor. Calculates without caching"
|
||||
xyzwh 385 427 2005 350 18
|
||||
textcanvas 133637 "node3 doesn't calc, but fetch result from Cache"
|
||||
xyzwh 564 329 2000 231 18
|
||||
linkcanvas 129157
|
||||
from ref 129029 z 1999 to ref 128261
|
||||
dirscanvas 129285 z 1000 linkcanvas_ref 129157
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "1 pull()" xyz 97 480 3000
|
||||
linkcanvas 129413
|
||||
from ref 128261 z 1999 to ref 128389
|
||||
dirscanvas 130309 z 1000 linkcanvas_ref 129413
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "2 retrieve()" xyz 141 437 3000
|
||||
backward_label "16 process()" xyz 236 471 3000
|
||||
linkcanvas 129541
|
||||
from ref 128389 z 1999 to ref 128517
|
||||
dirscanvas 131717 z 1000 linkcanvas_ref 129541
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "3 fetch()
|
||||
11 allocateBuffer()
|
||||
17 isCalculated()" xyz 128 228 3000
|
||||
linkcanvas 129669
|
||||
from ref 128389 z 1999 to ref 128645
|
||||
dirscanvas 130437 z 1000 linkcanvas_ref 129669
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "4 pull()" xyz 319 369 3000
|
||||
linkcanvas 129797
|
||||
from ref 128645 z 1999 to ref 128773
|
||||
dirscanvas 130693 z 1000 linkcanvas_ref 129797
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "5 retrieve()" xyz 379 349 3000
|
||||
backward_label "13 process()" xyz 469 372 3000
|
||||
linkcanvas 130181
|
||||
from ref 128773 z 1999 to ref 128517
|
||||
dirscanvas 133765 z 1000 linkcanvas_ref 130181
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "14 releaseBuffer()" xyz 285 227 3000
|
||||
linkcanvas 131205
|
||||
from ref 128773 z 1999 to ref 130949
|
||||
dirscanvas 131845 z 1000 linkcanvas_ref 131205
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "6 pull()" xyz 553 276 3000
|
||||
linkcanvas 131333
|
||||
from ref 130949 z 1999 to ref 131077
|
||||
dirscanvas 131973 z 1000 linkcanvas_ref 131333
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "7 retrieve()" xyz 615 236 3000
|
||||
linkcanvas 131461
|
||||
from ref 131077 z 1999 to ref 128517
|
||||
dirscanvas 132101 z 1000 linkcanvas_ref 131461
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "8 fetch()" xyz 449 179 3000
|
||||
linkcanvas 131589
|
||||
from ref 128517 z 1999 to point 295 24
|
||||
line 134277 z 1999 to ref 128901
|
||||
dirscanvas 132229 z 1000 linkcanvas_ref 134277
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "9 fetch
|
||||
12 allocateNewFrame
|
||||
15 releaseFrame
|
||||
18 isCalculatedFrame
|
||||
20 releaseFrame" xyz 487 29 3000
|
||||
linkcanvas 132357
|
||||
from ref 131077 z 1999 to point 515 211
|
||||
line 132613 z 1999 to ref 128773
|
||||
dirscanvas 132741 z 1000 linkcanvas_ref 132357
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
linkcanvas 132485
|
||||
from ref 128773 z 1999 to point 280 312
|
||||
line 132869 z 1999 to ref 128389
|
||||
dirscanvas 132997 z 1000 linkcanvas_ref 132485
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "10 allocateBuffer()" xyz 306 293 3000
|
||||
linkcanvas 133893
|
||||
from ref 129029 z 1999 to point 49 155
|
||||
line 134021 z 1999 to ref 128517
|
||||
dirscanvas 134149 z 1000 linkcanvas_ref 134021
|
||||
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
|
||||
forward_label "19 releaseBuffer()" xyz 65 100 3000
|
||||
msgs
|
||||
msg operation_ref 135685 // "pull()"
|
||||
forward ranks 1 "1" dirscanvas_ref 129285
|
||||
msgs
|
||||
msg operation_ref 135557 // "retrieve()"
|
||||
forward ranks 2 "1.1" dirscanvas_ref 130309
|
||||
msgs
|
||||
msg operation_ref 135813 // "fetch()"
|
||||
forward ranks 3 "1.1.1" dirscanvas_ref 131717
|
||||
no_msg
|
||||
msg operation_ref 135685 // "pull()"
|
||||
forward ranks 4 "1.1.2" dirscanvas_ref 130437
|
||||
msgs
|
||||
msg operation_ref 135557 // "retrieve()"
|
||||
forward ranks 5 "1.1.2.1" dirscanvas_ref 130693
|
||||
msgs
|
||||
msg operation_ref 135685 // "pull()"
|
||||
forward ranks 6 "1.1.2.1.1" dirscanvas_ref 131845
|
||||
msgs
|
||||
msg operation_ref 135557 // "retrieve()"
|
||||
forward ranks 7 "1.1.2.1.1.1" dirscanvas_ref 131973
|
||||
msgs
|
||||
msg operation_ref 135813 // "fetch()"
|
||||
forward ranks 8 "1.1.2.1.1.1.1" dirscanvas_ref 132101
|
||||
msgs
|
||||
explicitmsg "fetch"
|
||||
forward ranks 9 "1.1.2.1.1.1.1.1" dirscanvas_ref 132229
|
||||
no_msg
|
||||
msgsend
|
||||
msgsend
|
||||
msgsend
|
||||
msgsend
|
||||
msgsend
|
||||
msgsend
|
||||
msgsend
|
||||
msg operation_ref 135941 // "allocateBuffer()"
|
||||
forward ranks 10 "2" dirscanvas_ref 132997
|
||||
msgs
|
||||
msg operation_ref 135941 // "allocateBuffer()"
|
||||
forward ranks 11 "2.1" dirscanvas_ref 131717
|
||||
msgs
|
||||
explicitmsg "allocateNewFrame"
|
||||
forward ranks 12 "2.1.1" dirscanvas_ref 132229
|
||||
no_msg
|
||||
msgsend
|
||||
msgsend
|
||||
msg operation_ref 136069 // "process()"
|
||||
backward ranks 13 "3" dirscanvas_ref 130693
|
||||
no_msg
|
||||
msg operation_ref 136197 // "releaseBuffer()"
|
||||
forward ranks 14 "4" dirscanvas_ref 133765
|
||||
msgs
|
||||
explicitmsg "releaseFrame"
|
||||
forward ranks 15 "4.1" dirscanvas_ref 132229
|
||||
no_msg
|
||||
msgsend
|
||||
msg operation_ref 136069 // "process()"
|
||||
backward ranks 16 "5" dirscanvas_ref 130309
|
||||
no_msg
|
||||
msg operation_ref 136325 // "isCalculated()"
|
||||
forward ranks 17 "6" dirscanvas_ref 131717
|
||||
msgs
|
||||
explicitmsg "isCalculatedFrame"
|
||||
forward ranks 18 "6.1" dirscanvas_ref 132229
|
||||
no_msg
|
||||
msgsend
|
||||
msg operation_ref 136197 // "releaseBuffer()"
|
||||
forward ranks 19 "7" dirscanvas_ref 134149
|
||||
msgs
|
||||
explicitmsg "releaseFrame"
|
||||
forward ranks 20 "7.1" dirscanvas_ref 132229
|
||||
no_msg
|
||||
msgsend
|
||||
msgsend
|
||||
end
|
||||
81
uml/lumiera/132357.diagram
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
format 40
|
||||
|
||||
classcanvas 128005 class_ref 132741 // State
|
||||
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 78 10 2000
|
||||
end
|
||||
classcanvas 128133 class_ref 143493 // InvocationStateBase
|
||||
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 203 104 2000
|
||||
end
|
||||
classcanvas 128261 class_ref 143621 // Caching
|
||||
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 235 157 2000
|
||||
end
|
||||
classcanvas 128389 class_ref 143749 // Process
|
||||
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 236 212 2000
|
||||
end
|
||||
classcanvas 128517 class_ref 143877 // InPlace
|
||||
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 238 268 2000
|
||||
end
|
||||
classcanvas 128645 class_ref 142469 // StateProxy
|
||||
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 209 332 2004
|
||||
end
|
||||
classcanvas 130309 class_ref 144005 // WiringTable
|
||||
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 298 2000
|
||||
end
|
||||
classcanvas 130437 class_ref 142725 // WiringDescriptor
|
||||
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 36 213 2005
|
||||
end
|
||||
classcanvas 130565 class_ref 144133 // BuffHandle
|
||||
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 36 379 2000
|
||||
end
|
||||
textcanvas 131461 "const"
|
||||
xyzwh 109 257 2010 29 18
|
||||
relationcanvas 128901 relation_ref 149765 // <generalisation>
|
||||
from ref 128645 z 1999 to ref 128517
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 129029 relation_ref 149893 // <generalisation>
|
||||
from ref 128517 z 1999 to ref 128389
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 129157 relation_ref 150021 // <generalisation>
|
||||
from ref 128389 z 1999 to ref 128261
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 129285 relation_ref 150149 // <generalisation>
|
||||
from ref 128261 z 1999 to ref 128133
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 129413 relation_ref 150277 // <generalisation>
|
||||
from ref 128133 z 1999 to point 260 69
|
||||
line 129925 z 1999 to point 190 69
|
||||
line 130181 z 1999 to point 161 176
|
||||
line 130053 z 1999 to point 118 176
|
||||
line 129797 z 1999 to ref 128005
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 130693 relation_ref 150405 // <directional aggregation by value>
|
||||
geometry VHr
|
||||
from ref 130309 z 1999 stereotype "<<array>>" xyz 43 309 3000 to point 70 326
|
||||
line 130821 z 1999 to ref 130565
|
||||
no_role_a no_role_b
|
||||
multiplicity_a_pos 45 354 3000 no_multiplicity_b
|
||||
relationcanvas 130949 relation_ref 150533 // <unidirectional association>
|
||||
from ref 130309 z 1999 to ref 130437
|
||||
no_role_a no_role_b
|
||||
no_multiplicity_a no_multiplicity_b
|
||||
relationcanvas 131077 relation_ref 150661 // <unidirectional association>
|
||||
geometry VHr
|
||||
from ref 128645 z 1999 to point 136 371
|
||||
line 131333 z 1999 to ref 130309
|
||||
role_a_pos 148 367 3000 no_role_b
|
||||
multiplicity_a_pos 122 359 3000 no_multiplicity_b
|
||||
end
|
||||
|
|
@ -1,14 +1,23 @@
|
|||
window_sizes 1140 830 270 860 680 71
|
||||
diagrams
|
||||
active componentdiagram_ref 128005 // Overview
|
||||
702 640 80 4 2 0
|
||||
classdiagram_ref 131973 // Render Mechanics
|
||||
428 623 100 4 2 0
|
||||
collaborationdiagram_ref 132229 // Render Process
|
||||
817 644 100 4 0 0
|
||||
active classdiagram_ref 132357 // StateAdapter composition
|
||||
418 520 100 4 0 0
|
||||
end
|
||||
show_stereotypes
|
||||
selected
|
||||
package_ref 129 // lumiera
|
||||
package_ref 129 // lumiera
|
||||
open
|
||||
componentview_ref 128133 // interfaces
|
||||
classview_ref 128005 // Session
|
||||
class_ref 132741 // State
|
||||
|
||||
package_ref 129029 // Controller
|
||||
class_ref 131717 // ProcNode
|
||||
class_ref 142469 // StateProxy
|
||||
class_ref 142597 // StateAdapter
|
||||
usecaseview_ref 128005 // Renderengine Use
|
||||
class_ref 140677 // QueryHandler
|
||||
class_ref 140805 // TypeHandler
|
||||
class_ref 140933 // ResolverBase
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
format 40
|
||||
"lumiera"
|
||||
revision 44
|
||||
revision 47
|
||||
modified_by 5 "hiv"
|
||||
cpp_root_dir "../../src/"
|
||||
|
||||
|
|
|
|||
206
wiki/index.html
|
|
@ -942,14 +942,18 @@ git push git://git.pipapo.org/lumiera/mob
|
|||
|
||||
lumiera/mob is an anonymous account at pipapo.org where everyone can commit changes. </pre>
|
||||
</div>
|
||||
<div title="IRC-Transcripts" modifier="Ichthyostega" modified="200805200550" created="200708120209" tags="discuss irclog" changecount="9">
|
||||
<div title="IRC-Transcripts" modifier="Ichthyostega" modified="200807072122" created="200708120209" tags="discuss irclog" changecount="11">
|
||||
<pre>We keep a protocol or short summary of each important discussion. The summaries of the monthly developer meetings are posted to the Mailinglist and can be found on pipapo.org too
|
||||
|
||||
* [[06-08 developer meeting 5.Jun.2008|IRC_2008-06-05]]
|
||||
* [[05-08 developer meeting 8.May.2008|IRC_2008-05-08]]
|
||||
* [[04-08 developer meeting 3.Apr.2008|IRC_2008-04-03]]
|
||||
* [[03-08 developer meeting 6.Mar.2008|IRC_2008-03-06]]
|
||||
* [[1.official developer meeting 1.Feb.2008|IRC_2008-02-01]]
|
||||
* [[informal developer meeting 10.Aug.2007|IRC_2007-08-10]]
|
||||
|
||||
!talks about distinct topics
|
||||
* [[buffer allocation for render nodes (6/08)|IRC_log_BufferAllocation_2008-06]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="IRC_2007-08-10" modifier="Ichthyostega" created="200802021815" tags="irclog" changecount="1">
|
||||
|
|
@ -1588,6 +1592,206 @@ Ichthyo explains that the builder needs to detect cycles and check if the high l
|
|||
Next meeting is on thursday 5th June 21:00 UTC
|
||||
</pre>
|
||||
</div>
|
||||
<div title="IRC_2008-06-05" modifier="Ichthyostega" modified="200807072133" created="200807072132" tags="irclog excludeMissing" changecount="2">
|
||||
<pre>! 5.June 2008 on #lumiera
|
||||
21:00 -23:15 UTC. __Participants__:
|
||||
* cehteh
|
||||
* ichthyo
|
||||
* joelholdsworth
|
||||
* rcbarnes
|
||||
* raffa
|
||||
|
||||
//Protocol written by ichthyo//
|
||||
|
||||
|
||||
! Left over from the last meeting
|
||||
//Nothing left over and no urgent topics.//
|
||||
Seemingly, work is proceeding in all parts of the application.
|
||||
|
||||
! Discuss Ideas and Drafts in design process
|
||||
//There are no new design proposals and no proposals that can be finalized.//
|
||||
|
||||
Ichthyo points out that he's about to work out the details of some of his proposals, which are currently in "idea" state. Following that, most of the meeting is spent on discussing the details of two of these proposals.
|
||||
|
||||
!!! Idea: Design the Render Nodes interface
|
||||
[[Design of the render nodes interface|http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/DesignRenderNodesInterface]]
|
||||
|
||||
''Cehteh'' points out that, as we are in the pre-alpha phase, interfaces may be growing on-demand. Later on, interface versions will be numbered. If needed, we could add a special "draft" or "experimental" tag, or, alternatively, use the common numbering scheme, where odd major version numbers denote the development line of an interface.
|
||||
|
||||
''Ichthyo'' agrees, but adds he also meant "interface" in this proposal in a wider sense, like in "what do we need and require from a processing node". Knowing how generally Lumiera will handle the processing nodes while rendering helps him with defining and implementing the builder
|
||||
|
||||
__Conclusion__: "currently in work". For now, grow interfaces on demand.
|
||||
-----
|
||||
|
||||
!!! Idea: Placement Metaphor used within the high-level view of Proc-Layer
|
||||
[[Placement Metaphor in the Proc-Layer|http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/ProcPlacementMetaphor]]
|
||||
|
||||
In the course of the discussion, ''Ichthyo'' explains the rationale
|
||||
* one common mechanism for sticking objects together and putting them into the session
|
||||
* either specify the "placement"-parameters (time, output destination, track) directly, link to another object's parameters, or derive some or all of those values from the context (up the tree of tracks)
|
||||
* ability to build a system of high-level media objects (clips, effects...) which re-adjust automatically on change
|
||||
* extensible to handle or derive some parameters based on conditions and rules, e.g. for semi-automatic wiring of the output destination based on tags
|
||||
|
||||
''Joelholdsworth'' is concerned that this proposal may go too far and tries to tie things together which aren't really connected. While basically it's no problem having the time position of a clip either absolute, or derived by a link to another object, he can't see a clear benefit of controlling sound pan or video layer order from the placement. Pan, for example, is just an parameter value or interpolated curve, similar to colour correction or gamma adjustment. For the gui, he points out, it's probably better to stick to the object metaphor, so start time, output, layer number or sound pan would be properties of the object.
|
||||
|
||||
But that's exactly what Ichthyo wants to avoid. Obviously, this would be the standard solution employed by most current editing apps, and works reasonably well in average cases. But he is looking for a solution which covers this standard case, but also doesn't get into the way when dealing with advanced compositing, working with spatial sound systems (Ambisonics, Wave Field Synthesis) or stereoscopic (3D) video.
|
||||
|
||||
//On the whole, there is no conclusion yet.// Certainly, this proposal needs more discussion, parts need to be defined much more clear (esp. the "Pro" arguments), maybe parts of the functionality should be separated out.
|
||||
|
||||
While in this discussion, several aspects of the cooperation of GUI and Proc layer are considered.
|
||||
* it is not necessary to make all of the Placement proposal visible to the GUI (and the user). Proc layer may as well provide a simplyfied and hard wired API for the most common properties (layer index, pan) and only use this part of the Placement concept for building and wiring the nodes.
|
||||
* the adjustment of objects linked together by a placement can be handled as follows:
|
||||
*# GUI notifies Proc of a position/parameter change of one object and gets immediate, synchronous feedback (OK or fail)
|
||||
*# Proc detects the other linked objects affected by the change and notifies GUI (both synchronous and asynchronous is possible) to update information regarding those objects
|
||||
*# GUI pulls the necessary properties by calling Proc on a per object base.
|
||||
* as a rule of thumb, GUI <-> Proc is mostly synchronous, while Backend <-> GUI is often asynchronous, but there are exceptions from the rule
|
||||
* we have general //parameters//, which are automatible. These are represented as //control data connections between the nodes.// We certainly don't want to represent some things in this way, though. For example, the in/out points of clips are fixed values.
|
||||
* in Ichthyo's concept, the Placement doesn't itself provide such parameter values/sources, rather it can be used to //find// or //derive// parameter sources.
|
||||
* the node graph is built bottom up, starting at the source, then via the effects attached locally to a clip, further on upwards (directed by the tree of tracks) to be finally connected via global busses to the output ports. Rendering pulls from these output ports.
|
||||
* Joelholdsworth, Cehteh, Ichthyo and Rcbarnes agree that the plain //node-editor// approach is problematic in the context of a NLE. It shows too much details and fails to capture the temporal aspect. We strive at having node-like features and flexibility, but rather within the timeline.
|
||||
* especially, the topology of the node graph isn't constant over the whole timeline. But it's the job of the builder in the Proc layer to deal with these complexities, the user shouldn't be overwhelmed with all those details.
|
||||
-----
|
||||
|
||||
! Next meeting
|
||||
* some people in europe complained that 21:00 UTC is too late, esp. with daylight saving
|
||||
* there was the proposal to alternate between the current schedule, and sunday 16:00 UTC
|
||||
* but Joel can't attend on sunday afternoon for now
|
||||
* so we settle down on thursday, 16:30
|
||||
|
||||
Next meeting: ''Thursday 3.July 2008 16:30 UTC''
|
||||
</pre>
|
||||
</div>
|
||||
<div title="IRC_log_BufferAllocation_2008-06" modifier="Ichthyostega" created="200806211624" tags="irclog excludeMissing" changecount="1">
|
||||
<pre>! 5.June 2008 on #lumiera
|
||||
__cehteh__ and __ichthyo__
|
||||
{{{
|
||||
[2008-06-05 19:21:21] <cehteh> do you need me? .. i am away if not .. i have no much to say for the today meeting either
|
||||
[2008-06-05 19:21:57] <ichthyo> I have one topic I want to discuss with you, cehteh
|
||||
[2008-06-05 19:22:07] <ichthyo> but it need not be now, or in the meeting
|
||||
[2008-06-05 19:22:07] <cehteh> ok
|
||||
[2008-06-05 19:22:24] <ichthyo> it's about allocating processing buffers
|
||||
[2008-06-05 19:23:20] <cehteh> the backend will provide them as temporary files/cyclic buffers
|
||||
[2008-06-05 19:23:52] <cehteh> its not there yet but in my mind
|
||||
[2008-06-05 19:24:11] <ichthyo> haha, same for the builder... it's mostly just in my mind
|
||||
[2008-06-05 19:24:42] <cehteh> opened almost like a normal file but giving frame properties instead filename
|
||||
[2008-06-05 19:24:56] <cehteh> (there will be a distinct api for that)
|
||||
[2008-06-05 19:25:01] <ichthyo> ok
|
||||
[2008-06-05 19:25:05] <ichthyo> regarding the buffers: my question is more special
|
||||
[2008-06-05 19:25:19] <ichthyo> if you want to cache a frame (intermediary result)
|
||||
[2008-06-05 19:25:35] <ichthyo> then I thought we could avoid the copy operation
|
||||
[2008-06-05 19:25:44] <ichthyo> I could arrange things accordingly
|
||||
[2008-06-05 19:25:46] <cehteh> then the backend creates a backing mmaped file for that maybe manages its size (or do you want to tell how much frames you want to cache?)
|
||||
[2008-06-05 19:26:06] <cehteh> yes perfect .. thats what i am planning
|
||||
[2008-06-05 19:26:26] <ichthyo> you know, many processing nodes will be able to process "in place"
|
||||
[2008-06-05 19:26:34] <ichthyo> but ther are some that can't do this
|
||||
[2008-06-05 19:27:44] <ichthyo> so basically each processing function will "see" input frame buffer(s) and output frame buffer(s). but when a node is "in-place-capable", actually the in and out buffer may point to the same location
|
||||
[2008-06-05 19:26:55] <cehteh> basiically all temporary frames with the same properties are allcoated from the same backing file (well maybe 2 caching levels but not important here)
|
||||
[2008-06-05 19:27:06] <cehteh> the index give them meaning
|
||||
[2008-06-05 19:27:49] <cehteh> do you can query (and lock) a frame by that
|
||||
[2008-06-05 19:28:04] <ichthyo> that sounds good
|
||||
[2008-06-05 19:28:24] <cehteh> do some inplace editing and then tell the backend "this is now frame N of node X"
|
||||
[2008-06-05 19:28:34] <ichthyo> yeah, exactly
|
||||
[2008-06-05 19:28:44] <cehteh> (plus a uuid or preferably genertion number)
|
||||
[2008-06-05 19:28:39] <ichthyo> basically my Idea was as follows:
|
||||
[2008-06-05 19:29:47] <ichthyo> when I know the result will be cached, I'll let the node process into the location of the cache frame, and any node which will /use/ this frame as an input will be wired such that it isn't allowed to modify this frame (which is supposed to be located in the cache)
|
||||
[2008-06-05 19:30:45] <cehteh> yes thats managed in the index
|
||||
[2008-06-05 19:30:48] <ichthyo> for this to work, I need to "allocate and lock" a location in the cache, and release it when it contains the final processed result
|
||||
[2008-06-05 19:31:17] <cehteh> well i try to make no locks there, you query frames which are uniquely identified
|
||||
[2008-06-05 19:31:44] <ichthyo> it doesnt need to be a "lock
|
||||
[2008-06-05 19:31:55] <ichthyo> just some way to tell that this frame is "under construction"
|
||||
[2008-06-05 19:32:01] <cehteh> yes
|
||||
[2008-06-05 19:32:14] <cehteh> we thinking the same :)
|
||||
[2008-06-05 19:32:57] <cehteh> well problem is when shortly after that another node queries the source frame which got destructed .. thats something the builder needs to avoid, nothing i can do then
|
||||
[2008-06-05 19:33:21] <ichthyo> yes, builder will care for that
|
||||
[2008-06-05 19:33:41] <ichthyo> I can even tell in advance the maximum number of temporary buffers I need
|
||||
[2008-06-05 19:33:51] <cehteh> and it not only needs a under-construcion
|
||||
[2008-06-05 19:34:44] <cehteh> there are 2 indices one for source and one for destination
|
||||
[2008-06-05 19:35:11] <cehteh> indices will have a pointer to the 'job' working on it i tihnk
|
||||
[2008-06-05 19:35:24] <ichthyo> ok
|
||||
[2008-06-05 19:35:48] <cehteh> (actually there is a list planed many jobs can read-share an frame)
|
||||
[2008-06-05 19:36:40] <cehteh> i would like if I do not need to do *any* checks in that direction ... means the builder delivers clean jobs which dont step on their own foot
|
||||
[2008-06-05 19:36:54] <ichthyo> my understanding too
|
||||
[2008-06-05 19:37:07] <ichthyo> also, I want the nodes to be freed of any checks
|
||||
[2008-06-05 19:37:33] <ichthyo> so they can assume they get a valid buffer pointer to the right sort of buffer
|
||||
[2008-06-05 19:37:54] <cehteh> yes thats guranteed
|
||||
[2008-06-05 19:37:41] <cehteh> if it fails then we get some hairy bugs ... but checking job dependencies afterwards is costly
|
||||
[2008-06-05 19:38:53] <ichthyo> I mean -- I want to prepare everything as much as possible while building, so that all that needs to be "filled in" when starting the processing are the actual buffer locations
|
||||
[2008-06-05 19:38:58] <cehteh> *thinkin* prolly easier than it looks
|
||||
[2008-06-05 19:39:10] <cehteh> exaxctly
|
||||
[2008-06-05 19:39:50] <ichthyo> we can't prepare everything, because, some nodes may include a variable ammount of source frames
|
||||
[2008-06-05 19:40:11] <ichthyo> and this number can depend on automation. Classic example is the "time average" video effect
|
||||
[2008-06-05 19:39:53] <cehteh> problem is only when the builder generates one node which takes X and in-place generates Y from it
|
||||
[2008-06-05 19:40:10] <cehteh> and you have a 2nd node which takes X too
|
||||
[2008-06-05 19:40:23] <cehteh> this needs to be serialized somehow
|
||||
[2008-06-05 19:41:12] <ichthyo> regarding the problem you mention: I want to exclude/avoid this situation already when building
|
||||
[2008-06-05 19:41:35] <cehteh> yes thats what i was thinking .. thats easiest addressed there
|
||||
[2008-06-05 19:41:46] <cehteh> and a very ugly bug when it fails :(
|
||||
[2008-06-05 19:41:42] <ichthyo> when a node puts its result into a frame located within the cache
|
||||
[2008-06-05 19:41:59] <ichthyo> this frame is treated as if it is read-only
|
||||
[2008-06-05 19:42:21] <ichthyo> no node depending on this frame will be wired in a way that allows "in-place"
|
||||
[2008-06-05 19:42:33] <cehteh> about the time averaging: i plan to hint some dependencies so you can ask for "maybe" or by some priority depending on quality/whatever
|
||||
[2008-06-05 19:43:19] <cehteh> where quality should be runtime adjusted by the profiler
|
||||
[2008-06-05 19:43:39] <ichthyo> the problem with time averaging is: we don't know how much frames will be averaged at build time, because that's a automatable effect parameter
|
||||
[2008-06-05 19:43:47] <cehteh> thats a case where a dependencie might not be fullfilled .. but only on request
|
||||
[2008-06-05 19:44:08] <ichthyo> but the "quality" thing sounds like a good idea
|
||||
[2008-06-05 19:44:17] <cehteh> yes then split that rendering into 3 passes?
|
||||
[2008-06-05 19:44:27] <cehteh> 1st pass : building the graph
|
||||
[2008-06-05 19:44:53] <cehteh> 2nd pass: determine dependencies (by inspecting automation)
|
||||
[2008-06-05 19:45:00] <cehteh> 3rd pass: do the render
|
||||
[2008-06-05 19:45:10] <ichthyo> maybe?
|
||||
[2008-06-05 19:45:17] <ichthyo> 1st pass of course is clear
|
||||
[2008-06-05 19:45:25] <cehteh> well do you have a better idea?
|
||||
[2008-06-05 19:45:49] <cehteh> so far i thought about 2 pass where the dependency analysis was part of the builder
|
||||
[2008-06-05 19:46:02] <ichthyo> agreed
|
||||
[2008-06-05 19:46:28] <cehteh> but making it three pass shouldnt be a problem or?
|
||||
[2008-06-05 19:46:51] <ichthyo> I also thought after having finished the raw graph, I'll do some configuration calldown, e.g. to determine the maximum number of buffers needed
|
||||
[2008-06-05 19:46:59] <cehteh> maybe even adaptive 2/3 pass depending on effects ... but maybe that would complicate it unnecessary
|
||||
[2008-06-05 19:47:43] <ichthyo> its not really a problem, just need to be aware and work the details out correctlyy
|
||||
[2008-06-05 19:47:49] <cehteh> i dont think you need to count the buffers (not yet, maybe i oversee soemthing)
|
||||
[2008-06-05 19:48:08] <cehteh> otherwise the backend should manage that automatically
|
||||
[2008-06-05 19:48:18] <ichthyo> yes, I'm fine with that
|
||||
[2008-06-05 19:48:46] <ichthyo> just to note, if it helps with the allocation, I /can/ tell the maximum number of buffers needed
|
||||
[2008-06-05 19:49:00] <ichthyo> (for a given segment of the graph, of course)
|
||||
[2008-06-05 19:49:09] <cehteh> not sure if i overseen something, but i think when needed such a 'configuration calldown' (and optimizing pass) could be added later
|
||||
[2008-06-05 19:49:27] <ichthyo> sure
|
||||
[2008-06-05 19:49:50] <cehteh> buffers itself doesnt cost .. but if you really need a lot it will cause IO
|
||||
[2008-06-05 19:49:57] <cehteh> but that unavoidable anyways
|
||||
[2008-06-05 19:50:05] <ichthyo> no no
|
||||
[2008-06-05 19:50:19] <cehteh> yes yes
|
||||
[2008-06-05 19:50:20] <ichthyo> I'll try to minimize buffer use as much as possible
|
||||
[2008-06-05 19:50:24] <cehteh> :)
|
||||
[2008-06-05 19:50:30] <cehteh> of course
|
||||
[2008-06-05 19:51:00] <cehteh> but there are always some limits on finite machines
|
||||
[2008-06-05 19:51:26] <ichthyo> the problematic case are usual rather rare corner cases, but it should handle those flawless, of course
|
||||
[2008-06-05 19:51:36] <ichthyo> similar for the size of the buffers
|
||||
[2008-06-05 19:51:46] <ichthyo> I dont want Lumiera to clip the image
|
||||
[2008-06-05 19:51:49] <ichthyo> as cinelerra does
|
||||
[2008-06-05 19:52:04] <ichthyo> e.g. when using the motion tracker
|
||||
[2008-06-05 19:52:20] <cehteh> well if you need safe-regions around you need to use biggier frames
|
||||
[2008-06-05 19:52:31] <cehteh> but memory requirements grow quadratic!
|
||||
[2008-06-05 19:52:46] <ichthyo> the user should NEVER need to set up the processing buffer size, as is necessary in cinelerra
|
||||
[2008-06-05 19:52:59] <cehteh> yes agreed
|
||||
[2008-06-05 19:53:15] <ichthyo> I don't think we need safe-regions allways,
|
||||
[2008-06-05 19:53:31] <ichthyo> but, as e.g. the motion tracking will create automation data in Lumiera
|
||||
[2008-06-05 19:53:38] <cehteh> yes only for some effect .. motion tracker doesnt need it
|
||||
[2008-06-05 19:53:50] <ichthyo> it means the actual buffer size depends on automation data for a given frame
|
||||
[2008-06-05 19:53:56] <cehteh> that just xyr transformation
|
||||
[2008-06-05 19:54:35] <cehteh> a blur is something which might require a small safe-region to bleed over the edges
|
||||
[2008-06-05 19:54:43] <ichthyo> yes, you are right
|
||||
[2008-06-05 19:54:52] <ichthyo> if the motion tracker is wired intelligently
|
||||
[2008-06-05 19:55:05] <ichthyo> it doesn't need to move anyting itself
|
||||
[2008-06-05 19:55:18] <cehteh> mapping the motion tracker transformation to a destionation might need safe regions
|
||||
[2008-06-05 19:55:30] <cehteh> (in case of rotations)
|
||||
[2008-06-05 19:55:36] <ichthyo> yes agreed
|
||||
[2008-06-05 19:56:16] <cehteh> well temp buffers will be allcocated for frames of the same 'class' i aleready saied that
|
||||
[2008-06-05 19:56:50] <cehteh> and i will group these classes so that some similar sizes fall in the same class
|
||||
[2008-06-05 19:57:19] <cehteh> that might waste some memory on disk at the end of each frame .. but that doesnt need to be mapped in
|
||||
[2008-06-05 19:57:32] <cehteh> the kernel will do that automatically for us
|
||||
[2008-06-05 19:57:37] <ichthyo> :)
|
||||
[2008-06-05 19:57:59] <cehteh> well mostly .. i need to whip it with the right hints ;)
|
||||
[2008-06-05 19:58:10] <ichthyo> :-o
|
||||
}}}</pre>
|
||||
</div>
|
||||
<div title="InlineJavaScript" modifier="Jeremy" created="200603090618" tags="systemConfig" server.type="file" server.host="file:///home/ct/.homepage/home.html" server.page.revision="200603090618">
|
||||
<pre>/***
|
||||
''InlineJavascriptPlugin for ~TiddlyWiki version 1.2.x and 2.0''
|
||||
|
|
|
|||
|
|
@ -556,10 +556,11 @@ is how to implement the relationship between [[MObject]]s and Assets. Do we use
|
|||
|
||||
</pre>
|
||||
</div>
|
||||
<div title="AssetCreation" modifier="Ichthyostega" created="200709040307" changecount="1">
|
||||
<div title="AssetCreation" modifier="Ichthyostega" modified="200806030153" created="200709040307" tags="dynamic impl" changecount="3">
|
||||
<pre>Assets are created by a Factories returning smart pointers; the Asset creation is bound to specific use cases and //only available// for these specific situations. There is no generic Asset Factory.
|
||||
|
||||
For every Asset we generate a __Ident tuple__ and a long ID (hash) derived from this Ident tuple. The constructor of the abstract base class {{{Asset}}} takes care of this step and automatically registeres the new Asset object with the AssetManager. Typically, the factory methods for concrete Asset classes provide some shortcuts providing sensible default values for some of the Ident tuple data fields. They may take additional parameters &mdash; for example the factory method for creating {{{asset::Media}}} takes a filename (and may at some point in the future aply "magic" based on examination of the file)</pre>
|
||||
For every Asset we generate a __Ident tuple__ and a long ID (hash) derived from this Ident tuple. The constructor of the abstract base class {{{Asset}}} takes care of this step and automatically registeres the new Asset object with the AssetManager. Typically, the factory methods for concrete Asset classes provide some shortcuts providing sensible default values for some of the Ident tuple data fields. They may take additional parameters &mdash; for example the factory method for creating {{{asset::Media}}} takes a filename (and may at some point in the future aply "magic" based on examination of the file &rarr; LoadingMedia)
|
||||
</pre>
|
||||
</div>
|
||||
<div title="AssetManager" modifier="Ichthyostega" created="200709200300" changecount="1">
|
||||
<pre>The Asset Manager provides an Interface to some internal Database holding all Assets in the current Session and System state. It may be a real Database at some point (and for the moment it's a Hashtable). Each [[Asset]] is registered automatically with the Asset Manager; it can be queried either by it's //identification tuple// or by it's unique ID.</pre>
|
||||
|
|
@ -578,6 +579,9 @@ The first step towards an solution is to isolate the problem; obviously we //nee
|
|||
[img[how to implement Automation|uml/fig129669.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="AutomationData" modifier="Ichthyostega" created="200805300105" tags="def automation" changecount="2">
|
||||
<pre>While generally automation is treated as a function over time, defining and providing such a function requires some //Automation Data.// The actual layout and meaning of this data is deemed an implementation detail of the [[parameter provider|ParamProvider]] used, but nevertheless an automation data set has object characteristics within the [[EDL (high-level-model)|EDL]], allowing it to be attached, moved and [[placed|Placement]] by the user.</pre>
|
||||
</div>
|
||||
<div title="BasicBuildingOperations" modifier="Ichthyostega" modified="200805210230" created="200712040334" tags="design dynamic Builder" changecount="24">
|
||||
<pre>Starting out from the concepts of Objects, Placement to Tracks, render Pipes and connection properties (&rarr; see [[here|TrackPipeEDL]]) within the EDL, we can identify the elementary operations occuring within the Builder. Overall, the Builder is organized as application of //visiting tools// to a collection of objects, so finally we have to consider some object kind appearing in the working function of the given builder tool, which holds at this moment some //context//. The job now is to organize this context such as to create a predictable build process from this //event driven// approach.
|
||||
&rarr;see also: BuilderPrimitives for the elementary situations used to cary out the building operations
|
||||
|
|
@ -729,11 +733,11 @@ config.macros.timeline.handler = function(place,macroName,params,wikifier,paramS
|
|||
}
|
||||
//}}}</pre>
|
||||
</div>
|
||||
<div title="BuildProcess" modifier="Ichthyostega" modified="200805210213" created="200706190658" tags="dynamic Builder" changecount="28">
|
||||
<div title="BuildProcess" modifier="Ichthyostega" modified="200805300042" created="200706190658" tags="dynamic Builder" changecount="29">
|
||||
<pre>All decisions on //how // the RenderProcess has to be carried out are concentrated in this rather complicated Builder Subsystem. The benefit of this approach is, besides decoupling of subsystems, to keep the actual performance-intensive video processing code as simple and transparent as possible. The price, in terms of increased complexity &mdash; to pay in the Builder &mdash; can be handled by making the Build Process generic to a large degree. Using a Design By Contract approach we can decompose the various decisions into small decision modules without having to trace the actual workings of the Build Process as a whole.
|
||||
|
||||
[>img[Outline of the Build Process|uml/fig129413.png]]
|
||||
The building itself will be broken down into several small tool application steps. Each of these steps has to be mapped to the MObjects found on the [[Timeline]]. Remember: the idea is that the so called "[[Fixture]]" contains only [[ExplicitPlacement]]s which in turn link to MObjects like Clips, Effects and Automation. So it is sufficient to traverse this list and map the build tools to the elements. Each of these build tools has its own state, which serves to build up the resulting Render Engine. So far I see two steps to be necessary:
|
||||
The building itself will be broken down into several small tool application steps. Each of these steps has to be mapped to the MObjects found on the [[Timeline]]. Remember: the idea is that the so called "[[Fixture]]" contains only [[ExplicitPlacement]]s which in turn link to MObjects like Clips, Effects and [[Automation]]. So it is sufficient to traverse this list and map the build tools to the elements. Each of these build tools has its own state, which serves to build up the resulting Render Engine. So far I see two steps to be necessary:
|
||||
* find the "Segments", i.e. the locations where the overall configuration changes
|
||||
* for each segment: generate a ProcNode for each found MObject and wire them accordingly
|
||||
Note, //we still have to work out how exactly building, rendering and playback work// together with the backend-design. The build process as such doesn't overly depend on these decisions. It is easy to reconfigure this process. For example, it would be possible as well to build for each frame separately (as Cinelerra2 does), or to build one segment covering the whole timeline (and handle everything via [[Automation]]
|
||||
|
|
@ -749,7 +753,31 @@ Note, //we still have to work out how exactly building, rendering and playback w
|
|||
[img[Colaborations in the Build Process|uml/fig128517.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Builder" modifier="Ichthyostega" modified="200805210209" created="200706220317" tags="def overview" changecount="26">
|
||||
<div title="BuildRenderNode" modifier="Ichthyostega" modified="200806030139" created="200805300137" tags="Builder impl" changecount="12">
|
||||
<pre>Actually setting up and wiring a [[processing node|ProcNode]] involves several issues and is carried out at the lowest level of the build process.
|
||||
It is closely related to &rarr; [[the way nodes are operated|NodeOperationProtocol]] and the &rarr; [[mechanics of the render process|RenderMechanics]]
|
||||
|
||||
!!!object creation
|
||||
The Nodes are small polymorphic objects, carrying configuration data, but no state. They are [[specially allocated|ManagementRenderNodes]], and the object creation is accessible by means of the NodeFactory solely. They //must not be deallocated manually.// The decision of what concrete node type to create depends on the actual build situation and is worked out by the combination of [[mould|BuilderMould]] and [[processing pattern|ProcPatt]] at the current OperationPoint, issuing a call to one of NodeFactory's {{{operator()}}}
|
||||
|
||||
!!!node, plugin and processing function
|
||||
Its a good idea to distinguish clearly between those concepts. A plugin is a piece of (possibly external) code we use to carry out operations. We have to //discover its properties and capabilities.// We don't have to discover anything regarding nodes, because we (Lumiera builder and renderengine) are creating, configuring and wiring them to fit the specific purpose. Both are to be distinguished from processing functions, which do the actual calculations on the media data. Every node typically encompasses at least one processing function, which may be an internal function in the node object, a library function from Lumiera or GAVL, or external code loaded from a plugin.
|
||||
|
||||
!!!node interfaces
|
||||
As a consequence of this distinctions, in conjunction with a processing node, we have to deal with three different interfaces
|
||||
* the __build interface__ is used by the builder to set up and wire the nodes. It can be full blown C++ (including templates)
|
||||
* the __operation interface__ is used to run the calculations, which happens in cooperation of Proc-Layer and Backend. So a function-style interface is preferable.
|
||||
* the __inward interface__ is accessed by the processing function in the course of the calculations to get at the necessary context, including in/out buffers and param values.
|
||||
|
||||
!!!wiring data connections
|
||||
A node //knows its predecessors, but not its successors.// When being //pulled//&nbsp; in operation, it can expect to get a frame provider for accessing the in/out buffer locations (some processing functions may be "in-place capable", but that's only a special case of the former). At this point, the ''pull principle'' comes into play: the node may request input frames from the frame provider, passing its predecessors as a ''continuation''.
|
||||
With regard to the build process, the wiring of data connections translates into providing the node with its predecessors and preconfiguring the possible continuations. While in the common case, a node has just one input/output and pulls from its predecessor a frame for the same timeline position, the general case can be more contrived. A node may process N buffers in parallel and may require several different time positions for it's input, even at a differing framerate. So the actual source specification is (predNode,time,frameType). The objective of the wiring done in the build process is to factor out the parts known in advance, while in the render process only the variable part need to be filled in. Or to put it differently: wiring builds a higher order function (time)->(continuation), where continuation can be invoked to get the desired input frame.
|
||||
|
||||
!!!wiring control conections
|
||||
In many cases, the parameter values provided by these connections aren't frame based data, rather, the processing function needs a call interface to get the current value (value for a given time), which is provided by the parameter object. Here, the wiring needs to link to the suitable parameter instance, which is located within the high-level model (!). As an additional complication, calculating the actual parameter value may require a context data frame (typically for caching purposes to speed up the interpolation). While these parameter context data frames are completely opaque for the render node, they have to be passed in and out similar to the state needed by the node itself, and the wiring has to prepare for accessing these frames too.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Builder" modifier="Ichthyostega" modified="200805300043" created="200706220317" tags="def overview" changecount="27">
|
||||
<pre>The Builder takes some MObject/[[Placement]] information (called Timeline) and generates out of this a Render Engine configuration able to render this Objects. It does all decisions and retrieves the current configuration of all objects and plugins, so the Render Engine can just process them stright forward.
|
||||
|
||||
The Builder is the central part of the [[Builder Pattern|http://en.wikipedia.org/wiki/Builder_pattern]]
|
||||
|
|
@ -761,7 +789,7 @@ As the builder has to create a render node network implementing most of the feat
|
|||
* //operating the Builder// can be viewed at from two different angles, either emphasizing the [[basic building operations|BasicBuildingOperations]] employed to assemble the render node network, or focussing rather at the [[mechanics|BuilderMechanics]] of cooperating parts while processing.
|
||||
* besides, we can identify a small set of elementary situations we call [[builder primitives|BuilderPrimitives]], to be covered by the mentioned BuilderToolKit; by virtue of [[processing patterns|ProcPatt]] they form an [[interface to the rule based configuration|BuilderRulesInterface]].
|
||||
* the actual building (i.e. the application of tools to the timeline) is done by the [[Assembler|BuilderAssembler]], which is basically a collection of functions (but has a small amount of global configuration state)
|
||||
* any non-trivial wiring of render nodes, tracks, pipes and automation is done by the services of the [[connection manager|ConManager]]
|
||||
* any non-trivial wiring of render nodes, tracks, pipes and [[automation|Automation]] is done by the services of the [[connection manager|ConManager]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="BuilderMechanics" modifier="Ichthyostega" created="200805210256" tags="design dynamic Builder" changecount="1">
|
||||
|
|
@ -773,13 +801,14 @@ As the builder has to create a render node network implementing most of the feat
|
|||
!!pattern of operation
|
||||
The working pattern of this builder mechanics can be described as triggering, enqueuing, priorizing, recursing and exhausting. Without the priorizing part, it would be a depth-first call graph without any context state, forcing us to have all cross reference information available at every node or element to be treated. We prefer to avoid this overhead by ordering the operations into several phases and within these phases into correlated entities with the help of a ''weighting function'' and scheduling with a ''priority queue''</pre>
|
||||
</div>
|
||||
<div title="BuilderMould" modifier="Ichthyostega" created="200805260248" tags="def" changecount="1">
|
||||
<div title="BuilderMould" modifier="Ichthyostega" modified="200805270325" created="200805260248" tags="def" changecount="2">
|
||||
<pre>The [[Builder]] uses different kinds of tools for creating a network of render nodes from a given high-level model. When breaking down this (necessarily complex) process into small manageable chunks, we arrive at [[elementary building situations|BuilderPrimitives]]. For each of these there is a specialized tool. We denote these tools as "moulds" because they are a rather passive holder for the objects to be attached and wired up. They are shaped according to the basic form the connections have to follow for each of these basic situations:
|
||||
* attaching an effect to a pipe
|
||||
* combining pipes via a transition
|
||||
* starting out a pipe from a source reader
|
||||
* general connections from the exit node of a pipe to the port of another pipe
|
||||
In all those cases, the active part is provided by [[processing patterns|ProcPatt]] &mdash; sort of micro programs executed within the context of a given mould: the processing pattern defines the steps to take (in the standard/basic case this is just "attach"), while the mould holds and provides the location where these steps will operate.</pre>
|
||||
In all those cases, the active part is provided by [[processing patterns|ProcPatt]] &mdash; sort of micro programs executed within the context of a given mould: the processing pattern defines the steps to take (in the standard/basic case this is just "attach"), while the mould holds and provides the location where these steps will operate. Actually, this location is represented as a OperationPoint, provided by the mould and abstracting the details of making multi-channel connections.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="BuilderPrimitives" modifier="Ichthyostega" modified="200805260332" created="200805210327" tags="impl spec Builder" changecount="25">
|
||||
<pre>While assembling and building up the render engines node network, a small number of primitive building situations is encountered repeatedly. The BuilderToolKit provides a "[[mould|BuilderMould]]" for each of these situations, typically involving parametrisation and the application of a [[processing pattern|ProcPatt]].
|
||||
|
|
@ -852,16 +881,12 @@ While building, the application of such a visiting tool (especially the [[NodeCr
|
|||
|
||||
</pre>
|
||||
</div>
|
||||
<div title="BuilderToolKit" modifier="Ichthyostega" modified="200805260414" created="200805210308" tags="impl Builder" changecount="5">
|
||||
<div title="BuilderToolKit" modifier="Ichthyostega" modified="200806211539" created="200805210308" tags="impl Builder" changecount="12">
|
||||
<pre>Besides the primary working tool within the builder (namely the [[Node Creator Tool|PlanningNodeCreatorTool]]), on a lower level, we encounter several [[elementary building situations|BuilderPrimitives]] &mdash; and for each of these elementary situations we can retrieve a suitable "fitting tool" or [[mould|BuilderMould]]. The palette of these moulds is called the ''tool kit'' of the builder. It is subject to configuration by rules.
|
||||
|
||||
!! {{red{open questions}}}
|
||||
* how to address these moulds
|
||||
* how to type them
|
||||
* how to parametrize them
|
||||
|
||||
!!addressing a mould
|
||||
All mould instances are owned and managed by the [[tool factory|BuilderToolFactory]], and can be referred to by their type ({{{PipeMould}}}, {{{CombiningMould}}}, {{{SourceChainMould}}}, {{{WiringMould}}}) and a concrete object instance (of suitable type). The returned mould (instance) acts as a handle to stick together the given object instance (from the high-level model) with the corresponding point in the low-level node network under construction. As consequence of this approach, the tool factory instance holds a snapshot of the current building state, including all the active spots in the build process. As the latter is driven by objects from the high-level model appearing (in a sensible order &rarr; see BuilderMechanics) within the NodeCreatorTool, new moulds will be created and fitted as necessary, and existing moulds will be exhausted when finished, until the render node network is complete.
|
||||
All mould instances are owned and managed by the [[tool factory|BuilderToolFactory]], and can be referred to by their type (PipeMould, CombiningMould, SourceChainMould, WiringMould) and a concrete object instance (of suitable type). The returned mould (instance) acts as a handle to stick together the given object instance (from the high-level model) with the corresponding point in the low-level node network under construction. As consequence of this approach, the tool factory instance holds a snapshot of the current building state, including all the active spots in the build process. As the latter is driven by objects from the high-level model appearing (in a sensible order &rarr; see BuilderMechanics) within the NodeCreatorTool, new moulds will be created and fitted as necessary, and existing moulds will be exhausted when finished, until the render node network is complete.
|
||||
|
||||
!!configuring a mould
|
||||
As each mould kind is different, it has a {{{prepare(...)}}} function with suitably typed parameters. The rest is intended to be self-configuring (for example, a ~CombiningMould will detect the actual kind of Transition and select the internal mode of operation), so that it's sufficient to just call {{{operate()}}}
|
||||
|
|
@ -869,7 +894,10 @@ As each mould kind is different, it has a {{{prepare(...)}}} function with suita
|
|||
!!sequence of operations
|
||||
When {{{operate()}}} doesn't throw, the result is a list of //successor moulds// &mdash; you shouldn't use the original mould after triggering its operation, because it may have been retracted as a result and reused for another purpose by the tool factory. It is not necessary to store these resulting moulds either (as they can be retrieved as described above), but they can be used right away for the next building step if applicable. In the state they are returned from a successful building step (mould operation = execution of a contained [[processing pattern|ProcPatt]]), they are usually already holding a reference to the part of the network just created and need to be configured only with the next high-level object (effect, placement, pipe, processing pattern or similar, depending on the concrete situation) in order to carry out the next step.
|
||||
|
||||
&rarr;see also: BuilderPrimitives for the elementary working situations corresponding to these fitting tools
|
||||
!!single connection step
|
||||
at the lowest level within the builder there is the step of building a //connection.// This step is executed by the processing pattern with the help of the mould. Actually, making such a connection is more complicated, because in the standard case it will connect N media streams simultaneously (N=2 for stereo sound or 3D video, N=6 for 5.1 Surround, N=9 for 2nd order Ambisonics). These details are encapsulated within the OperationPoint, which is provided by the mould and exhibits a common interface for the processing pattern to express the connecting operation.
|
||||
|
||||
&rarr;see also: BuilderPrimitives for the elementary working situations corresponding to each of these [[builder moulds|BuilderMould]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ColorPalette" modifier="Ichthyostega" modified="200706260455" created="200706190033" tags="excludeMissing" changecount="11">
|
||||
|
|
@ -889,6 +917,15 @@ TertiaryMid: #99a
|
|||
TertiaryDark: #667
|
||||
Error: #f88</pre>
|
||||
</div>
|
||||
<div title="ConManager" modifier="Ichthyostega" created="200806050208" tags="def Builder" changecount="1">
|
||||
<pre>The Connection Manager is a __Facade__ for querying information and deriving decisions regarding various aspects of data streams and possible connections.
|
||||
* retrieve information about capabilities of a stream type given by ID
|
||||
* decide if a connection is possible
|
||||
* retrieve a //strategy// for implementing a connection
|
||||
|
||||
In the intended implementation, a good deal of this functionality will actually be implemented by [[rules|ConfigRules]], while other parts need to be provided by hard wired logic, at least as a fallback. Anyway, the purpose of the Connection Manager ois to isolate the [[Builder]], which is client of this information and decision services, from these details
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ConfigQuery" modifier="Ichthyostega" modified="200804110335" created="200801181308" tags="def" changecount="5">
|
||||
<pre>Configuration Queries are requests to the system to "create or retrieve an object with //this and that // capabilities". They are resolved by a rule based system ({{red{planned feature}}}) and the user can extend the used rules for each Session. Syntactically, they are stated in ''prolog'' syntax as a conjunction (=logical and) of ''predicates'', for example {{{stream(mpeg), pipe(myPipe)}}}. Queries are typed to the kind of expected result object: {{{Query<Pipe> ("stream(mpeg)")}}} requests a pipe excepting/delivering mpeg stream data &mdash; and it depends on the current configuration what "mpeg" means. If there is any stream data producing component in the system, which advertises to deliver {{{stream(mpeg)}}}, and a pipe can be configured or connected with this component, then the [[defaults manager|DefaultsManagement]] will create/deliver a [[Pipe|PipeHandling]] object configured accordingly.
|
||||
&rarr; [[Configuration Rules system|ConfigRules]]
|
||||
|
|
@ -980,7 +1017,7 @@ This is an very important external Interface, because it links together all thre
|
|||
<pre>[[ProcLayer and Engine]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="DefaultsImplementation" modifier="Ichthyostega" modified="200804010137" created="200802200043" tags="spec impl draft" changecount="11">
|
||||
<div title="DefaultsImplementation" modifier="Ichthyostega" modified="200806030204" created="200802200043" tags="spec impl draft" changecount="12">
|
||||
<pre>As detailed in the [[definition|DefaultsManagement]], {{{default(Obj)}}} is sort of a Joker along the lines "give me a suitable Object and I don't care for further details". Actually, default objects are implemented by the {{{mobject::session::DefsManager}}}, which remembers and keeps track of anything labeled as "default". This defaults manager is a singleton and can be accessed via the [[Session]] interface, meaning that the memory track regarding defaults is part of the session state. Accessing an object via the query for an default actually //tagges// this object (storing a weak ref in the ~DefsManager). Alongside with each object successfully queried via "default", the degree of constriction is remembered, i.e. the number of additional conditions contained in the query. This enables us to search for default objects starting with the most unspecific.
|
||||
|
||||
!Skeleton
|
||||
|
|
@ -1000,7 +1037,7 @@ Taken precisely, the "degree of constriction" yields only a partial or
|
|||
{{red{WARN}}} there is an interference with the (planned) Undo function. This is a general problem of the config queries; just ignoring this issue seems reasonable.
|
||||
|
||||
!!!Problems with the (preliminary) mock implementation
|
||||
As we don't have a Prolog interpreter on board yet, we utilize a mock store with preconfigured answers. (see {{{MockConfigQuery}}}). As this preliminary solution is lacking the ability to create new objects, we need to resort to some trickery here (please look away). The overall logic is quite broken, because the system isn't capable to do any real resolution &mdash; if we ignore this fact, the rest of the algorithm can be implemented, tested and used right now.
|
||||
As we don't have a Prolog interpreter on board yet, we utilize a mock store with preconfigured answers. (see MockConfigQuery). As this preliminary solution is lacking the ability to create new objects, we need to resort to some trickery here (please look away). The overall logic is quite broken, because the system isn't capable to do any real resolution &mdash; if we ignore this fact, the rest of the algorithm can be implemented, tested and used right now.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="DefaultsManagement" modifier="Ichthyostega" modified="200803212244" created="200801121708" tags="def spec" changecount="12">
|
||||
|
|
@ -1010,7 +1047,7 @@ As we don't have a Prolog interpreter on board yet, we utilize a mock store with
|
|||
{{{default(Obj)}}} is a predicate expressing that the object {{{Obj}}} can be considered the default setup under the given conditions. Using the //default// can be considered as a shortcut for actually finding a exact and unique solution. The latter would require to specify all sorts of detailed properties up to the point where only one single object can satisfy all conditions. On the other hand, leaving some properties unspecified would yield a set of solutions (and the user code issuing the query had to provide means for selecting one soltution from this set). Just falling back on the //default// means that the user code actually doesn't care for any additional properties (as long as the properties he //does// care for are satisfied). Nothing is said specifically on //how//&nbsp; this default gets configured; actually there can be rules //somewhere,// and, additionally, anything encountered once while asking for a default can be re-used as default under similar circumstances.
|
||||
&rarr; [[implementing defaults|DefaultsImplementation]]</pre>
|
||||
</div>
|
||||
<div title="DesignDecisions" modifier="Ichthyostega" modified="200801062304" created="200801062209" tags="decision design discuss" changecount="17">
|
||||
<div title="DesignDecisions" modifier="Ichthyostega" modified="200805300045" created="200801062209" tags="decision design discuss" changecount="18">
|
||||
<pre>Along the way of working out various [[implementation details|ImplementationDetails]], decisions need to be made on how to understand the different facilities and entities and how to tackle some of the problems. This page is mainly a collection of keywords, summaries and links to further the discussion. And the various decisions should allways be read as proposals to solve some problem at hand...
|
||||
|
||||
''Everything is an object'' &mdash; of course, that's a //no-brainer // todays. Rather, important is what is not "an object", meaning it can't be arranged arbitrarily
|
||||
|
|
@ -1023,10 +1060,10 @@ We ''separate'' processing (rendering) and configuration (building). We have a [
|
|||
''Objects are [[placed|Placement]] rather'' than assembled, connected, wired, attached. This is more of a rule-based approach and gives us one central metaphor and abstraction, allowing us to treat everything in an uniform manner. You can place it as you like, and the builder tries to make sense out of it, silently disabling what doesn't make sense.
|
||||
An [[EDL]] is just a collection of configured and placed objects (and has no additional, fixed structure). [[Tracks|Track]] form a mere organisational grid, they are grouping devices not first-class entities (a track doesn't "have" a pipe or "is" a video track and the like; it can be configured to behave in such manner by using placements though). [[Pipes|Pipe]] are hooks for making connections and are the only facility to build processing chains. We have global pipes, and each clip is built around a lokal [[source port|ClipSourcePort]] &mdash; and that's all. No special "media viewer" and "arranger", no special role for media sources, no commitment to some fixed media stream types (video and audio). All of this is sort of pushed down to be configuration, represented as asset of some kind. For example, we have [[processing pattern|ProcPatt]] assets to represent the way of building the source network for reading from some media file (including codecs treated like effect plugin nodes)
|
||||
|
||||
''State'' is rigorously ''externalized'' and operations are to be ''scheduled'', to simplify locking and error handling. State is either treated similar to media stream data (as addressable and cacheable data frame), or is represented as "parameter" to be served by some [[parameter provider|ParamProvider]]. Automation is just another kind of parameter, i.e. a function, and how this function is calculated is an encapsulated implementation detail (we don't have "bezier automation", and then maybe a "linear automation", a "mask automation" and yet another way to handle transitions)
|
||||
''State'' is rigorously ''externalized'' and operations are to be ''scheduled'', to simplify locking and error handling. State is either treated similar to media stream data (as addressable and cacheable data frame), or is represented as "parameter" to be served by some [[parameter provider|ParamProvider]]. Consequently, [[Automation]] is just another kind of parameter, i.e. a function &mdash; how this function is calculated is an encapsulated implementation detail (we don't have "bezier automation", and then maybe a "linear automation", a "mask automation" and yet another way to handle transitions)
|
||||
</pre>
|
||||
</div>
|
||||
<div title="DesignGoals" modifier="Ichthyostega" modified="200801062154" created="200706210557" tags="design" changecount="16">
|
||||
<div title="DesignGoals" modifier="Ichthyostega" modified="200805300046" created="200706210557" tags="design" changecount="20">
|
||||
<pre>This __proc-Layer__ and ~Render-Engine implementation started out as a design-draft by [[Ichthyo|mailto:Ichthyostega@web.de]] in summer 2007. The key idea of this design-draft is to use the [[Builder Pattern|http://en.wikipedia.org/wiki/Builder_pattern]] for the Render Engine, thus separating completely the //building// of the Render Pipeline from //running,// i.e. doing the actual Render. The Nodes in this Pipeline should process Video/Audio and do nothing else. No more decisions, tests and conditional operations when running the Pipeline. Move all of this out into the configuration of the pipeline, which is done by the Builder.
|
||||
|
||||
!Why doesn't the current Cinelerra-2 Design succeed?
|
||||
|
|
@ -1045,7 +1082,7 @@ As always, the main goal is //to cut down complexity// by the usual approach to
|
|||
|
||||
To achieve this, here we try to separate ''Configuration'' from ''Processing''. Further, in Configuration we try to separate the ''high level view'' (users view when editing) from the ''low level view'' (the actual configuration effective for the calculations). Finally, we try to factor out and encapsulate ''State'' in order to make State explicit.
|
||||
|
||||
The main tool used to implement this separation is the [[Builder Pattern|http://en.wikipedia.org/wiki/Builder_pattern]]. Here especially we move all decisions and parametrization into the BuildProcess. The Nodes in the render pipeline should process Video/Audio and do nothing else. No more decisions, tests and conditional operations when running the Pipeline. Move all of this out into the configuration of the pipeline, which is done by the Builder. Make the actual processing nodes Template classes, parametrized by the color model and number of components. Make all Nodes of equal footing with each other, able to be connected freely within the limitations of the necessary input and output. Make the OpenGL rendering into alternate implementation of some operations together with an alternate signal flow (usable only if the whole Pipeline can be built up to support this changed signal flow), thus factoring out all the complexities of managing the data flow between core and hardware accelerated rendering out of the implementation of the actual processing. Introduce separate control data connections for the automation data, separating the case of true multi-channel-effects from the case where one node just gets remote controlled by another node (or two nodes using the same automation data).
|
||||
The main tool used to implement this separation is the [[Builder Pattern|http://en.wikipedia.org/wiki/Builder_pattern]]. Here especially we move all decisions and parametrization into the BuildProcess. The Nodes in the render pipeline should process Video/Audio and do nothing else. No more decisions, tests and conditional operations when running the Pipeline. Move all of this out into the configuration of the pipeline, which is done by the Builder. Make the actual processing nodes Template classes, parametrized by the color model and number of components. Make all Nodes of equal footing with each other, able to be connected freely within the limitations of the necessary input and output. Make the OpenGL rendering into alternate implementation of some operations together with an alternate signal flow (usable only if the whole Pipeline can be built up to support this changed signal flow), thus factoring out all the complexities of managing the data flow between core and hardware accelerated rendering out of the implementation of the actual processing. Introduce separate control data connections for the [[automation data|Automation]], separating the case of true multi-channel-effects from the case where one node just gets remote controlled by another node (or two nodes are utilizing the same automation data).
|
||||
|
||||
Another pertinent theme is to make the basic building blocks simpler, while on the other hand gaining much more flexibility for combining these building blocks. For example we try to unfold any "internal-multi" effects into separate instances (e.g. the possibility of having an arbitrary number of single masks at any point of the pipeline instead of having one special masking facility encompassing multiple sub-masks. Similarly, we treat the Objects in the EDL in a more uniform manner and gain the possibility to [[place|Placement]] them in various ways.
|
||||
</pre>
|
||||
|
|
@ -1090,16 +1127,17 @@ Basically, each elementary operation has to record the informations necessary to
|
|||
{{red{to be defined in more detail later...}}}
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Example1" modifier="Ichthyostega" modified="200706220253" created="200706220239" tags="example" changecount="3">
|
||||
<div title="Example1" modifier="Ichthyostega" modified="200806291628" created="200706220239" tags="example" changecount="4">
|
||||
<pre>The &raquo;Timeline&laquo; is a sequence of ~MObjects -- here clips -- together with an ExplicitPlacement, locating each clip at a given time and track. (Note: I simplified the time format and wrote frame numbers to make it more clear)
|
||||
[img[Example1: Objects in the EDL/Fixture|uml/fig128773.png]]
|
||||
|
||||
----
|
||||
After beeing processed by the Builder, we get the following Render Engine configuration
|
||||
{{red{note: please take this only as a "big picture", the implementation details got a lot more complicated as of 6/08}}}
|
||||
[img[Example1: generated Render Engine|uml/fig129029.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Example2" modifier="Ichthyostega" modified="200804100035" created="200706220251" tags="example" changecount="2">
|
||||
<div title="Example2" modifier="Ichthyostega" modified="200806291627" created="200706220251" tags="example" changecount="3">
|
||||
<pre>{{red{TODO: seemingly this example is slightly outdated, as the implementation of placements is now indirect via LocatingPin objects}}}
|
||||
This Example showes the //high level// EDL as well. This needs to be transformed into a Fixture by some facility still to be designed. Basically, each [[Placement]] needs to be queried for this to get the corresponding ExplicitPlacement. The difficult part is to handle possible Placement constraints, e.g. one clip can't be placed at a timespan covered by another clip on the same track. In the current Cinelerra2, all of this is done directly by the GUI actions.
|
||||
|
||||
|
|
@ -1109,6 +1147,7 @@ The &raquo;Timeline&laquo; is a sequence of ~MObjects -- note: using the
|
|||
----
|
||||
After beeing processed by the Builder, we get a Render Engine configuration.<br>
|
||||
It has to be segmented at least at every point with changes in the configuration, but some variations are possible, e.g. we could create a Render Engine for every Frame (as Cinelerra2 does) or we could optimize out some configurations (for example the effect extended beyond the end of the clip)
|
||||
{{red{note: as of 6/08 this can be taken only as the "big picture". Implementation will differ in details, and is more complicated than shown here}}}
|
||||
[img[Example2: generated Render Engine|uml/fig129157.png]]
|
||||
</pre>
|
||||
</div>
|
||||
|
|
@ -1279,7 +1318,7 @@ For this Lumiera design, we could consider making GOP just another raw media dat
|
|||
&rarr;see in [[Wikipedia|http://en.wikipedia.org/wiki/Group_of_pictures]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ImplementationDetails" modifier="Ichthyostega" modified="200804070244" created="200708080322" tags="overview" changecount="22">
|
||||
<div title="ImplementationDetails" modifier="Ichthyostega" modified="200806030207" created="200708080322" tags="overview" changecount="24">
|
||||
<pre>This wiki page is the entry point to detail notes covering some technical decisions, details and problems encountered in the course of the implementation of the Lumiera Renderengine, the Builder and the related parts.
|
||||
|
||||
* [[Packages, Interfaces and Namespaces|InterfaceNamespaces]]
|
||||
|
|
@ -1296,6 +1335,7 @@ For this Lumiera design, we could consider making GOP just another raw media dat
|
|||
* [[integrating the Config Query system|ConfigQueryIntegration]]
|
||||
* [[identifying the basic Builder operations|BasicBuildingOperations]] and [[planning the Implementation|PlanningNodeCreatorTool]]
|
||||
* [[how to handle »attached placement«|AttachedPlacementProblem]]
|
||||
* working out the [[basic building situations|BuilderPrimitives]] and [[mechanics of rendering|RenderMechanics]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ImplementationGuidelines" modifier="Ichthyostega" modified="200711210542" created="200711210531" tags="discuss draft" changecount="7">
|
||||
|
|
@ -1652,7 +1692,7 @@ From experiences with other middle scale projects, I prefer having the test code
|
|||
[img[Example: Interfaces/Namespaces of the ~Session-Subsystems|uml/fig130053.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Loading Media" modifier="Ichthyostega" modified="200712100630" created="200709220005" tags="design spec" changecount="4">
|
||||
<div title="LoadingMedia" modifier="Ichthyostega" modified="200806030203" created="200709220005" tags="design spec" changecount="4">
|
||||
<pre>Opening and accessing media files on disk poses several problems, most of which belong to the domain of Lumiera's data backend. Here, we focus on the questions related to making media data available to the EDL and the render engine. Each media will be represented by an MediaAsset object, which indeed could be a compound object (in case of MultichannelMedia). Building this asset object thus includes getting informations from the real file on disk. For delegating this to the backend, we use the following query interface:
|
||||
* {{{queryFile(char* name)}}} requests accessing the file and yields some (opaque) handle when successful.
|
||||
* {{{queryChannel(fHandle, int)}}} will then be issued in sequence with ascending index numbers, until it returns {{{NULL}}}.
|
||||
|
|
@ -1663,7 +1703,9 @@ From experiences with other middle scale projects, I prefer having the test code
|
|||
|
||||
{{red{to be defined in more detail later...}}}
|
||||
|
||||
{{red{how to create a test stub for this interface...?}}}</pre>
|
||||
&rarr; see "~MediaAccessFacade" for a (preliminary) interface definitioin
|
||||
&rarr; see "~MediaAccessMock" for a mock/test implementaion
|
||||
</pre>
|
||||
</div>
|
||||
<div title="LocatingPin" modifier="Ichthyostega" created="200710181527" changecount="1">
|
||||
<pre>Used to actually implement the various kinds of [[Placement]] of ~MObjects. ~LocatingPin 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 ~LocatingPin object (or rather a chain of ~LocatingPins) is changed within the Placement. Subclasses of ~LocatingPin implement different placing/constraining behaviour:
|
||||
|
|
@ -1722,6 +1764,12 @@ This Design strives to achieve a StrongSeparation between the low-level Structur
|
|||
{{red{let's see if this approach works...}}}
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ManagementRenderNodes" modifier="Ichthyostega" modified="200805280201" created="200805280200" tags="impl decision" changecount="4">
|
||||
<pre>Contrary to the &rarr;[[Assets and MObjects|ManagementAssetRelation]], the usage pattern for [[render nodes|ProcNode]] is quite simple: All nodes are created together every time a new segment of the network is being build and are all needed together until this segment is re-built, at which point they can be thrown away altogether. While it would be easy to handle the nodes automatically by smart-ptr (the creation is accessible only by use of the {{{NodeFactory}}} anyways), it //seems advisable to care for a bulk allocation/deallocation here.// The reason being not so much the amount of memory (which is expected to be moderate), but the fact, that the build process can be triggered repeatedly several times a second when tweaking the EDL, which could lead to fragmentation and memory pressure.
|
||||
|
||||
__5/2008__: the allocation mechanism can surely be improved later, but for now I am going for a simple implementation based on keeping all nodes of one kind together in a vector. The list of possible node kinds is hard wired, allowing to generate the object holding a chunk of nodes for one segment, mostly relying on the runtime system for the management.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="MarkupPreHead" modifier="Ichthyostega" modified="200802030405" created="200706172303" changecount="2">
|
||||
<pre><!--{{{-->
|
||||
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
|
||||
|
|
@ -1729,9 +1777,11 @@ This Design strives to achieve a StrongSeparation between the low-level Structur
|
|||
|
||||
<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;">loading <b>Proc-Layer</b> devel doku<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div></pre>
|
||||
</div>
|
||||
<div title="MediaAsset" modifier="Ichthyostega" modified="200801101307" created="200709021530" tags="def classes" changecount="5">
|
||||
<div title="MediaAsset" modifier="Ichthyostega" modified="200806030152" created="200709021530" tags="def classes" changecount="7">
|
||||
<pre>The Interface asset::Media is a //key abstraction// It ties together several concepts and enables to deal with them on the interfaces in a uniform manner. Besides, as every Asset kind it belongs rather to the bookkeeping view: an asset::Media holds the specific properties and parametrisation of the media source it stands for. Regarding the __inward interface__ &mdash; as used from within the [[EDL]] or the [[Render Nodes|ProcNode]], it is irrelevant if any given asset::Media object stands for a complete media source, just a clip taken from this source or if a placeholder version of the real media source is used instead.
|
||||
[img[Asset Classess|uml/fig130437.png]]
|
||||
|
||||
&rarr; see also LoadingMedia
|
||||
</pre>
|
||||
</div>
|
||||
<div title="MemoryManagement" modifier="Ichthyostega" modified="200711180014" created="200708100225" tags="impl decision discuss" changecount="12">
|
||||
|
|
@ -1791,7 +1841,27 @@ So, when creating a clip out of such a compound media asset, the clip has to be
|
|||
<div title="NodeCreaterTool" modifier="Ichthyostega" created="200712100626" tags="def" changecount="1">
|
||||
<pre>NodeCreaterTool is a [[visiting tool|VisitorUse]] used as second step in the [[Builder]]. Starting out from a [[Fixture]], the builder first [[divides the Timeline into segments|SegmentationTool]] and then processes each segment with the NodeCreaterTool to build a render nodes network (Render Engine) for this part of the timeline. While visiting individual Objects and Placements, the NodeCreaterTool creates and wires the necessary [[nodes|ProcNode]]</pre>
|
||||
</div>
|
||||
<div title="ObjectCreation" modifier="Ichthyostega" modified="200711130113" created="200709030139" tags="impl design" changecount="17">
|
||||
<div title="NodeOperationProtocol" modifier="Ichthyostega" modified="200807072147" created="200806010251" tags="Rendering dynamic" changecount="15">
|
||||
<pre>The [[nodes|ProcNode]] are wired to form a "Directed Acyclic Graph"; each node knows its predecessor(s), but not its successor(s). The RenderProcess is organized according to the ''pull principle'', thus we find an operation {{{pull()}}} at the core of this process. There is no such thing as an "engine object" calling nodes iteratively or table driven, rather, the nodes themselves issue recursive calls to their predecessor(s). For this to work, we need the nodes to adhere to a specific protocol:
|
||||
# Node is pulled, with a StateProxy object as parameter (encapsulating the access to the frames or buffers)
|
||||
# Node may now access current parameter values, using the state accessible via the StateProxy
|
||||
# using it's //input-output and wiring descriptor,// the Node creates a StateAdapter wrapping the StateProxy for allocating buffers and accessing the required input
|
||||
# StateAdapter first tries to get the output frames from the Cache in the Backend. In case of failure, a {{{process()}}} call is prepared by generating {{{pull()}}} call(s) for the input
|
||||
# as late as possible, typically on return, these recursive pull-calls have allocated a buffer containing the input data.
|
||||
# when input is ready prior to the {{{process()}}} call, output buffers will be allocated, either from the cache, or (if not caching) from the "parent" StateAdapter up the callstack.
|
||||
# after all buffers are available, the StateAdapter issues the {{{process()}}} call back to the originating node, which now may dereference the frame pointers and do its calculations
|
||||
# finally, when the {{{pull()}}} call returns, "parent" state originating the pull holds onto the buffers containing the calculated output result.
|
||||
some points to note:
|
||||
* the WiringDescriptor is {{{const}}} and precalculated while building (remember another thread may call in parallel)
|
||||
* when a node is "inplace-capable", input and output buffer may actually point to the same location
|
||||
* but there is no guarantee for this to happen, because the cache may be involved (and we can't overwrite the contents of a cache frame)
|
||||
* generally, a node may have N inputs and M output frames, which are expected to be processed in a single call
|
||||
|
||||
&rarr; the [["mechanics" of the render process|RenderMechanics]]
|
||||
&rarr; more fine grained [[implementation details|RenderImplDetails]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ObjectCreation" modifier="Ichthyostega" modified="200806030153" created="200709030139" tags="impl design" changecount="18">
|
||||
<pre>We have to consider carefully how to handle the Creation of new class instances. Because, when done naively, it can defeat all efforts of separating subsystems, or &mdash; the other extreme &mdash; lead to a //switch-on-typeID// programming style. We strive at a solution somewhere in the middle by utilizing __Abstract Factories__ on Interface or key abstraction classes, but providing specialized overloads for the different use cases. So in each use case we have to decide if we want to create a instance of some general concept (Interface), or if we have a direct collaboration and thus need the Factory to provide a more specific sub-Interface or even a concrete type.
|
||||
|
||||
!Object creation use cases
|
||||
|
|
@ -1802,7 +1872,8 @@ So, when creating a clip out of such a compound media asset, the clip has to be
|
|||
|mark selection as clip|asset::Clip, session::Clip, Placement with unspec. LocatingPin| doesn't add to EDL|
|
||||
|loading Plugin|asset::Effect| usually at program startup|
|
||||
|create Session|asset::Track, asset::Pipe| |
|
||||
&rarr; [[Creating and registering Assets|AssetCreation]]
|
||||
&rarr; [[creating and registering Assets|AssetCreation]]
|
||||
&rarr; [[loading media|LoadingMedia]]
|
||||
|
||||
!![[MObjects|MObject]]
|
||||
|add media to EDL|asset::Clip, session::Clip, Placement with unspecified LocatingPin| creating whole-media clip on-the-fly |
|
||||
|
|
@ -1831,6 +1902,14 @@ But because I know the opinions on this topc are varying (users tend to be delig
|
|||
My proposed aproach is to treat OpenGL as a separate video raw data type, requiring separete and specialized [[Processing Nodes|ProcNode]] for all calculations. Thus the Builder could connect OpenGL nodes if it is possible to cover the whole render path for preview and fall back to the normal ~ProcNodes for all relevant renders
|
||||
</pre>
|
||||
</div>
|
||||
<div title="OperationPoint" modifier="Ichthyostega" modified="200806050155" created="200805270334" tags="def impl" changecount="5">
|
||||
<pre>A low-level abstraction within the [[Builder]] &mdash; it serves to encapsulate the details of making multi-channel connections between the render nodes: In some cases, a node can handle N channels internally, while in other cases we need to replicate the node N times and wire each channel individually.
|
||||
|
||||
The operation point is provided by the current BuilderMould and used by the [[processing pattern|ProcPatt]] executing within this mould and conducting the current build step. The operation point's interface allows //to abstract//&nbsp; these details, as well as to //gain additional control//&nbsp; if necessary (e.g. addressing only one of the channels). The most prominent build instruction used within the processing patterns (which is the instruction {{{"attach"}}}) relies on the aforementioned //approach of abstracted handling,// letting the operation point determine automatically how to make the connection.
|
||||
|
||||
This is possible because the operation point has been provided (by the mould) with informations about the media stream type to be wired, which, together with information accessible at the the [[render node interface|ProcNode]] and from the [[referred processing assets|ProcAsset]], with the help of the [[connection manager|ConManager]] allows to figure out what's possible and how to do the desired connections.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Overview" modifier="Ichthyostega" modified="200804130018" created="200706190300" tags="overview" changecount="12">
|
||||
<pre>The Lumiera Processing Layer is comprised of various subsystems and can be separated into a low-level and a high-level part. At the low-level end is the [[Render Engine|OverviewRenderEngine]] which basically is a network of render nodes cooperating closely with the Backend Layer in order to carry out the actual playback and media transforming calculations. Whereas on the high-level side we find several different [[Media Objects|MObjects]] that can be placed into the [[EDL]], edited and manipulated. This is complemented by the [[Asset Management|Asset]], which is the "bookkeeping view" of all the different "things" within each [[Session|SessionOverview]].
|
||||
|
||||
|
|
@ -1841,7 +1920,7 @@ There is rather strong separation between these two levels, and &mdash; <
|
|||
[img[Block Diagram|uml/fig128005.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="OverviewRenderEngine" modifier="Ichthyostega" modified="200711130002" created="200706190647" tags="overview" changecount="18">
|
||||
<div title="OverviewRenderEngine" modifier="Ichthyostega" modified="200806010250" created="200706190647" tags="Rendering overview" changecount="19">
|
||||
<pre>Render Engine, [[Builder]] and [[Controller]] are closely related Subsystems. Actually, the [[Builder]] //creates// a newly configured Render Engine //for every// RenderProcess. Before doing so, it queries from the Session (or, to be more precise, from the [[Fixture]] within the current Session) all necessary Media Object Placement information. The [[Builder]] then derives from this information the actual assembly of [[Processing Nodes|ProcNode]] comprising the Render Engine. Thus:
|
||||
* the source of the build process is a sequence of absolute (explicit) [[Placements|Placement]] called the [[Playlist]]
|
||||
* the [[build process|BuildProcess]] is driven, configured and controlled by the [[Controller]] subsystem component. It encompasses the actual playback configuration and State of the System.
|
||||
|
|
@ -1879,8 +1958,8 @@ see also: RenderEntities, [[two Examples (Object diagrams)|Examples]]
|
|||
<!--}}}-->
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ParamProvider" modifier="MichaelPloujnikov" modified="200706271458" created="200706220517" tags="def" changecount="7">
|
||||
<pre>A ParamProvider is the counterpart for (one or many) Parameter instances. It implements the value access function made available by the Parameter object to its clients.
|
||||
<div title="ParamProvider" modifier="Ichthyostega" modified="200805300124" created="200706220517" tags="def automation" changecount="9">
|
||||
<pre>A ParamProvider is the counterpart for (one or many) [[Parameter]] instances. It implements the value access function made available by the Parameter object to its clients.
|
||||
|
||||
To give a concrete example:
|
||||
* a Fade Plugin needs the actual fade value for Frame t=xxx
|
||||
|
|
@ -1892,8 +1971,8 @@ To give a concrete example:
|
|||
&rarr; see the class diagram for [[Automation]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Parameters" modifier="MichaelPloujnikov" modified="200706271456" created="200706220505" tags="def" changecount="3">
|
||||
<pre>Parameters are all probably variable control values used within the Render Engine. Contrast this with configuration values, which are considered to be fixed and need an internal reset of the application state to take effect.
|
||||
<div title="Parameter" modifier="Ichthyostega" modified="200805300124" created="200706220505" tags="def automation" changecount="1">
|
||||
<pre>Parameters are all possibly variable control values used within the Render Engine. Contrast this with configuration values, which are considered to be fixed and need an internal reset of the application (or session) state to take effect.
|
||||
|
||||
A ''Parameter Object'' provides a descriptor of the kind of parameter, together with a function used to pull the //actual value// of this parameter. Here, //actual// has a two-fold meaning:
|
||||
* if called without a time specification, it is either a global (but variable) system or session parameter or a default value for automated Parameters. (the intention is to treat this cases uniformly)
|
||||
|
|
@ -2572,11 +2651,11 @@ We need a way of addressing existing [[pipes|Pipe]]. Besides, as the Pipes and T
|
|||
//Note, we have yet to specify how exactly the building and rendering will work together with the backend. There are several possibilities how to structure the Playlist//
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ProblemsTodo" modifier="Ichthyostega" modified="200709251721" created="200708050524" tags="design discuss" changecount="15">
|
||||
<div title="ProblemsTodo" modifier="Ichthyostega" modified="200806030155" created="200708050524" tags="design discuss" changecount="16">
|
||||
<pre>Open issues, Things to be worked out, Problems still to be solved...
|
||||
|
||||
!!Parameter Handling
|
||||
The requirements are not quite clear; obviously Parameters are the foundation for getting automation right and for providing effect editing interfaces, so it seems to me we need some sort of introspection, i.e. Parameters need to be discovered, enumerated and described at runtime.
|
||||
The requirements are not quite clear; obviously Parameters are the foundation for getting automation right and for providing effect editing interfaces, so it seems to me we need some sort of introspection, i.e. Parameters need to be discovered, enumerated and described at runtime. (&rarr; see [[tag:automation|automation]])
|
||||
|
||||
''Automation Type'': Directly connected is the problem of handling the //type// of parameters sensible, including the value type of automation data. My first (somewhat naive) approach was to "make everything a double". But this soon leads into quite some of the same problems haunting the automation solution implemented in the current Cinelerra codebase. What makes the issue difficult is the fact we both need static diversity as well as dynamic flexibility. Usually, when combining hierarchies and templates, one has to be very careful; so I just note the problem down at the moment and will revisit it later, when I have a more clear understanding of the demands put onto the [[ProcNode]]s
|
||||
|
||||
|
|
@ -2630,12 +2709,13 @@ Besides, they provide an important __inward interface__ for the [[ProcNode]]s, w
|
|||
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ProcLayer and Engine" modifier="Ichthyostega" modified="200805250304" created="200706190056" tags="overview" changecount="10">
|
||||
<div title="ProcLayer and Engine" modifier="Ichthyostega" modified="200807072140" created="200706190056" tags="overview" changecount="11">
|
||||
<pre>The Render Engine is the part of the application doing the actual video calculations. Its operations are guided by the Objects and Parameters edited by the user in [[the EDL|EDL]] and it retrieves the raw audio and video data from the [[Data backend|backend.html]]. Because the inner workings of the Render Engine are closely related to the structures used in the EDL, this design covers [[the aspect of objects placed into the EDL|MObjects]] as well.
|
||||
<<<
|
||||
''Status'': started out as design draft in summer '07, Ichthyo is now in the middle of a implementing the foundations and main structures in C++
|
||||
* basic AssetManager working
|
||||
* currently impmenenting the Builder (&rarr;[[more|PlanningNodeCreatorTool]])
|
||||
* basic [[AssetManager]] working
|
||||
* [[Builder]] implementation is on the way (&rarr;[[more|BuilderPrimitives]])
|
||||
* currently working out how to wire and operate procesing nodes (&rarr;[[more|RenderMechanics]])
|
||||
<<<
|
||||
|
||||
!Summary
|
||||
|
|
@ -2657,8 +2737,19 @@ The system is ''open'' inasmuch every part mirrors the structure of correspondin
|
|||
&rarr; [[Implementation Details|ImplementationDetails]] {{red{WIP}}}
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ProcNode" modifier="MichaelPloujnikov" modified="200706271500" created="200706220409" tags="def" changecount="3">
|
||||
<div title="ProcNode" modifier="Ichthyostega" modified="200806211606" created="200706220409" tags="def spec" changecount="6">
|
||||
<pre>A data processing node within the Render Engine. Its key feature is the possibility to pull from it one (freely addressable) [[Frame]] of calculated data. Further, each ~ProcNode has the ability to be wired with other nodes and [[Parameter Providers|ParamProvider]]
|
||||
|
||||
!! {{red{open questions}}}
|
||||
* how to address a node
|
||||
* how to type them
|
||||
* how to discover the number and type of the ports
|
||||
* how to discover the possible parameter ports
|
||||
* how to define and query for additional capabilities
|
||||
|
||||
&rarr; see also the [[open design process draft|http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/DesignRenderNodesInterface]]
|
||||
&rarr; see [[mem management|ManagementRenderNodes]]
|
||||
&rarr; see RenderProcess
|
||||
</pre>
|
||||
</div>
|
||||
<div title="ProcPatt" modifier="Ichthyostega" modified="200805260329" created="200709212315" tags="def design" changecount="9">
|
||||
|
|
@ -2947,18 +3038,115 @@ At first sight the link between asset and clip-MO is a simple logical relation b
|
|||
&rarr; OverviewRenderEngine
|
||||
</pre>
|
||||
</div>
|
||||
<div title="RenderEntities" modifier="Ichthyostega" modified="200706220406" created="200706190715" changecount="6">
|
||||
<pre>The Render Engine only carries out the low-level and performance critical tasks. All configuration and decision concerns are to be handled by [[Builder]] and [[Controller]]. While the actual connection of the Render Nodes can be highly complex, basically each Segment of the Timeline with uniform characteristics is handled by one Processor, which is a graph of [[Processing Nodes|ProcNode]] discharging into a ExitNode. The Render Engine Components as such are //stateless// themselves; for the actual calculations they are combined with a StateProxy object generated by and connected internally to the [[Controller]], while at the same time holding the Data Buffers (Frames) for the actual calculations.
|
||||
<div title="RenderEntities" modifier="Ichthyostega" modified="200806010249" created="200706190715" tags="Rendering classes" changecount="9">
|
||||
<pre>The [[Render Engine|Rendering]] only carries out the low-level and performance critical tasks. All configuration and decision concerns are to be handled by [[Builder]] and [[Controller]]. While the actual connection of the Render Nodes can be highly complex, basically each Segment of the Timeline with uniform characteristics is handled by one Processor, which is a graph of [[Processing Nodes|ProcNode]] discharging into a ExitNode. The Render Engine Components as such are //stateless// themselves; for the actual calculations they are combined with a StateProxy object generated by and connected internally to the [[Controller]], while at the same time holding the Data Buffers (Frames) for the actual calculations.
|
||||
|
||||
[img[Entities comprising the Render Engine|uml/fig128389.png]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="RenderProcess" modifier="MichaelPloujnikov" modified="200706271425" created="200706190705" tags="dynamic" changecount="6">
|
||||
<pre>{{red{TODO: describe the Render Process.}}}
|
||||
<div title="RenderImplDetails" modifier="Ichthyostega" modified="200806291643" created="200806220211" tags="Rendering impl" changecount="11">
|
||||
<pre>Below are some notes regarding details of the actual implementation of the render process and processing node operation. In the description of the [[render node operation protocol|NodeOperationProtocol]] and the [[mechanics of the render process|RenderMechanics]], these details were left out deliberately.
|
||||
|
||||
* see also the [[Entities involved in Rendering|RenderEntities]]
|
||||
!Layered structure of State
|
||||
State can be seen as structured like an onion. All the [[StateAdapter]]s in one call stack are supposed to be within one layer: they all know of a "current state", which in turn is a StateProxy (and thus may refer yet to another state, maybe accros the network or in the backend or whatever). The actual {{{process()}}} function "within" the individual nodes just sees a single StateAdapter and thus can be thought to be a layer below.
|
||||
|
||||
!Buffer identification
|
||||
For the purpose of node operation, Buffers are identified by a //Buffer-handle,// which contains both the actual buffer pointer and an internal indes and classification of the source providing the buffer; the latter information is used for deallocation. Especially for calling the {{{process()}}} function (which is supposed to be plain C) the respective StateAdapter provides an array containing just the output and input buffer pointers
|
||||
|
||||
!Problem of multi-channel nodes
|
||||
Some data processors simply require to work on multiple channels simultanously, while others work just on a single channel and will be replicated by the builder for each channel invoved. Thus, we are struck with the nasty situation that the node graph may go through some nodes spanning the chain of several channels. Now the decision is //not to care for this complexity within a single chain calculating a single channel.// We rely solely on the cache to avoid duplicated calculations. When a given node happens to produce multiple output buffers, we are bound to allocate them for the purpose of this nodes {{{process()}}} call, but we just "let go" the buffers not needed immediately for the channel acutally to be processed. For this to work, it is supposed that the builder has wired in a caching, and that the cache will hit when we touch the same node again for the other channels.
|
||||
|
||||
!Configuration of the processing nodes
|
||||
[>img[uml/fig132357.png]]
|
||||
Every node is actually decomposed into three parts
|
||||
* an interface container of a ProcNode subclass
|
||||
* an {{{const}}} WiringDescriptor, which is actually parametrized to a subtype encoding details of the intended operation
|
||||
* an StateAdapter object created on the stack for each {{{pull()}}} call and configured specifically for the intended operation
|
||||
Thus, the outer container can be changed polymorphically to support the different kinds of nodes (large-scale view). The actual wiring of the nodes is contained in the WiringDescriptor, including the {{{process()}}} function pointer. Additionally, this WiringDescriptor knows the actual type of the StateAdapter to create, and this actual type has been chosen by the builder such as to select details of the desired operation of this mode, for example caching / no caching or maybe ~OpenGL rendering or the special case of a node pulling directly from a source reader. Most of this configuration is done by selecting the right template specialisation within the builder; thus in the critical path most of the calls can be inlined
|
||||
|
||||
!!!! composing the actual StateAdapter
|
||||
As shown in the class diagram to the right, the actual implementation is assembled by chaining together the various policy classes governing parts of the node operation, like Caching, in-Place calculation capability, etc. (&rarr; see [[here|StateAdapter]] for details). The rationale is that we can allocate at runtime a StateProxy object directly on the stack with the necessary buffer table size and an precisely tailored and mostly inlined implementation of the call sequence for "calculating the predecessor nodes". We //do employ//&nbsp; some virtual calls for the buffer management in order to avoid coupling the policy classes to the actual number of in/out buffers. (As of 6/2008, this is mainly a precaution to be able to control the number of generated template instances. If we ever get in the region of several hundred individual specialisations, we'd need to separate out the allocation of the "wiring table" into a hand-made stack-like buffer allocated from the heap.)
|
||||
|
||||
!Rules for buffer allocation and freeing
|
||||
* only output buffers are allocated. It is //never necessary//&nbsp; to allocate input buffers!
|
||||
* buffers are to be allocated as late as possible, typically just before invoking {{{process()}}}
|
||||
* buffers are allways allocated by calling to the preceeding StateAdapter in the callstack ("parent stae"), because of the possibility to write to cache.
|
||||
* {{{pull()}}} returns the buffer-ID of the single output requested by this call. Using this ID, the caller may retrieve the actual buffer holding the result from the "current state" StaeProxy.
|
||||
* any other buffers filled with results in the course of the same {{{process()}}} call can be released immediately before returning from the {{{pull()}}}
|
||||
* similar, and input buffers are to be released immediately after the {{{process()}}} call, but before returing from this {{{pull()}}}
|
||||
* buffers are allways released by calling to the "current state" (which is a StateProxy), providing the buffer-ID to be released
|
||||
|
||||
@@clear(right):display(block):@@
|
||||
</pre>
|
||||
</div>
|
||||
<div title="RenderMechanics" modifier="Ichthyostega" modified="200806280029" created="200806030230" tags="Rendering impl dynamic" changecount="27">
|
||||
<pre>While the render process, with respect to the dependencies, the builder and the processing function is sufficiently characterized by referring to the ''pull principle'' and by defining a [[protocol|NodeOperationProtocol]] each node has to adhere to &mdash; for actually get it coded we have to care for some important details, especially //how to manage the buffers.// It may well be that the length of the code path necessary to invoke the individual processing functions is finally not so important, compared with the time spent at the inner pixel loop within these functions. But my guess is (as of 5/08), that the overall number of data moving and copying operations //will be//&nbsp; of importance.
|
||||
|
||||
!requirements
|
||||
* operations should be "in place" as much as possible
|
||||
* because caching necessitates a copy, the points where this happens should be controllable.
|
||||
* buffers should accommodate automatically to provide the necessary space without clipping the image.
|
||||
* the type of the media data can change while passing through the network, and so does the type of the buffers.
|
||||
On the other hand, the processing function within the individual node needs to be shielded from these complexities. It can expect to get just //N~~I~~// input buffers and //N~~O~~// output buffers of required type. And, moreover, as the decision how to organize the buffers certainly depends on non-local circumstances, it should be preconfigured while building.
|
||||
|
||||
!data flow
|
||||
[>img[uml/fig131973.png]]
|
||||
Not everything can be preconfigured though. The pull principle opens the possibility for the node to decide on a per call base what predecessor(s) to pull (if any). This decision may rely on automation parameters, which thus need to be accessible prior to requesting the buffer(s). Additionally, in a later version we plan to have the node network calculate some control values for adjusting the cache and backend timings &mdash; and of course at some point we'll want to utilize the GPU, resulting in the need to feed data from our processing buffers into some texture representation.
|
||||
|
||||
!buffer management
|
||||
Besides the StateProxy representing the actual render process and holding a couple of buffer (refs), we employ a lightweight adapter object in between. It is used //for a single {{{pull()}}}-call// &mdash; mapping the actual buffers to the input and output port numbers of the processing node and for dealing with the cache calls. While the StateProxy manages a pool of frame buffers, this interspersed adapter allows us to either use a buffer retrieved from the cache as an input, possibly use a new buffer located within the cache as output, or (in case no caching happens) to just use the same buffer as input and output for "in-place"-processing. The idea is that most of the configuration of this adapter object is prepared in the wiring step while building the node network.
|
||||
|
||||
The usage patern of the buffers can be stack-like when processing nodes require multiple input buffers. In the standard case, which also is the simplest case, a pair of buffers (or a single buffer for "in-place" capable nodes) suffices to calculate a whole chain of nodes. But &mdash; as the recursive descent means depth-first processing &mdash; in case multiple input buffers are needed, we may encounter a situation where some of these input buffers already contain processed data, while we have to descend into yet another predecessor node chain to pull the data for the remaining buffers. Care has to be taken //to allocate the buffers as late as possible,// otherwise we could end up holding onto a buffer almost for each node in the network. Effectively this translates into the rule to allocate output buffers only after all input buffers are ready and filled with data; thus we shouldn't allocate buffers when //entering// the recursive call to the predecessor(s), rather we have to wait until we are about to return from the downcall chain.
|
||||
Besides, these considerations also show we need a means of passing on the current buffer usage pattern while calling down. This usage pattern not only includes a record of what buffers are occupied, but also the intended use of these occupied buffers, especially if they can be modified in-place, and at which point they may be released and reused.
|
||||
__note__: this process outlined here and below is still an simplification. The actual implementation has some additional [[details to care for|RenderImplDetails]]
|
||||
|
||||
!!Example: calculating a 3 node chain
|
||||
# Caller invokes calculation by pulling from exit node, providing the top-level StateProxy
|
||||
# node1 (exit node) builds StateAdapter and calls retrieve() on it to get the desired output result
|
||||
# this StateAdapter (ad1) knows he could get the result from Cache, so he tries, but it's a miss
|
||||
# thus he pulls from the predecessor node2 according to the [[input descriptor|ProcNodeInputDescriptor]] of node1
|
||||
# node2 builds its StateAdapter and calls retrieve()
|
||||
# but because StateAdapter (ad2) is configured to directly forward the call down (no caching), it pulls from node3
|
||||
# node3 builds its StateAdapter and calls retrieve()
|
||||
# this StateAdapter (ad3) is configured to look into the Cache...
|
||||
# this time producing a Cache hit
|
||||
# now StateAdapter ad2 has input data, but needs a output buffer location, which re requests from its //parent state// (ad1)
|
||||
# and, because ad1 is configured for Caching and is "in-place" capable, it's clear that this output buffer will be located within the cache
|
||||
# thus the allocation request is forwarded to the cache, which provides a new "slot"
|
||||
# now node2 has both a valid input and a usable output buffer, thus the process function can be invoked
|
||||
# and after the result has been rendered into the output buffer, the input is no longer needed
|
||||
# and can be "unlocked" in the Cache
|
||||
# now the input data for node1 is available, and as node1 is in-place-capable, no further buffer allocation is necessary prior to calculating
|
||||
# the finished result is now in the buffer (which happens to be also the input buffer and is actually located within the Cache)
|
||||
# thus it can be marked as ready for the Cache, which may now provide it to other processes (but isn't allowed to overwrite it)
|
||||
# finally, when the caller is done with the data, it signalles this to the top-level State object
|
||||
# which forwards this information to the cache, which in turn may now do with the released Buffer as he sees fit.
|
||||
[img[uml/fig132229.png]]
|
||||
|
||||
@@clear(right):display(block):@@
|
||||
__see also__
|
||||
&rarr; the [[Entities involved in Rendering|RenderEntities]]
|
||||
&rarr; additional [[implementation details|RenderImplDetails]]
|
||||
&rarr; [[Memory management for render nodes|ManagementRenderNodes]]
|
||||
&rarr; the protocol [[how to operate the nodes|NodeOperationProtocol]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="RenderProcess" modifier="Ichthyostega" modified="200806130009" created="200706190705" tags="Rendering dynamic" changecount="27">
|
||||
<pre>For each segment (of the effective timeline), there is a Processor holding the exit node(s) of a processing network, which is a "Directed Acyclic Graph" of small, preconfigured, stateless [[processing nodes|ProcNode]]. This network is operated according to the ''pull principle'', meaning that the rendering is just initiated by "pulling" output from the exit node, causing a cascade of recursive downcalls. Each node knows its predecessor(s) an can pull the necessary input from there. Consequently, there is no centralized "engine object" which may invoke nodes iteratively or table driven &mdash; rather, the rendering can be seen as a passive service provided for the backend, which may pull from the exit nodes at any time, in any order (?), and possibly multithreaded.
|
||||
All State necessary for a given calculation process is encapsulated and accessible by a StateProxy object, which can be seen as the representation of "the process". At the same time, this proxy provides the buffers holding data to be processed and acts as a gateway to the backend to handle the communication with the Cache. In addition to this //top-level State,// each calculation step includes a small [[state adapter object|StateAdapter]] (stack allocated), which is pre-configured by the builder and serves the purpose to isolate the processing function from the detals of buffer management.
|
||||
|
||||
|
||||
__see also__
|
||||
&rarr; the [[Entities involved in Rendering|RenderEntities]]
|
||||
&rarr; the [[mechanics of rendering and buffer management|RenderMechanics]]
|
||||
&rarr; the protocol [[how to operate the nodes|NodeOperationProtocol]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="Rendering" modifier="Ichthyostega" modified="200806010307" created="200806010248" tags="def overview" changecount="3">
|
||||
<pre>The rendering of input sources to the desired output ports happens within the &raquo;''Render Engine''&laquo;, which can be seen as a collaboration of Proc-Layer, Backend together with external/library code for the actual data manipulation. In preparation of the RenderProcess, the [[Builder]] as wired up a network of [[processing nodes|ProcNode]] called the ''low-level model'' (in contrast to the high-level model of objects placed within the EDL/Session). Generally, this network is a "Directed Acyclic Graph" starting at the //exit nodes// (output ports) and pointing down to the //source readers.// In Lumiera, rendering is organized according to the ''pull principle'': when a specific frame of rendered data is requested from an exit node, a recursive calldown happens, as each node asks his predecessor(s) for the necessary input frame(s). This may include pulling frames from various input sources and for several time points, thus pull rendering is more powerful (but also more difficult to understand) than push rendering, where the process would start out with a given source frame.
|
||||
|
||||
Rendering can be seen as a passive service available to the Backend, which remains in charge what to render and when. Render processes may be running in parallel without any limitations. All of the storage and data management falls into the realm of the Backend. The render nodes themselves are ''completely stateless'' &mdash; if some state is necessary for carrying out the calculations, the backend will provide a //state frame// in addition to the data frames.</pre>
|
||||
</div>
|
||||
<div title="Session" modifier="Ichthyostega" modified="200712100526" created="200712100525" tags="def" changecount="3">
|
||||
<pre>The Session contains all informations, state and objects to be edited by the User. From a users view, the Session is synonymous to the //current Project//. It can be saved and loaded. The individual Objects within the Session, i.e. Clips, Media, Effects, are contained in one (or several) collections within the Session, which we call [[EDL (Edit Decision List)|EDL]]. &rarr; [[Session design overview|SessionOverview]]
|
||||
|
||||
|
|
@ -3059,11 +3247,39 @@ if (oldText.indexOf("SplashScreen")==-1)
|
|||
}
|
||||
//}}}</pre>
|
||||
</div>
|
||||
<div title="StateProxy" modifier="MichaelPloujnikov" modified="200706271456" created="200706220352" tags="def" changecount="2">
|
||||
<div title="StateAdapter" modifier="Ichthyostega" modified="200806270120" created="200806261912" tags="Rendering impl spec dynamic" changecount="7">
|
||||
<pre>A small (in terms of storage) and specifically configured StateProxy object which is created on the stack for each individual {{{pull()}}} call. The actual type of this object is composed out of several building blocks (policy classes) and placed by the builder as a template parameter on the WiringDescriptor of the individual ProcNode. This happens in the WiringFactory in file {{{nodewiring.cpp}}}, which consequently contains all the possible combinations (pre)generated at compile time.
|
||||
|
||||
!building blocks
|
||||
* ''Caching'': whether the result frames of this processing step will be communicated to the Cache and thus could be fetched from there instead of actually calculating them.
|
||||
* ''Process'': whether this node does any calculations on it's own or just pulls from a source
|
||||
* ''Inplace'': whether this node is capable of processing the result "in-place", thereby overwriting the input buffer
|
||||
* ''Multiout'': whether this node produces multiple output channels/frames in one processing step
|
||||
|
||||
!!implementation
|
||||
!!!!Caching
|
||||
When a node participates in ''caching'', a result frame may be pulled immediately from cache instead of calculating it. Moreover, //any output buffer//&nbsp; of this node will be allocated //within the cache.// Consequently, caching interferes with the ability of the next node to calculate "in-Place". In the other case, when ''not using the cache'', the {{{pull()}}} call immediately starts out with calling down to the predecessor nodes, and the allocation of output buffer(s) is always delegated to the parent state (i.e. the StateProxy pulling results from this node).
|
||||
|
||||
Generally, buffer allocation requests from predecessor nodes (while being pulled by this node) will either be satisfied by using the "current state", or treated as if they were our own output buffers when this node is in-Place capable.
|
||||
|
||||
!!!!Multiple Outputs
|
||||
Some simplifications are possible in the default case of a node producing just ''one single output'' stream. Otherwise, we'd have to allocate multiple output buffers, and then, after processing, select the one needed as a result and deallocate the superfluous further buffers.
|
||||
|
||||
!!!!in-Place capability
|
||||
If a node is capable of calculating the result by ''modifying it's input'' buffer(s), an important performance optimization is possible, because in a chain of in-place capable nodes, we don't need any buffer allocations. But, on the other hand, this optimization may collide with the caching, because a frame retrieved from cache must not be modified.
|
||||
Without this optimization, in the base case each processing needs an input and an output. Exceptionally, we could think of special nodes which //require// to process in-place, in which case we'd need to provide a copy of the input buffer to work on under certain circumstances.
|
||||
|
||||
!!!!Processing
|
||||
If ''not processing'' we don't have any input buffers, instead we get our output buffers from an external source.
|
||||
Otherwise, in the default case of actually ''processing'' out output, we have to organize input buffers, allocate output buffers, call the {{{process()}}} function of the WiringDescriptor and finally release the input buffers.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="StateProxy" modifier="Ichthyostega" modified="200806010404" created="200706220352" tags="def" changecount="4">
|
||||
<pre>An Object representing a //Render Process// and containing associated state information.
|
||||
* it is created in the Controller subsystem while initiating the BuildProcess
|
||||
* it is passed on to the generated Render Engine, which in turn passes it down to the individual Processors
|
||||
* moreover, it contains methods to communicate with other state relevant parts of the system, thereby shielding the rendering code from any complexities of Thread communication if necessary. (thus the name Proxy)
|
||||
* in a future version, it may also encapsulate the communication in a distributed render farm
|
||||
</pre>
|
||||
</div>
|
||||
<div title="StrongSeparation" modifier="MichaelPloujnikov" modified="200706271504" created="200706220452" tags="design" changecount="5">
|
||||
|
|
@ -3263,8 +3479,8 @@ h1,h2,h3,h4,h5,h6 {
|
|||
/*}}}*/
|
||||
</pre>
|
||||
</div>
|
||||
<div title="TabTimeline" modifier="Ichthyostega" modified="200711082358" created="200706191949" changecount="3">
|
||||
<pre><<timeline better:true maxDays:55 maxEntries:30>></pre>
|
||||
<div title="TabTimeline" modifier="Ichthyostega" modified="200806030148" created="200706191949" changecount="4">
|
||||
<pre><<timeline better:true maxDays:55 maxEntries:45>></pre>
|
||||
</div>
|
||||
<div title="TaskMacroPlugin" modifier="Ichthyostega" created="200712100248" tags="systemConfig excludeMissing" changecount="2">
|
||||
<pre>/***
|
||||
|
|
@ -4330,12 +4546,12 @@ Placements are __resolved__ resulting in an ExplicitPlacement. In most cases thi
|
|||
&rarr; [[Definition|Pipe]] and [[handling of Pipes|PipeHandling]]
|
||||
</pre>
|
||||
</div>
|
||||
<div title="TransitionsHandling" modifier="Ichthyostega" modified="200801061213" created="200712080417" tags="def design" changecount="2">
|
||||
<div title="TransitionsHandling" modifier="Ichthyostega" modified="200805300100" created="200712080417" tags="def design" changecount="3">
|
||||
<pre>Transitions combine the data from at least two processing chains and do this combining in a time varying fashion. So, any transition has
|
||||
* N input connections
|
||||
* either one or N output connections
|
||||
* temporal coordinates (time, length)
|
||||
* some control data connection to a ParamProvider, because in the most general case the controling curves are treated like automation
|
||||
* some control data connection to a ParamProvider, because in the most general case the controling curves are treated similar to [[automation data|AutomationData]]
|
||||
|
||||
!!!how much output ports?
|
||||
The standard case of a transition is sort of mixing together two input streams, like e.g. a simple dissolve. For this to be of any use, this input streams need to be connected to the same ouput destination before and after the transition (with regards to the timeline), i.e. the inputs and the transition share placement to the same output pipe. In this case, when the transition starts, the direct connections can be suspended and the transition will switch in seamlessly.
|
||||
|
|
@ -4345,10 +4561,10 @@ Using transitions is a very basic task and thus needs viable support by the GUI.
|
|||
Because of this experience, ichthyo wants to support a more general case of transitions, which have N output connections, behave similar to their "simple" counterpart, but leave out the mixing step. As a plus, such transitions can be inserted at the source ports of N clips or between any intermediary or final output pipes as well. Any transition processor capable of handling this situation should provide some flag, in order to decide if he can be placed in such a manner. (wichin the builder, encountering a inconsistently placed transition is just an [[building error|BuildingError]])
|
||||
</pre>
|
||||
</div>
|
||||
<div title="VirtualClip" modifier="Ichthyostega" modified="200804110329" created="200804110321" tags="def" changecount="7">
|
||||
<div title="VirtualClip" modifier="Ichthyostega" modified="200806030159" created="200804110321" tags="def" changecount="13">
|
||||
<pre>A ''~Meta-Clip'' or ''Virtual Clip'' (both are synonymous) denotes a clip which doesn't just pull media streams out of a source media asset, but rather provides the results of rendering a complete sub-network. In all other respects it behaves exactly like a "real" clip, i.e. it has [[source ports|ClipSourcePort]], can have attached effects (thus forming a local render pipe) and can be placed and combined with other clips. Depending on what is wired to the source ports, we get two flavours:
|
||||
* a __placeholder clip__ has no "embedded" content. Rather, by virtue of placements and wiring requests, the output of some other pipe somewhere in the session will be wired to the clip's source ports. Thus, pulling data from this clip will effectively pull from these source pipes wired to it.
|
||||
* a __nested EDL__ is like the other ~EDLs in the Session, just that any missing placement properties will be derived from the Virtual Clip, which is thought as to "contain" the objects of the nested EDL. Typically, you'd also [[configure the tracks|TrackHandling]] of the "inner" EDL such as to connect any output to the source ports of the Virtual Clip.
|
||||
* a __placeholder clip__; has no "embedded" content. Rather, by virtue of placements and wiring requests, the output of some other pipe somewhere in the session will be wired to the clip's source ports. Thus, pulling data from this clip will effectively pull from these source pipes wired to it.
|
||||
* a __nested EDL __ is like the other ~EDLs in the Session, just that any missing placement properties will be derived from the Virtual Clip, which is thought as to "contain" the objects of the nested EDL. Typically, you'd also [[configure the tracks|TrackHandling]] of the "inner" EDL such as to connect any output to the source ports of the Virtual Clip.
|
||||
|
||||
Like any "real" clip, Virtual Clips have a start offset and a length, which will simply translate into an offset of the frame number pulled from the Virtual Clip's source connection or embedded EDL, making it possible to cut, splice, trim and roll them as usual. This of course implies we can have several instances of the same virtual clip with different start offset and length placed differently. The only limitation is that we can't handle cyclic dependencies for pulling data (which has to be detected and flagged as an error by the builder)
|
||||
</pre>
|
||||
|
|
@ -4399,7 +4615,7 @@ generally speaking, visitors are preferable when the underlying element type hie
|
|||
To see an simple example of our "visiting tool", have a look at {{{tests/components/common/visitingtooltest.cpp}}}
|
||||
</pre>
|
||||
</div>
|
||||
<div title="WalkThrough" modifier="Ichthyostega" modified="200804130047" created="200706210625" tags="overview" changecount="39">
|
||||
<div title="WalkThrough" modifier="Ichthyostega" modified="200805300124" created="200706210625" tags="overview" changecount="41">
|
||||
<pre>The Intention of this text is to help you understanding the design and to show some notable details.
|
||||
|
||||
!!!!Starting Point
|
||||
|
|
@ -4420,7 +4636,7 @@ This design strives to build each level and subsystem around some central concep
|
|||
* albeit being a special form of a Placement, the ExplicitPlacement is treated as a separate concept. With respect to edit operations within the EDL, it can stand for any sort of Placement. On the other hand the Builder takes a list of ~ExplicitPlacements as input for building up the Render Engine(s). This corresponds to the fact that the render process needs to organize the things to be done on a simple two dimensional grid of (output channel / time). The (extended) contract of an ~ExplicitPlacement provides us with this (output,time).
|
||||
* on the lower end of the builder, everything is organized around the Concept of a ProcNode, which enables us to //pull// one (freely addressable) Frame of calculated data. Further, the ProcNode has the ability to be wired with other nodes and [[Parameter Providers|ParamProvider]]
|
||||
* the various types of data to be processed are abstracted away under the notion of a [[Frame]]. Basically, a Frame is an Buffer containing an Array of raw data and it can be located by some generic scheme, including (at least) the absolute starting time (and probably some type or channel id).
|
||||
* All sorts of (target domain) [[Parameters]] are treated uniformly. There is a distinction between Parameters (which //could// be variable) and Configuration (which is considered to be fixed). In this context, Automation just appears as a special kind of ParamProvider.
|
||||
* All sorts of (target domain) [[parameters|Parameter]] are treated uniformly. There is a distinction between Parameters (which //could// be variable) and Configuration (which is considered to be fixed). In this context, [[Automation]] just appears as a special kind of ParamProvider.
|
||||
* and finally, the calculation //process// together with its current state is represented by a StateProxy. I call this a "proxy", because it should encapsulate and hide all tedious details of communication, be it even asynchronous communication with some Controller or Dispatcher running in another Thread. In order to maintain a view on the current state of the render process, it could eventually be necessary to register as an observer somewhere or to send notifications to other parts of the system.
|
||||
|
||||
!!!!Handling Diversity
|
||||
|
|
@ -4433,6 +4649,14 @@ In case it's not already clear: we don't have "the" Render Engine, rat
|
|||
The &raquo;current setup&laquo; of the objects in the EDL is sort of a global state. Same holds true for the Controller, as the Engine can be at playback, it can run a background render or scrub single frames. But the whole complicated subsystem of the Builder and one given Render Engine configuration can be made ''stateless''. As a benefit of this we can run this subsystems multi-threaded without the need of any precautions (locking, synchronizing). Because all state information is just passed in as function parameters and lives in local variables on the stack, or is contained in the StateProxy which represents the given render //process// and is passed down as function parameter as well. (note: I use the term "stateless" in the usual, slightly relaxed manner; of course there are some configuration values contained in instance variables of the objects carrying out the calculations, but this values are considered to be constant over the course of the object usage).
|
||||
</pre>
|
||||
</div>
|
||||
<div title="automation" modifier="Ichthyostega" modified="200805300125" created="200805300057" tags="overview" changecount="8">
|
||||
<pre>The purpose of automation is to vary a parameter of some data processing instance in the course of time while rendering. Thus, automation encompasses all the variability within the render network //which is not a structural change.//
|
||||
|
||||
|
||||
!Parameters and Automation
|
||||
|
||||
[[Automation]] is treated as a function over time. Everything beyond this definition is considered an implementation detail of the [[parameter provider|ParamProvider]] used to yield the value. Thus automation is closely tied to the concept of a [[Parameter]], which also plays an important role in the communication with the GUI and while [[setting up and wiring the render nodes|BuildRenderNode]] in the course of the build process (&rarr; see [[tag:Builder|Builder]])</pre>
|
||||
</div>
|
||||
</div>
|
||||
<!--POST-STOREAREA-->
|
||||
<!--POST-BODY-START-->
|
||||
|
|
|
|||