From 06f2503e6235b53b63e5dabb1d02e4139692d823 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 10 Oct 2007 03:54:09 +0200 Subject: [PATCH] clarified how to handle Placements --- doc/devel/uml/class128517.html | 3 +- doc/devel/uml/class128645.html | 6 ++-- doc/devel/uml/fig128133.png | Bin 62896 -> 62232 bytes doc/devel/uml/index.html | 11 +----- doc/devel/uml/index_69.html | 4 +-- doc/devel/uml/index_80.html | 1 - doc/devel/uml/index_83.html | 2 +- uml/cinelerra3/128133 | 2 +- uml/cinelerra3/128133.diagram | 10 +++--- uml/cinelerra3/128261 | 29 ++++++--------- uml/cinelerra3/5.session | 10 +++--- uml/cinelerra3/cinelerra3.prj | 2 +- wiki/renderengine.html | 62 ++++++++++++++++++++++----------- 13 files changed, 73 insertions(+), 69 deletions(-) diff --git a/doc/devel/uml/class128517.html b/doc/devel/uml/class128517.html index 31e491fce..f82e4009d 100644 --- a/doc/devel/uml/class128517.html +++ b/doc/devel/uml/class128517.html @@ -20,8 +20,7 @@

Artifact : mobject, Component(s) : Session

Attribut length
-

Declaration :

TODO: how to represent time intervals?

-
Relation placement (<association>)

Declaration :

+

Declaration :

TODO: how to represent time intervals?

All public operations : apply

diff --git a/doc/devel/uml/class128645.html b/doc/devel/uml/class128645.html index b87a32e2c..88a24bf13 100644 --- a/doc/devel/uml/class128645.html +++ b/doc/devel/uml/class128645.html @@ -18,9 +18,9 @@

Declaration :

Directly inherited by : Allocation ExplicitPlacement FixedPlacement RelativePlacement

Artifact : placement

- -
Relation subject (<association>)

Declaration :

-
Operation resolve

Declaration :

create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.

+ +
Operation resolve

Declaration :

create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.

+
Relation subject (<unidirectional association>)

Declaration :

Placement acts as smart pointer

All public operations : resolve

diff --git a/doc/devel/uml/fig128133.png b/doc/devel/uml/fig128133.png index 70b2dd611e876bb913d0eae72efa619db9a2176c..7a51ef88d6c0ebbcf5bf2eb214a92a95e6a196cd 100644 GIT binary patch literal 62232 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%0AAQJB#4nEawA zIhi{1#dNJXW-SNr_R($_KrazM;G3)#!GvXYY67F__rQm%@(&;0$9Fziufre|@$rt> zuf@%m@LM_AnKxno2@QY!3@66w2kqK{!`t1pz@gwD{Pill>bwg=Uf&ojK2OGj2frI? zod1fM$3kAfe=wrN85pCy96FCmU<*@Ie_$gktGL*>vNuIWf7IH;lDw?!G4#1sP&ugB zZp5+i@$-X>_2SQ;>tUdD`7@112bA|L)N1YR?a*4zP)CQh4N%w`5$EFsNOWdT@ZJ@c{QR)-Bf`Tk@6zrB3AoiUiSNE5S;9lV z2F<A$c0P}vvjD$H{KlvZPI>r6? z!({1)H8&x-%3RQ(LlyKFp<&fuGo}7^$c=*C2>;&8H6wHL9k_+2^Z(8lc;Ehg8QK@w z(Fq2MGJDtUsjHQcAb`o=X_y7n^NGN?NCk( zXav?qNq#Tf=jh7M;lMz@1-%1G=_THRxwk7zqY)x8ypuGmP6xDzy0gpwMF9seImhT9 zsM(5A1u)t0z9||SkwokRp4|&h%aIsiyA1*8eq)^V3(P-mEngqn?=8lvoc5K=5Fe}d3lSg!3c<8)Zkwn zSfg5~H6Nj&#-_gPPbNAW-Bv$~{_|M3HVJh(=LCSOLQ4OP{LQ zF6qas;4k#AUgQ^s+ZCfG;eBAm)a6?>{lES-qmW{&TW9?~)HN>e`;p-NF&Cd;aKid> z3oB?@5}R^%TnI9Zo4zJyPsfCW!(CbC`>!DS+)xXtc*LC9I7-l2s3iXJ_H_AaP~V6THe|F z<<{lz*c$)--O9D;ZpT;bjwOFsZXLd+C%!y+g&($-&ZcHk?C0Nwzs&OP4H^f$`;QSlA%c=_3kQSXj236O?3R z>S}7B`y!&CSc4wA)6);Zzvd4GJr|H#oSXz3FO`%SLZNQR`{)o*mp1T3HONY5BH`E` zQvRTqCy2?qGE~`lp(&e=gQFt=0Nb^=qIX$XA|6;LhlQ!Wefw5YQc^~yV|%s{=2>Wi z(*?6JbkYv=GM}uv_xFZj)w;6-D<1%>KyVC_*Rzwu#)byTWUmD~E31h6uNz?Mq875Z zoceX8JH-Qw^zG5kJhXEM*{vU?;K87_D=aM5euE5@3xLm^Z&6Vc7Fz!!huln<7P0h^A3_{=`7o3uk($&>94OTlegizHpUf7rE;S zlO_}zk=bTT% zp+nkd=i@zEI%nszKY#3bbD^Zx0`D1U@x{d(PLFoca44E&u59ggiuxqM^q|~ZkF)TbKoev-kJq)^@wYTqYZySO7opPReb+$xPh9Hkd$lm~QIU`szzPA%rmB4IC>J<)OxU;q$jFV_ zni@TMQaNk5iEIqIy1R!f9P*)H6EqO4TZZC$=hK116frbH2XzVp!A*&Ja9LYdJi+!X ze$|H4=z@Pvi?_LbxZXF;rhwZG=U%!X^CPCo1%)m;k=DXJ4VF!lz@n{Fa&w|5CJ!=!;Eum$*#JLb$!}3EuL; zqlMp!of*pg1#`$zei|t|GwLr0lzv+>?kMMY|-AF^q;rCs8 z#>GlI?K5{hndTOqc72^75f?794*p}sm7FKQ#UncV_-mtMGa&6KtGqSu?OOfn(Ng#8 z(=`K;-59kOFHa(dDdW?Y;KYmsN>(iXFjDWnjre7P7x1!Hie@_LhFEmhyQ28#Up?YA zZ)#mdc-1uX$n)33(x~hAWp_5XQBau%8GfS*jl1O zLD{Ws@3qOvu(J;FFK>S^hXsfnt7tgZz)twy!q3bSo*uR6MW>zl#BtW%?%WW7+uI#c zV!KZDsA;Ji6N9$cBCNFB^+()m7?d9g8G{AZjSRx??|9ada=aRVw|x4@e6QE*`8=M-_+<>Hp~AI2 zn8fZixUj3IM2}nUR^Vo<76JBc+wT7Ql{_)QDnt_WrVsh@>NS|0p)(BoA zM$FE>py3`Ga@e;w@T2!6*^f^@I=#(ry*R3?IJ%bfc%kPFLr8jCVn}rC`Jq80#9CEo zrIf9%OuEa<9e?9-8Zg+|qWt`Pd;9Sxw{CSdrC7L)Kkh7DxKmeW)iBER6L!~ACcc?; zyB8f#pJq)>MNqB{zR|P_XJ^?j4&BL=-G+P5)XMJ{PHqu5DKs6rJC<$)h#-f!LA-o{ zTIs|OTW*V6q9K$zuD#w1msP8yCd(5if6Jycr8?M+EzLB=A|_y$%;(uZeb!m9T^k0$ zf>Bv!cL;s@gQza7{W@87Gs8sF)=j`U_kA}H(6b}#AD^t4tf`sY zm~D>Z@|D}c5V`#8OS9?w1KnN6SJxKS5WWXOP}@7xp6AB<)WVCni3dzlX6L?law$BG zu`r)Hn&I+1CkOqB@<~V)Hpju3lOO67ko4=Dn&`G}ZTa@i{*#W6j}L}GSKfu}KN9uY z$NMERdpu(TrP8dl*ZTYK zxIGD@H}a%Ri@xSG{^;_5WDnMJ|c7iWgF`&Sy@@Y;s6#^@~+N($9;Eh)22<>#PJQ#w4FP50u*)7 zJX?3E<26Rkva$VoQ7nhZFRaT}ycwmbDo+KN1?P7z!1t_yRlqG&0 zq9(m8jitUIuH$!h!3Z7siZ4LvPs_;QlaY}@9;^LA@%)VNW&^iESE&Y1<3n7(hNW)Ya2$UPHV9unwZshc>UXvW}aWq>eb)+O8n2 z87Icp#s-Dd`Sa%ieuVEn>;#v)I;l4y*gAy$qHKk4>e;1PzA_TwHV3L&>OLtYCPqU? zXVtOfr4TgJ^aR>h!A{@btr#p7IXXHLBT#@KOzqe2-zca6vz?s)vRNQs#p@S#3MBuH z8Q^f>3jw@TRaGU@CuA8L8NoT_IQ7T6Iyjtf?`;0~(FPgT>{50DqM}?9)*xY}R8;tC zXlQ6@g(bNI?2-TBza~t?Q+L)1U-tIifVGSG#l^qAd-ni06hLcW=-X&%J72p#Nlonq z9)th(I<*%D2Y>vE*aH=nSWMK+s;HH37Ztgk3=!`MOL^nKM)14yhpPN+M8uic8;b6u zZ`>Uy5&Wq{`-3Dq{JUuwZ2E4E>fsSr)x%b05(uVq2&?yg?HIo>dW?K!s~$@E(eUX! zwe%%-%#YWpL6G$GXo-o4Q0i;rQa0xe2G;cSse;&{ncSC))+_S^M0&1Nb=>F8 zw+ae&tSv9ij|{-QE8lTIAxlxUE(eYw3J8xq*Xi{>o!7a+F zP~$`OsV#o1eJQqtli8ZhQSO4kG_qMDBDau!Ov@!spc6T^-`gA)?psGHs zUoh#tHrB>A{{U-cLfq`^pIwqZW!}n_rbWs1-(q}|d0udPoF$7mRQ1s9=67+zPZ*A7 zTQ%DKS#U>A=1c$gUPZ=x=#vz@Gc))eo_|pc`HZ+t|FIH)Vb?m=5-5XTaFTv~A9n3u zN-<5X>bSUj2q%smJtMqgU3L2s>7F=uvQ9kfOXKs3!nv_pbziEWC3#OajTE`A)*_P& zZ83M*S+=~WcPYI-Q!#GvAbKlb5V2~n^5DT=KmJ_I;OKjnBCa=N6_hTZnrsw$`}U<6 z)Vll|awDFZC3{vE)jZ;VU5&j%c@ct6fImVzw6-0+3 zRe+(ohih~17P7ZWa#u_i8yN{6dao3>`XNlVP?nF+IujNYOh0+1O-%cG9gb{QExBOe z)5XcGocMmtl)yxbTUVfTYGAzBekF+>qTY_4H@%pZ@Dbw@=5<|+KbN=t#%)L#1e!LD zo7Vd7JO7oFN-o~z5=8y;Q|*6X=RBxF%ge0Q6im>N#4-qOh*araL9?Kkx)RcdRis~zRy z1lJ%BzJ2QIpE;4$?mMid>Nxctafip%sMZ%MgnU+>S&w`rV&ex(d1@vRp39FzSvI!P zZEVN}AQsXcQU zX3F^TKzyoC2>3o01|6cr2o}*RzUxbj+N zwLmY9!b9)2+O$8;r1SE!5n@Aq*OzUY&t0*xd454G)P{xHnrCDUTlO{xZ|fTxO2N&% z{(Xxun%XBVEiI<+12Z!+B)(NrQ&Y=04XU3w@ey4s-EJ8rJe{?Bh=ZsbV`9RvI)A*! z4~*ILNNBM{W?7jRwo&YAP~!#!1bpoj3_)OBKx8C{5TBpw=ij+=2cxYFm#~l!aVe>b zWgcP-Tb%n3(2t=tRr>{nVIVep3mBS32Beqqh~xd25aZCjaGSdbFgm@He|?&j{kaO>8s zjEsyQKYpyPu0qKxm>jf?Jtj4^X^fhEsLGksFR71$VLFiRfdGw#4^P5ty3ML3TX$RE z_}!`%NfJhh$aoCk1aosY19(%XE^*`)7I&&yUmIp)zmA2D&<3tEi-?g7C`{ho@=+1Td|Gfn zs31^PB6WF@j?l$T#Tbt<%5 zApghsI9?o|m{4#Uti?s|Gv=>Non8;nxm>pzR5GA5WJR`MWUJCo6_sve;N`If!;Eo* z_PV3T)D_22w?TflG7zpfgd5Mc^#E{$shv`s`uh49tA6n~EU9&AZf%We6WQ(3 z7Lc_$vMrvTCuN2(NVD%d69J75T#J_l4?BEmZIzOgg!}zN%oVO)y~=2Kp*}{KUCfMF zQc@BWMCGY}FF856u+SBPb==w5jlF?9Xe%rogQU4EGlwlHIXUXyJ!k4Np#TK`|Z`#p`YEH=kDKkoGN6T-(@%zHXK2()^=sCz9m%3w16` z)qFwJ&95F~MShF;WMkhf@3~RGs;X2u`DAH(1Fwav0kP++qV_c*su>p7%`QdZ+JilB ztT;HHO;0ll*6~ZU*fymc05=pW%cri)bvN2Dr9d$_8`JtiX#I)f!i2GjNiQH2AUc`Z z*$b0RyG2HElQMSlYf&SXKz*27B@o%;R{#n%h~boAI9?bV8+%}d`g36Pf+(>=Z%DBT zY2IAE*m?QHI5iWcu2gSPR8vE_HAzY7<-X*^*z5yePpr8Ki7OIPDUR+NW?wV9V`@fr>A2QiSD0!!;%Cvc53qdDZFZ(&H z+%{S2s|;+s5ZfgSwf~bH;Whh+N%DrTV1l4rTf?Qjl_q!xmwDGKZUcklKV(XTLQ+aO zN0`!{N6*#}E_q0^nU3pR{y1JGt{kM*G!_)-VkNX}?T_R!C8tSHJ}nX=ay0p{Z0BBn z4&yxYp$96%db(j&md_*G_6d(4Q?I>)4s%N}EhYJODy}PJI?lJ%wxHl(6ddi~U2-_X z&A3Cw+xz?rR3+vufOds~y^HMh`^Pz^y4^i3n^GF2I@;%oi&9X>`Tjf$^ZCt4Tyr^~ zG22joD!Q#vWOaQ7T&-3(EfwZX>l=0X48i`$H=>R75wmVH)0z0A76t(YfZKVK-o>>A zs`2sO(=LYzd(PihJ4r@Eqtt%v_;TuD=YaZT$R`387ga+PJkS0OqjiT>9o~2g%YlT?6A1BTmWNYWoQ+B!H)O zM`OpMtx0CKhB7Gx#=i3uewRpDZUiOD{>VBKW&!I%90vd2zwG4q7YibNDrW3bIK=rt zkBl1;5%{SNW>P5q-xBu>ZWzFr)a(>0AFK}^k}36{xKr>i_S~E~6nvz&mm=L`{~W61&A)%J=oY*H{`rHH|Net5TmJq*1G*{o z?meWVDq#HI*XaLwjbch&p8M}>yZ-mJo&UVHc}hL`pVvq^eg7Op%kICgkxt~Y3aL)_ z;QjYOjM5*xiO)qU*2Bn22cdNQe_vC=Yo8-gQ~;R9U?>Nr;Fm&zfUKq}3&E+Hk1rvM z*_fJ8+X;siv&)xL*UA}(){Q3KLI1lUTdH;DrrbHip+eWi1c7u$P6l143jVI<=a#;@qu}HP?u(J6 z!a|80Z||ns+>SNlzD{&#`YFHdRHP@3K)C4dL3yu_4Ym-!UgB;}AmVvR_(9T9L~JJEYiSh9aO^X81%*f={l4r?sI)HEh=@rqvPS-}~WgZC{7=)ttb< z?rKA7oDt>bcBY@YCcY=Ji_B=F|n1CZmFZf>5Wsj&(@@6wZV-gSK3Q#;`=kz7RuvPxlL1z=jG zYei4(xH=ond0Sz@gi)-$+1EpIT|qW|Gn;ldD*B4T!C6u=8s$%HZ2kILWbzT4#?%Te zGg`lsXbA{9WY}G=O%J}lbLVN_dw-ur?)>M^FP5n;Qk#OvOflM_kbRt*Rh;k7wUTUrhU1m3vIdbwWXP-t<%?Crimwp#XeWu;S(juz?o8xxqn z)p=C?m|6r;?yKS8)3uXG5L&{PMIe0R<&Wq5cwJ4nLKxtw6M;Rp2>f`Cj9rcgrjn|r2Z~Nqm)zB9h(`kn?Bn1 zZ;bqC;ycp*`iQEE*ZLG`V@lghk9Cu2BvkaCV4dn>gOibqZ=e`hs4fq($(-r1!?UGm)fUMRo(HLf7c}+J1*gYReBlYa?kV%VpK{oRfk- zHXu!xIGjvJW86(d~b*l7{SLN{-|y0!vrb6xJ*kDBBoZxkJR zj#z4|qW+m-S1oBst?23M%61;6F*U^l&!b8%fIWiXSK0OY?DDilce!`_*!AbQueFkX zT{1O=C;4HA$=mL|!82hOWd`~rMiB zT8D$fcM@bgYps#0@MidvVT}S4yR3p)05HnADFr;m_#IbMbl4Dl zPW75jO-iyoapKg%*wPR<4u(a$cXG{F1+Sue0IBFzcWDLCZkYpir+n6hL(&08GSmNX z1B7s6IcM&-f2qrt6Q@=J=y`HBG)WJvqhlzh3OFko)C_`*N;k3JbZpYfC9CcKn#oR# zAfW=o9C}%qCW^ekPT%XZVvAu614BLy_mgv(3Lbxm`myi( zwsI_MooVq!HoQvUEDB0yZa!iAfXLI~_{}%I71P71qGEK+OkG1Wn?Tx>lo;#z{26m= zlexLOyBjYkt7mH^^m@(MsHpHB>L{}B+ov@+{ImNKV*|i5fcfXm+g_BPO$_vx zo<1F$y2pQrhI?W1Jj8aKhrcG!-%Isv{*Waa`y@HlxBkNiWhh!@OFuU}Esi`*r(8Qw zqphjwNuzjd{mtW%<+)NEpU`=qv0>?(^k#Nl2&r&iT|CI1SPnuwEJIQbS=F`V@TMww zJN8v_L6kEy70kps5Bfev((6BC3pL(JXwtFGjx@wyrsj?n>27ImE-aexTybj;WhuP; zp-t>=KO9#1LKbGh@m{4F=4Z2?)vqi5c8m}xzEoYItB8nZN+ z-&C%xxwf=2Nr%uLGp)>LCaF`M4ys3vBnu0Fg5~mPdwy)tc2&)|AJ-~`RtRF?=;OJC@GPj}?4I*=JHn&086()|Pgv~~2!Vke(8U+IxsF$_K97&r2VozK z5*QYgn^kWCM+I{lDoRSDaxZ-k=AjKRN_WY5yeuiXuD6yb#A~>H<%!gvcRmq{s{w@T zdiRXd`7He8f@^qhDk+_g{zIuh0OJmB+~1NF8d z25ZxSp%F^gUn+)FDn`Na4xm<+%}phpbLaLtstOA~lOCnRcoJ>E5&D}-pY6D;tcEd~ zQm%cV5=2fx(OITQ5KuHq*tW&bw%{l?V$h#Hd*;wnCin(xRQih-lgo3z@7}r7Mps&B z>Pyf;^kCX9b@e^IAlh5(jN_7@Aje0;t% zkeAcZD4p2Dd6Ng-5WVu(W^FNASJ!>ahBSnOf2)a)HT&+-_YW5M(WgH=6bUp;MCcqJ zJL~n$o9yExg`jIb1c-%R_u|FFZextj&RjsW0|I=7itGq;fgY4w0%`bu{SX&F$ABl5 zF@U|hTWu#3A3r|_&GwX()C$SNO9I^HeU-0JL4cH!ktLEU>;BBFZqu(_e?Cg;$a#fq zQ>wy>-q5+(@@CDz4rQ=2r<=7|;!bbn?yztK;-bLVlM^VcYp zWZ#W32ryvol<>eNVJYVWos{2|qjKawZ{aUcanmUMM6@ZP*8k6l6hX%c7s>_Q)s?_y zmdL&%e3&KU8H;8p7hpV-e67mL_g>@*>=yeO1O)l`bX4sKj2mC7n-2MH!5b2+g#~k{ z31=9d%adDh1L&jUJka&EKQuy4UY=^}E~Ny8*uLT6@3&0Jh^Li*`JNcLGf0`Hj4tpb zH-r};Z~?E+R`;ye%H@#rfEt}a8McUgZt8&i^^*y40_4A_Nk9Cqq2T}@UxsEN5=yy= zci1E`VSo5ADj{KXd|VT=t$G-#4g#8`3S7La2$URdZHN-RetiiJU*PJFkB`%0UYH@J zW1OeWbi#;5e~VHf?l0YIpp&_~$1Z+OOfjqf7Z5MDkp%85bQ6H*UjoODj%L!-)Xef{ zf&(SEMEb9;^}*LZBs3JHqv6J6Ay2Y2ErY0#3$@1y`>Cd=&nVfJ(*&nK8XO#a`}VC( zb5^iXXG^qd=uR6Oo8%*|aIXwb7l2IOM0Nxu@N^u{&b?@{*Pz2b>i%;^k6lfl26MS*{S!M0{>ziX>0~^H(T1; zcJ12bvAQ@_Sy?$YW*4b;cz2^e6Powg|bb-(HS~)_1;rVQiG2KRio&;|g}M?b|5~OK1siD~AP@ z?icj!^ZR3(zFoclu0ls$?&X?)fS#T7^e+)+oK>_w>3-I{Vm*Sk8LNt@Ny-nWLe#yO zcsl+*XM<53dOe#XrKe&)(sAxa9g|5KxSumgt)DF}9A6kc`yTrC!h$1(<4CX!aSHy| zcrf#`LE6K&V+@b(W$lf)CL|Q0tiZyonIQ4;?b}N~-rnT$`g602+`LO9_K7BSyn^@7 ziSBGojT?bM8#D4uUgdu8mxh^33uYNebNEc~6A&6${OKxzz>N;n& zEji6}FzR#teGW75NH+6!glN&PlSnB%ylZeQ2o0&D;g--Webr{)>2`8pAbK$SfBf6=dKYy}+EluEH6R9BF=X3h0 zLo32pS*SL8Ea&R%yNj3kGW}}{)%I{;0aZ~bwj*89qrom!HpY3EVbo~sEHV5z6yvUT;p;sBqV;Uzxt^;g1 zjjgRhsZK7GV6Xa7kKyP+avgX4quDWqmsxL5rrGD5{9_+=30;-F-Znx39XeJur%+Mh z&WIZsLKa$#c{=OCJm=UOclG(NIZ)a#4$`3_VOif=AoOi5|ABJO?H^~@lxj!~^7KQ4 zoZEYLk-3}!+V;8p%+GY5m^$XI1pDn%)Jlb_$B&EC*16?xV%--KC%Wy*=o5d;zud+< zzKP6zB(zhfy{{CuAxjf391D91`VM1fb8~ZN0ch#*SfiC}Pb>3f@g!u?ZrPGi@axwv zs4^fmfYw6)!UenD@?`q{fdLh2M<*wQT-?B#@n^JO*#4EM1Jf8mNfLY&(qUNZ80MJ=d(_8?UG6adK6ucEuZ(8?s~ACNKQ3a?jRhZ}{re;IeSQneE7um; zr~dx!%92UbPVHBJ zfkC$QdAG`Gk(Gs1S=YyY=|<OX2h0f9K|R|PiBUESRfUW(*q-uDcFO6x!a=gp4S z-lcc8Nz1xF2kG$bFfD{b){o8~Ki*n*U(sbGorH}1exVo-OR18Q@RFs@;9yhT&1fUb zBlds~HmP^x3gP#>+`E%=IVz{7< z_%KGUT2i*=R=l#X5YAOGJJ$YWEHEkA9{GId-*Pfmo?&KScy}P**V=IPS>X8c{Z=_n zZEV{&PI*2RqSfFa^P?u6q|vUDC^US*bdpljaWlv6-jxgHh^x4dY51$tSlaupxwy*G zVGzA|O``eH!{!p<(5sS>IZXPN_XeFG(oIS5dY0RKdi_ZmYBOTKg zOzk`s;c=>7WWVk{R2HOe-$iC)NqZUAeUM49u*+^tbcfs*^4&x9TAiw@2~QOVB9kJ&4nyq=%yG^XWZXs8w)Gf+%QPh_gAo$H+`cABE#zg9|3saDfnU z`bw#jV`HfCmOq`Ce0w$hQ-#IE-H_M~_pV@v)0q`kFW%pCN|v-dNi-d$CM0CmdStwK zv7tfTEZ~$%cJ9WF8$#0GTWalJ(JX~;-9yfGJZd`z5$4K5VX*%8;N><)mdwSA7bP?y z1aQO}f*K6EJ0iWBnpze`XOuDW>bjwrsjsUuGBRptXb9ZS0mby$smO(~cBFx}lR7N# zm8^^mYQ_C|!B~1!RNe>BvV4^gwrJy!b-QrkLR>;ZLVUb^+sm6-BbW(?vr9KtRe=cj zj^uyNrT@xf>RZ5y`q-Xw+J0e1+Py@tscIJ7%BT+)=H?_NB(`qfZpmc;nL?*Sh5hBr zGvH2&3j^&s0ku{aga(8cq5H5Hq*lU`STArM#vr|(ApVNJqx zL@ZT1OW@=ldeD%rLuv;@dI-#R$;FinzgNsWX>>a{n1+^iW`6!62p|t14uJ7UK~4@p z<3QeFky!ZjeuG0eB!HAuR92RjAugAwkc*fKNdijO>vBCHh?n4T_ju}mNnNBr^krut*urL6pvz$seW)h!OOF>usF?B=)19wQZozl{+~a+*O!JNJ9cQ-yF)i$ zEEFuwd^773ZUpm;S{7Og3X1t8w$STqa9ajNA0_$ZcAi3T1^)BLgZKb=Y-me=sb z2Ze@8JP+~@SJ%SQ(v{jsUQkE&uFF@B`C;icFfh;vjW%8KT1TA*y2vvWy+k5qLRP8E z2&`u*l|nY>K?6 zC7d`h94Nq??`1)OOLYh{pe+3Y>(jI;W>pU{S>=<(kSrqko{!TwwEZa1Gcz+aT`z$F z4T2^;4?Q(3U2GDNS_Y|izb*C}X>RVLCMJqfQf?^Ibhmu|`qeBpbE_=g7DTMXxHw`^ z&>>-H$587%k~*tsShhIIQzd(Q@|MRby-oR!FLQ)m9NryJ6PaG_A!L-HyLdTL{%W#=YxGH&AgJ~@v+KgQbg z`-P6k%I@RmXHeeGafE5tE`c6X82{sOghc@Ey~BqO_jAN))+&r))8^&n1*s)8B!v2J z@%RdURd-Q5-j}p$+&xkq`a&enW@>wX>7JgiV~+H(2?-~gXAx!qo=E#~1fu`?WsNt$ zm;Pol*RMWY_aYQ=>OA!7c7>z#?)98}gG~gVWD^zDA<cpQCrLN-=Fuqfx#6!yE4y(s~|XKYsp`q=5w|={D}4cU&VEj9IKWA zL3Hd<*6F3Vu<$b+79l07g})edU{T{_`z`G z@hs;zDI^{=t;D_$2t|#W!QnI`sgfkGlkudi^Q#$1R`BjXEOK=_b@V3~AMo<<0JVY) z3VQg2xHy3xo-W_IXhDcGZ-<6Ln+Qkt8X^~)qR%R%0>>dswQ5X4H3tu9lo92!`&e<4 z6l}dHtCR<78phRlTEp0-pI7_;=q&!JG~fOZ#2E$DlfuIG5dJji@%AXM-(_mpz%3wx zz&vo$mX~kr4q1s3j;oSmvirO5quzOSb$;7u~Jb#S=hG!CH^Xu~9_ z6I4i6pAs@3KIHAG{J<+D^yH9L<1RL~oy^RKWn}O{=#>RR%oI|Pk@pf;KRrD?EiDc0 zjLu(Xk@14@5!^P`+em|H!nmp&Pg_R^I6Vqpiw7am{`5&0La4HU@dl$gZE6%JmWp+6 zy&Cs`uZ@LGLc#^yw1xsbC#O7hTId-o*$-H&#mQfB(6tP2yYsbWQYO5nxuqq#=WBH9 zQz5FjBjkSPDl^*&SJXY$vvNvy|IZdbzKwL5(FZ7X-yVJt=3GRJ|L*|V!Oy^EKaFb= zF=MrjJ->E6qXAtmy8pLt!4b1G#q!}GL4Imk^Kyc5u7!bbHk-C~6V~g3R|G%l0C$7W zVbSv)ydh4eJEQaE+JlWeTgJE!_Vq4UifZW|ek|_F=M#RVJ-F-R3amvsIy!{gZqS~y zd$(Ww>Y11UpsV3EmmRjyeC{CuB{fZ=3HoUQEEE*d6cokC=)GXrq~JNfpW&p`C$k$; zovGbhW>W9)9!j2@>jtQ#tLGb&%NNWnh0GK0l9Gy4MPGT5s}(I@5`3MtX(Dsg&py}> zf~OemOw-GkNRoO89D_j_cqot?TkHr94ki~a2-I7{LY+t-l78;#1ygf#CMG5c(AV(O z5fStw6nR3&RaIHp*+nmwy=o`t>#+(1)v=Xi5#qfZmzW40TW-#k%&wfkad`Ut93Qtw z&2DDa4<_B&v(>Y#l2@V+)KI2r3Y?d_vNmgzSoTYgiJ6V9ZXK8P%m-78q{7CgrqqL` zx3Jt{YYPpn$AYYSoSsW>=l&Z)@Gu<7j@#tzJ&|t}4}FM&Z%T z#;p3l(1W}@Zw$sQE#Cxf_Z}Yo#$|n^v(xhcch#3KAzArzb0rNS+qPxXaT;|Ozu;ci@r$M> z>+-USD%a2JFGa=1hUPlbT^`^>VCen(iedv#4T~@R`B7f^AgjTL7?IU#R$S;dehWM>4Ns%4N?;oSr}&A-Rzu~7 z@;35>`kFNAAGL;F^U##>B9 zj(j%>w@&DR(FDSLFl$2rmU!JQF1}5t9%VfB%8a>!(i}AT?=dutUX% z9v>jpkxan|7UrmCv0%f+S@#|yF5}vaelL<+|RlL&D*~q_bcA1Y6J{1>~rOAFjHdej4 z{rmGw8JVr-8-w|@2M*=;AlcReDQK*3iKP1ptc|ZO^XqH9%gbTeBV(Z~JC27JF>nUa zSN^;LKmGKPG01=f^^!7>Q2n@FB3a&fDDLIK$qye6$z42mA+9(!mbO`VujNJWHNmO+ z`##Hp26g30GPy-%UKLqcn|IXTx+ORITU$~h>0-ez3T1UY+uY6@c!=BETz;OMjuR{T zI>69+(jqdgR#VkCcYGbz`60x@z)@%m2nx3xQ|5~$}x1EY9SS^p`?JUfdz)k2> zT>L>HEiK)r*4^Fhf9qBlm!c0?q=HlG{nR{b0Br&WNQxH^F2DJ#mt3zv9}5f!kd%^| z_9(-$DJm*zFvjvDh|A~C!a}yqa&fPZ^R;VfHaBV`xZxlop$P>l6h***f83shjYj7pIzM(eq<;Wt~v&HqNFOUR><1 zqod>P?X99h;XFske_eHi6=EG9fI`>8(bz3gdHlIF*c zeed2i$2Uq!)@<8WDlL^lL$_ec7dfMsw#@YjRX^}D)!P9$WI>*kvG8)g;4j042 zp*A<`62A^ym0mxfsR_lwPYi2MwzEi`7V}P#J6tJu=Bz7`{%ecDSkY^@pW;+^v+`3F zn%9V;CwA+cl)HD4 zz+F{W7ZR*l?9gku*YyInO>pzlZI-cE5B8ooFm;4K>@6pKAZlq35A6O?)8EO`-UyCS zX~m2*@6%4fk_k-O2fZF6^X64cnuG4 zJdq#EZJqWqh8GkT##PLUUR-UELrnEq!xdUhD_Tk`gs9c-3h(Mxqug|Tw<0HIkl}V# zXiYGIURjVX_w}t%m%~HTS?rGXY}KDGsk`f#Rd`i#`jZs{xv$^8?VJ$JJE`*CW_wWc zSouL(qlt~0hx@d{=#?{GfWyb6I_06?ARZoDZTF7<@H* zaSGd*ql=4#m>4T+Es(|VXO_Gm90=&NnuPw71DWr<_WTReJ z3EX%^UKJLkW2pS(D9ZV>3**t6OI zn0rC!#>~uYV{Hv_+M&CDMEem65LTI%}yBsKVJsxK~X)(v6!uzP2u36;*~zeCnGt04WCFJD^Ek6!N6o{ReK zA9jc0s~OFS59DzQ@Mwrx`~?pq475KS0Df|+{m~-z7#ZNoFPArbzR=n9?_(X*Fikab zc6GfQ7B(~k1)$>o{dJ!-r>P#ldGn@XX(-XX=Xy47Sz-jPi`wzy7^F z7`#6W3VSMiduwY2U?~W^1~zWa!;NpQ_1${@d;)E#0*w8JggucD=8-(M2$czHhM%ZN zm%Pf8la0@uVM-(lgc!Vb8NqZ2;8P*q9{r3ClPf&xBgbQ+qZgN!a11Z-Ktp6}wKo+W z8zjL9-r`id7Wkr2_`&qOB~}=2JJu>Kelwo`~H)=IuQYEm*IeVx&fmh&bG47lfZ_jXmTz z#F=B=PDoRZ{%y;Bvs`<~(fjRAUKg#}2w;wsbQJ7MyI5@+n;f4y&|j4?CHk+`oDG z)P!h`tS|zJm<|4nE71-fr#y#eW@c>Pf9bfQcI<;qCl8r9#x;bxC%opo)mVPdyU={n z3+6fc=`RIEPh7ioiX3oe#8<#F8w;Je7Ozqw1omgp1-V)-ZUoLmz!@7N* zafnl-_p`g~3qOa}Q54O+lKJ9!M@1-Sss(A@@+gl{Iw`J<9m?WYQ1HRS1Vj&A66^@~ z!ElAB5ig$k^eG}IBsGcwAV1g7&w@Lgq@*i^j$_scki$cQIoi8-?;tpb8H(-^y1$K{ zqL^4D{k_P@qa>CBj2r(${kP}hwab?W?hBo-ssW5Vf$bBN1w1zZySW{$EZP|a2VSa* zTzL7mrKJE5aYjZJX5}(6uYPJ1l$_7ZeamkDuBm_VLg!p{Y`Oqvc=m$_Uwj6HHk|i4 zHA%*QcQXCHJl|OmwNErQMnOcR=Y5~L)=cG^p+Cp)wNLm?%pH5~AT0vxSy+2P30( z!o=6idVom4POTGQN$}4FdMtfWaDF^k{BtL#Q4B|TMJ zMxgBifd37rsJEGtBZsQDa9`d`}O< z*|SaY3jZ(0(!ChBbQ8s11@AK0bU^O3FVC1GIau@V&VTC|;@AM$q=;7s>$^ESBesvY zd;4Xzv=8m-yMo?>N#8IHq#r^mU?_~7oQ(y4mb~VLk3z!FeQXbXOKU6U9`w|B0^1yq zX<3RTj6Tie=U&Ec^B?GRKgTPh=T%|>#R80vasAADNw?uKAHGGe@~W!@d;fF0mDM5F zht<&k)qo`U`%`E(qk21`t({HkK%W9lmC*F`^rYIf>D%}3(h?E}3<_@3=lO2oIviOQnjzN z^dm7yt~DseDJNmy@u;lq zSVCjDn{f3z(>=|1jfE6_pMVspplJK?UOfB-n6IBPHw7cu)U*e|x*lauUmkQ2ec_vR z%gI?9&`GMkfKX?4PR`Nhb{wL*_6G2e`nq}7(F{R_OL`BJ|2CkChw!&67J5n%dGq!F zg!OWkcb@%Ouj^A(RRyv0J#m`NsO9X8nm>O|vq`8K_&GSpw{PDetJru2By*UaGatHi1+39++dx`;|NgzS zeFvX{42gEQfcb#NDNJQ*U&!O|oAHsqwYKgQeVEgTH)NE}_vCv+h`frD*8FI{7=t3Y zuM;-^0q!AyU(iG&|&1;_tblg z;s0tMh5yw)22tM1=b;6rG+^;_(C(zxcDn5;B93pfj_=5MV0&I9Uri!;ZS{KA&7&;v zanNgg+(FOHCm`?(i87X1>G3gbZ5Q+;RG7I51jbO3FMwV%=#40EVlgu~6>~sPLK;BQ&6DsU;R%tt>wS?vCc5drNYHHc9 zUmN^S2ZJXOb{pR?48a8eL|9pQD{BN9kKkp9TV)~E5(}MH^DJ(X^2Pp8KR-Vdbl8f6 z=^B4JP4-qar96SN$5QXc`o6B967saHtPi!dx0{ATqq)WRbe3Sv&|u|B4rroQ7gQ=s zT)ed?7U@CRF&uAmi03=!$S;kjPgiqJu_VWe{+^vRvN>X?W@Y9&cbX%)5nZj<1$*nZ zzEyp{!drq{;04@eZGMcX7U&SP!TcVAn5 z@Ufj)TE?bkUz^`wj>a6GHZ;6y<=5zydU3X(Lq)k$cLFy99vY@CDEKh5q(AO+A>dJO zq1wp{x{1H3SE$oQqx++58yg$3`;z#S+c$0A%&4rDs=&d@Ix;$HaOTW0>IXI*-@eT~ zc~O4F+8PRO42l{;I5|1LeE9;32v7TM5EqS%jd6|9@}xF}hlDseJMS0)z3|_otm^uR zw!?ygHn^al+$<#w{l;pJ^)u)QH#Qc5BS+0G>z-n6h;T1P(mai8*Q=OuL3--Oq$N!i z|K`uv65{vL(8T9@F0d+72fe@k=LgjPFN}9XUHDHAI5@M(t9;KtJz(@nt<-Wx){)84 z(F=ToR>>bSy}b-G{?ZBpdnilD2+>5{s)zqIA={x0%^e5) z_r}N3M8i=V9%^97VWNW_d}Z!8jMnO&$^df0$o7V(XK1+1U!N7k&$R+y5R3YNp=E=W zegJTKHgNyt!*JjG zD_Q(vVlGW7hoG3t%~d2(*xCM}v-TAJHrI(zLyN01u)3rdzPsd4zv_6|^$BdR2%Svk zh#9H)f3#S-C;q=|Gt(N=BegOefBIsiuSOrNm%hqG$945vzdr>>4Z1~UczsEz6!t!$ zp(Mw^zp_#}a);?S*`%$Z(%@hR4(j9gJiI2(u7|xZRfiPg{z?Dz?taY06DLC)T~#MQ z21+w=9PohH=O+9Y!WGxs4wpXU>haXqpNx$*I=IWMVr7D=^Gt%FXWypYx!=9;CS7jN z|1K`xGdDBi>Z*D*81GQg_n4Auw7uB!;fmZPr)P>S7{k4CB-t{*g*cU96xhn(w{Da6 zgw`)8{|(PJ>mdA2FAwLtn;q)|!&xR4G*sN|WWSo?KwW0}J;pI7zj6i~rpdYyQ~qwn zEyL%jy{Ihu2Dm&KUAy-3 zqd8PIiAB29xtN-qzj&QrPHq)VCcFm{U}z5B7;1-7Om+n=P^(P;thX0^^5Vsd*bTX; zqM00FYf=3K1@G7Gc45K6V(}U%SKhdc=ytMUa^HL7xA4O+yLRq$1DsJh;9gWCY*>V( zZO}aqn3Q`}-DWuc&=F?G_CgHG*s`o19>06?)Tw;WGUGFCQ*X)6PmTU&`tdU<^-P%@ z`w78pjd)#5$ucDpKVfU`ILUqN;>DE5k3olpXNK6WtyuPT>oCDVKOy)N08Q(2W5lt2 z?dW(7k|1`VdaeFQdqjLcz?|bG#GyZ73tuG3w|6h-e5xm}V@bk{{qLs)B_A_UTw^dn z@C}?p;P~q{^$5K~R+c3$zwz!D-CJZiWq#~0cttk(bM=Hs*0-nUZ1wfqfudqMfyS{g z|A9bAwHd3pc`eu!Y)niA$hbxOZvmqRhw`N%c84_ixk)N$7Ejs6Rnu zNc&=qT(e(`dR$zofFIzV!l$UHxM$Cvefz9HTU6ele?(t-rLbt_5;!ZRl4u*Hq)rN+ zJu8{`XM@7Co+t$qwDrieD-=3P8`Q13>_VnezO$w2LE=y)VpQ`xt zgy&KTNBuW48LVEkGF z9Wm%D1A__S;o8Q=$x;bLwA{pRSCXY2EFL)G9voetd5YVGa?>Ud z{M3q~zAEKBo2}{gK@R<4-HYsJ6e_^5*JW&%^dbp*E6)i2%=Vg3Qi#YQIiE7uWWH zfZ%>ij{JuJX8Ko2R%C=UNZxA9TcjuBBC4- z3Pd1Ous|!6$ThhlN@Yw$ZW^LUlD?x)yT7*Q+28r)`W~O}=Xif!-!u?lA()yQse1_@ zU~1wX;#Ohvo=QXFDl#MW2A4aO6j!PRu4z*H;DfKA#JIHmFsr6m)5t@Wj6Q=5l(r*A z8~4GyKy{NMdE|+|i@^6%QIS#lt@3gofLJa4HXevacm3?^8&q#TaW>_SNYfj%uQs&4_j4!GJF_Yk8D z4TLIrjIuJ;M5m^B8Jd?vbg-&BdIugiCB}hC59dBRH+L>*A}VsA!V84YzS?%G-lgMq@?16!S5O^P^ z(`{GhTS4p+k6{pS{R>obJXi*Jv8dwVNH~6++aB;@;k-}?UmlGR91f@V-?<U zo#r}1b)u-POPe9LDTO2g!H8bNOb7-5=ZQyo9a=t75k`1{Ib_f|90mM3wXJ&{=%Ll0 zKzC3(0|^mQ%}k6GEG9X%=eRnl)0B3N5h0WKt+NB zxp(g($QJgv?(}ESoUUL0sJOQtiOnlE@q*Ez5OY2fzDSV)?uXO&ppz4>e7uOzV)QPp zF&|pAaJNwA@a&~1wy?IW40R#~-Q8VuCN6$Cz;p|m2(z=-tLvL@%R$&O!ZMx?`%#I6 ziS$2qOk>lgQ$j=WNz;V5^!Fz9Nl(h9-9Ih;k)!@MUF$_irr`B!>J`S#6dn>}py2l2 z`&yt4ah61uFz>d^>4K_3%BskNS5^ioQuFYX*|r==3K0Y&=N>12On@5WV z#sk+r*7LM%VSl>x#84>yJckv5x<0m8M_1SMgjMTb)o{(?DgWcA9nsAXZWeo$Mo$$M zv)7I_>B$@{(`TUk6e9{RAwngV`ZsS%K#Jf$T z1=V>f^TW+b;S%iRiBdoN6;V&W*Y!TD8xBMaMQ);+K=JwJ#hItKMz>M*i2Xw!dukIc z`$ke6RH4!#WnWYdLwP;h}cnLY#7rKb)=JH#VP%4^Z4qOHK}H?;Xu=*qW1yt zl}s=Qx|P~2pI867?Ba_KKC3mON}%pr5%I4NC9F-zYHCt=a0{5tyNndl#2;L_1=$}e z#|~)!5Aqa?ub*Sb-@k7nY@`w~cIR>l^-Wq9SkSM& zFdEO$IDcL~vRHM>ghKC1-@tJ?I%>h37WVeuPFp8R{wbp&FHaFW_0Ngm?m{=WyJ~uk zA@gI27qz2V^J96D<`kr#i!#-Gk|beuKmKk5;S17D!aYoW^izI0U;cV}_@#eR^;v~H zN87}s(kEZhuDyQa#(RgIud*k5b_PH66+IXVee+_UFoE=V)&;%5&Y>Y$NPWys;Y5qpu_p7RuM4x4N}!H)c)CRjAGjP*NI_4Oa9 zQLH0fr#%PM2&%nQbv}tiS_hv;-F66=4_-=&ie*%ii_e`h#t^%12Jfq`j@GsDkhiKU z#;3hW*9?&9fAZ|Rj3WE2g>grol`A>@b4JsW^9_vv*~*3JX5%Z?W;1s(k-E$dwV^2^)C zOAq%E`q{Gp`}}7qyz>QsXntGdn4GU1PStVaZt=_~2>mP^*Lyq<49&e=XnPvK(NQ`M zzdfvMy(G@TZ$K%f?d>wtpI-lXOZSjUsv%yp{9cO2CPUNz_kHo(OKOdSgMu2WHWTxv z*i#_fy!$GyK$eIv>pAeheuGjk|6l*#yU&rU-`0(kd9>!R@oB^%nzIAn{^W&U0HLp) A<^TWy literal 62896 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 diff --git a/doc/devel/uml/index.html b/doc/devel/uml/index.html index 95d9a7166..dc0e8f165 100644 --- a/doc/devel/uml/index.html +++ b/doc/devel/uml/index.html @@ -112,7 +112,7 @@ Documentation
Artifact Cinelerra3

Depends on common

Depends on gui

Depends on proc

Depends on backend

the main executable to be built

-

executable associated with : exitnode, pathmanager, track, paramprovider, mask, main, conmanager, clip, meta, fixedplacement, relativeplacement, vrender, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, tool, segmentationtool, aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe

+

executable associated with : main, conmanager, clip, meta, fixedplacement, relativeplacement, vrender, mobject, source, frame, placement, sessionimpl, builderfacade, controllerfacade, processor, pluginadapter, effect, tool, segmentationtool, aframe, assembler, trafo, explicitplacement, auto, glrender, link, parameter, renderengine, allocation, vframe, toolfactory, arender, renderstate, label, glbuf, procnode, stateproxy, hub, buildable, abstractmo, nodecreatertool, projector, interpolator, edl, fixture, glpipe, exitnode, pathmanager, track, paramprovider, mask

Artifact main

Artifact source

@@ -905,34 +905,25 @@ reuse exiting Engine

Selection :

    Transformation
    Class instance vid_A

    type :Clip

    attributes :

    relations :

    Class instance

    type :RelativePlacement

    attributes :

    relations :

    Class instance

    type :Effect

    attributes :

    relations :

    Class instance

    type :RelativePlacement

    attributes :

    relations :

    Class instance

    type :Effect

    attributes :

    relations :

    Class instance

    type :ExplicitPlacement

    attributes :

    • time = 5
    • diff --git a/doc/devel/uml/index_69.html b/doc/devel/uml/index_69.html index 20380e20a..0c7bddcba 100644 --- a/doc/devel/uml/index_69.html +++ b/doc/devel/uml/index_69.html @@ -18,14 +18,14 @@ - + - + diff --git a/doc/devel/uml/index_80.html b/doc/devel/uml/index_80.html index d7038cb97..20ee4971b 100644 --- a/doc/devel/uml/index_80.html +++ b/doc/devel/uml/index_80.html @@ -26,7 +26,6 @@ - diff --git a/doc/devel/uml/index_83.html b/doc/devel/uml/index_83.html index 847982657..5c1a18530 100644 --- a/doc/devel/uml/index_83.html +++ b/doc/devel/uml/index_83.html @@ -62,7 +62,7 @@ - +
      NameKindDescription
      edlartifactthe (high level) Edit Decision List within the current Session
      EDLcomponent
      EDLclass
      EDLcomponent
      EDL Example1object diagramA simple example showing how the actual objects are placed in the Fixture (=definitive playlist). It shows a Video and Audio clip placed on two tracks
      EDL Example2object diagramMore 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
      edlsrelation
      EffectclassEffect or media processing component
      effectartifactEDL representation of a pluggable and automatable effect.
      effectartifactEffect or media processing component
      effectartifactEDL representation of a pluggable and automatable effect.
      Effectclass
      elementsrelationrelevant MObjects comprising this segment. TODO: actually necessary??
      enableoperationchange the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well
      PathManagerclassWhile building a render engine, this Strategy class decides on the actual render strategy in accordance to the current controller settings (system state)
      pathmanagerartifactManager for deciding the actual render strategy
      placementartifactKey Abstraction: a way to place and locate a Media Object
      placementrelation
      Placementclass
      playoperationTODO: will probably be handled differently (see Cehteh)
      playlistnode
      Structclasskey abstraction: structural asset
      structartifactkey abstraction: structural asset
      Struct-Asset Relationsclass diagram
      subjectrelation
      subjectrelationPlacement acts as smart pointer
      subPatternrelation
      diff --git a/uml/cinelerra3/128133 b/uml/cinelerra3/128133 index 83eaacc4c..8438588b6 100644 --- a/uml/cinelerra3/128133 +++ b/uml/cinelerra3/128133 @@ -1,6 +1,6 @@ format 40 "Asset" // ProcessingLayer::Asset - revision 13 + revision 14 modified_by 5 "hiv" // class settings //class diagram settings diff --git a/uml/cinelerra3/128133.diagram b/uml/cinelerra3/128133.diagram index c0272f7ed..a1d67d92a 100644 --- a/uml/cinelerra3/128133.diagram +++ b/uml/cinelerra3/128133.diagram @@ -122,10 +122,6 @@ relationcanvas 129157 relation_ref 128389 // line 129285 z 1999 to ref 129029 role_a_pos 338 687 3000 no_role_b multiplicity_a_pos 314 687 3000 no_multiplicity_b -relationcanvas 129797 relation_ref 128645 // - from ref 129413 z 1999 stereotype "<>" xyz 471 143 3000 to ref 129669 - role_a_pos 513 144 3000 role_b_pos 404 145 3000 - multiplicity_a_pos 547 177 3000 multiplicity_b_pos 393 145 3000 relationcanvas 130181 relation_ref 129029 // geometry HV from ref 128261 z 1999 stereotype "<>" xyz 334 914 3000 to point 339 931 @@ -163,7 +159,7 @@ relationcanvas 132485 relation_ref 129797 // relationcanvas 132997 relation_ref 129925 // from ref 132869 z 1999 to point 529 240 line 133893 z 1999 to ref 129413 - role_a_pos 439 215 3000 no_role_b + role_a_pos 413 204 3000 no_role_b multiplicity_a_pos 401 197 3000 multiplicity_b_pos 515 251 3000 relationcanvas 134533 relation_ref 130309 // from ref 134405 z 1999 to ref 131973 @@ -229,4 +225,8 @@ relationcanvas 139781 relation_ref 142853 // line 139909 z 1999 to ref 139653 role_a_pos 152 426 3000 no_role_b multiplicity_a_pos 126 426 3000 no_multiplicity_b +relationcanvas 140165 relation_ref 142981 // + from ref 129669 z 1999 to ref 129413 + role_a_pos 413 146 3000 no_role_b + multiplicity_a_pos 403 146 3000 multiplicity_b_pos 547 148 3000 end diff --git a/uml/cinelerra3/128261 b/uml/cinelerra3/128261 index 48dbcaf73..60051e702 100644 --- a/uml/cinelerra3/128261 +++ b/uml/cinelerra3/128261 @@ -1,6 +1,6 @@ format 40 "MObject" // ProcessingLayer::MObject - revision 22 + revision 23 modified_by 5 "hiv" // class settings //class diagram settings @@ -409,19 +409,6 @@ ${members}}; comment "TODO: how to represent time intervals?" end - classrelation 129029 // placement () - relation 128645 ---- - stereotype "list" - a role_name "placement" multiplicity "1..*" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value}; -" - classrelation_ref 129029 // placement () - b role_name "subject" multiplicity "1" protected - cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; -" - classrelation_ref 129157 // subject () - end - classrelation 137093 // relation 135557 ---|> a public @@ -446,10 +433,6 @@ ${members}}; " explicit_switch_type "" - classrelation 129157 // subject () - relation_ref 128645 // - end - operation 128005 "resolve" public explicit_return_type "ExplicitPlacement [ProcessingLayer::MObject]&" nparams 0 @@ -465,6 +448,16 @@ ${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl} comment "create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements." end + + classrelation 144901 // subject () + relation 142981 ---> + a role_name "subject" multiplicity "1" protected + comment "Placement acts as smart pointer" + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 144901 // subject () + b multiplicity "1..*" parent class_ref 128517 // MObject + end end class 129797 "ExplicitPlacement" diff --git a/uml/cinelerra3/5.session b/uml/cinelerra3/5.session index 6811c0673..517123540 100644 --- a/uml/cinelerra3/5.session +++ b/uml/cinelerra3/5.session @@ -3,20 +3,20 @@ diagrams classdiagram_ref 130309 // Asset Kinds 860 633 100 4 0 0 active classdiagram_ref 128133 // Session structure - 860 633 100 4 120 0 + 860 633 100 4 47 0 classdiagram_ref 130437 // Media-Asset Relations 860 633 100 4 0 0 classdiagram_ref 128389 // Render Entities 688 506 100 4 120 0 end show_stereotypes -selected - package_ref 129 // cinelerra3 +selected operation_ref 128005 // resolve open - package_ref 128005 // design +package_ref 128005 // design classview_ref 128901 // Assets - class_ref 139781 // SessManager + class_ref 128645 // Placement classview_ref 129029 // Interface + usecaseview_ref 128133 // usage end end diff --git a/uml/cinelerra3/cinelerra3.prj b/uml/cinelerra3/cinelerra3.prj index 48d706651..4680e3711 100644 --- a/uml/cinelerra3/cinelerra3.prj +++ b/uml/cinelerra3/cinelerra3.prj @@ -1,6 +1,6 @@ format 40 "cinelerra3" - revision 31 + revision 32 modified_by 5 "hiv" cpp_root_dir "../../src/" diff --git a/wiki/renderengine.html b/wiki/renderengine.html index 294dda752..44e8ba1d4 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -514,7 +514,7 @@ ColorPalette SiteUrl -
      +
      Asset management is a subsystem on its own. Assets are "things" that can be loaded into a session, like Media, Clips, Effects, Transitions. It is the "bookkeeping view", while the EDL is the "manipulation and process view". Some Assets can be //loaded// and a collection of Assets is saved with eatch Session. Besides, there is a collection of basic Assets allways available by default.
       
       The Assets are important reference points holding the information needed to access external resources. For example, an Clip asset can reference a Media asset, which in turn holds the external filename from which to get the media stream. For Effects, the situation is similar. Assets thus serve two quite distinct purposes. One is to load, list, group search and browse them, and to provide an entry point to create new or get at existing MObjects in the EDL, while the other purpose is to provide attribute and property informations to the inner parts of the engine, while at the same time isolating and decoupling them from environmental details. 
      @@ -524,7 +524,7 @@ We can distinguish several different Kinds of Assets, each one with specific pro
       [img[Asset Classess|uml/fig130309.png]]
       
       !Media Asset
      -Some piece of Media Data accessible at some external Location an able to be processed by Cinelerra. A Media File on Harddisk can be considered as the most basic form of Media Asset, with some important derived Flavours, like a Placeholder for a currently unavailable Source, or Media available in different Resolutions or Formats.
      +Some piece of Media Data accessible at some external Location and able to be processed by Cinelerra. A Media File on Harddisk can be considered as the most basic form of Media Asset, with some important derived flavours, like a Placeholder for a currently unavailable Source, or Media available in different Resolutions or Formats.
       * __outward interface operations__ include querying properties, creating an Clip MObject, controlling processing policy (low res proxy placeholders, interlacing and other generic pre- and postprocessing)
       * __inward interface operations__ include querying filename, codec, offset and any other informations necessary for creating a source render node, getting additional processing policy decisions (handling of interlacing, aspect ratio).
       &rarr; MediaAsset
      @@ -548,9 +548,12 @@ Some additional, virtual facilities created in the course of the editing process
       &rarr; MetaAsset {{red{to be defined}}}
       
       !!!!still to be worked out..
      -is how to implement the relationship between [[MObject]]s and Assets. Do we use direct pointers, or do we prefer an ID + central registry approach? And how to handle the removal of an Asset 
      +is how to implement the relationship between [[MObject]]s and Assets. Do we use direct pointers, or do we prefer an ID + central registry approach? And how to handle the removal of an Asset.
       &rarr; see also [[analysis of mem management|ManagementAssetRelation]]
       &rarr; see also [[Creating Objects|ObjectCreation]], especially [[Assets|AssetCreation]]
      +
      +  //9/07: currently implementing it as follows: use a refcounting-ptr from Clip-~MObject to asset::Media while maintaining a dependency network between Asset objects. We'll see if this approach is viable//
      +
       
      @@ -770,7 +773,7 @@ Cinelerra uses this term in a related manner but with a somewhat shifted focus ( In this usage, the EDL in most cases will be almost synonymous to the [[Session|SessionOverview]], just the latter emphasizes more the state aspect, as it can be thought as the current EDL contents contained in a file or data structure together with additional Option values and settings for the GUI. The Session is what you save and load, while the EDL rather denotes a structured collection of Objects placed in time.
      -
      +
      These are the tools provided to any client of the Proc layer for handling and manipulating the entities in the EDL. When defining such operations, //the goal should be to arrive at some uniformity in the way things are done.// Ideally, when writing client code, one should be able to guess how to achieve some desired result.
       
       !guiding principle
      @@ -779,7 +782,7 @@ The approach taken to define any operation is based primarily on the ''~OO-way o
       !main tasks
       * you ''create a clip'' either from a source media or from another clip (copy, maybe clone?). The new clip always reflects the full size (and other properties) of the source used for creating.
       * you can request a clip to ''resize'', which always relates to its current dimensions.
      -* you can ''place or attach'' the clip to some point or other entity by creating a [[Placement]] from the clip.
      +* you can ''place or attach'' the clip to some point or other entity by creating a [[Placement]] from the clip. (&rarr; [[handling of Placements|PlacementHandling]])
       * you can ''adjust'' a placement relative to some other placement, meta object (i.e. selection), label or media, and this may cause the placement to resize or even delete the clip as necessary
       * you can perform ''adjustments'' on the whole EDL.
       All these operations propagate to directly dependant objects and may schedule global reconfigurations.
      @@ -1356,14 +1359,14 @@ From experiences with other middle scale projects, I prefer having the test code
       
       {{red{how to create a test stub for this interface...?}}}
      -
      -
      All sorts of "things" to be placed and manipulated by the user in the EDL. This interface abstracts the details and just provides
      -* a duration
      -* a [[Placement]]
      +
      +
      All sorts of "things" to be placed and manipulated by the user in the EDL. This interface abstracts the details and just supposes
      +* the media object has a duration
      +* it is allways //placed// in some manner, i.e. it is allways accessed via a [[Placement]]
       * {{red{and what else?}}}
       
      -
      +
      The ~MObjects Subsystem contains everything related to the [[EDL]] and the various Media Objects placed within. It is complemented by the Asset Management (see &rarr; [[Asset]]). Examples for [[MObjects|MObject]] being:
       * audio/video clips
       * effects and plugins
      @@ -1372,6 +1375,10 @@ From experiences with other middle scale projects, I prefer having the test code
       * labels and other (maybe functional) markup
       
       This Design strives to achieve a StrongSeparation between the low-level Structures used to carry out the actual rendering and the high level Entities living in the EDL and being manipulated by the user. In this high level view, the Objects are grouped and located by [[Placements|Placement]], providing a flexible and open way to express different groupings, locations and ordering constraints between the Media Objects.
      +&rarr; EditingOperations
      +&rarr; PlacementHandling
      +&rarr; SessionOverview
      +
       
       [img[Classess related to the EDL|uml/fig128133.png]]
       
      @@ -1443,11 +1450,11 @@ For the case in question this seems to be the ''resource allocation is construct And, last but not least, doing all actual allocations is the job of the backend. Exceptions being long-lived objects, like the Session or the EDL, which are created once and don't bear the danger of causing memory pressure. Besides that, the ProcLayer code shouldn't issue "new" and "delete", rather it should use some central [[Factories]] for all allocation and freeing, so we can redirect these calls down to the backend, which may use pooling or special placement allocators or the like. The rationale is, for modern hardware/architectures, care has to be taken with heap allocations, esp. with many small objects and irregular usage patterns.
      -
      +
      Based on practical experiences, Ichthyo tends to consider Multichannel Media as the base case, while counting media files providing just one single media stream as exotic corner cases. This may seem counter intuitive at first sight; you should think of  it as an attempt to avoid right from start some of the common shortcomings found in many video editors, especially
       * having to deal with keeping a "link" between audio and video clips
      -* silly limitations on the supported audio setups (e.g. mono, stereo and 5.1)
      -* unnecessary complexity when dealing with more realistic setups, esp. when dealing with dialogue scenes
      +* silly limitations on the supported audio setups (e.g. "sound is mono, stereo or Dolby-5.1")
      +* unnecessary complexity when dealing with more realistic setups, esp. when working on dialogue scenes
       * inability to edit stereoscopic (3D) video in a natural fashion
       
       !Compound Media
      @@ -1456,22 +1463,21 @@ Basically, each [[media asset|MediaAsset]] is considered to be a compound of sev
       So, when creating a clip out of such a compound media asset, the clip has to be a compound of elementary clips mirroring the given media asset's structure. Besides, it should be possible to //detach// and //attach// elementary clips from a compound clip. On the other hand, the [[Fixture]] created from the current state of the [[EDL]] is explicit to a great extent. So, in the Fixture we deal only with elementary clips placed to absolute positions, and thus the builder will see only simple non-compound clips and translate them into the corresponding source reading nodes.
       
       !Handling
      -* from a Media asset, we can get a [[Processing Pattern|ProcPatt]] describing how to build a render pipeline for this media
      +* from a Media asset, we can get a [[Processing Pattern (ProcPatt)|ProcPatt]] describing how to build a render pipeline for this media
       * we can create a Clip (MObject) from each Media, which will be linked back to the media asset internally.
       * moreover, creating a Clip will create and register a Clip asset as well, and this Clip asset will be tied to the original Clip and will show up in some special Category
       * media can be compound and the created Clips will mirror this compound structure
       * we distinguish elementay (non-compound) Clips from compound clips by concrete subtype. The builder can only handle elementary clips, because he needs to build a separate pipeline for every output channel. So the work of splitting common effect stacks for clips with several channels needs to be done when calculating the Fixture for the current EDL. The Builder expects to be able to build the render nodes corresponding to each entity found in the Fixture one by one.
       * the Builder gets at the ProcPatt (descriptor) of the underlying media for each clip and uses this description as a template to build the render pipeline. That is, the ProcPatt specifies the codec asset and maybe some additional effect assets (deinterlace, scale) necessary for feeding media data corresponding to this clip/media into the render nodes network.
      -
      -
      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 representant of some general concept (Interface), or if we have a direct colaboration and thus need the Factory to provide
      -a more specific sub-Interface or even a concrete type.
      +
      +
      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
       !![[Assets|Asset]]
       |!Action|>|!creates |
       |loading a media file|asset::Media, asset::Codec| |
      -|viewing media|asset::Clip| for the whole Media, if not already existant|
      +|viewing media|asset::Clip| for the whole Media, if not already existent|
       |mark selection as clip|asset::Clip| doesn't add to EDL|
       |loading Plugin|asset::Effect| usually at program startup|
       |create Session|asset::Track, asset::OutPort| |
      @@ -1482,7 +1488,12 @@ a more specific sub-Interface or even a concrete type.
       |add Clip|session::Clip, FixedPlacement| |
       |attach Effect|session::Effect, RelativePlacement| |
       |start using Automation|session::Auto, asset::Dataset, RelativePlacement| |
      -
      + +!Invariants +when creating Objects, certain invariants have to be maintained. Because creating an Object can be considered an atomic operation and must not leave any related objects in an inconsistent state. Each of our interfaces implies some invariants: +* every Placement has a Subject it places +* MObjects are always created to be placed in some way or the other +* [[Assets|Asset]] manage a dependency graph. Creating a derived Object (e.g. a Clip from a Media) implies a new dependency. (&rarr; [[memory management|ManagementAssetRelation]] relies on this)
      Cinelerra2 introduced OpenGL support for rendering previews. I must admit, I am very unhappy with this, because
      @@ -2063,8 +2074,19 @@ DAMAGE.
       <html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
       ***/
      -
      +
      A Placement represents a //relation:// it is always linked to a //Subject// (this being a [[Media Object|MObject]]) and has the meaning to //place// this Subject in some manner, either relatively to other Media Objects, or by some Constraint or simply absolute at (time,track). The latter case is especially important and represented by a special [[Sub-Interface|ExplicitPlacement]]
      +
      +The fact of being placed in the [[Session|SessionOverview]]/[[EDL]]is constitutive for all sorts of [[MObject]]s, without Placement they make no sense. Thus &mdash; technically &mdash; Placements act as ''smart pointers''. Of course, there are several kinds of Placements and they are templated on the type of MObject they are refering to. Placements can be //aggregated// to increasingly constrain the resulting "location" of the refered ~MObject. See &rarr; [[handling of Placements|PlacementHandling]] for more details
      +
      +
      +
      [[Placement]]s are at the very core of all [[editing operations|EditingOperations]], because they act as handles (smart pointers) to access the [[media objects|MObject]] to be manipulated. Moreover, Placements are the actual content of the EDL(s) and Fixture and thus are small objects with //value semantics//. Many editing tasks include finding some Placement in the EDL or directly take a ref to some Placement. By acting on the Placement object, we can in some cases change parameters of the way the media object is placed (e.g. adjust an offset), while by dereferencing the Placement object, we access the "real" media object (e.g. for trimming its length).
      +
      +Placements are ''templated'' on the type of the actual ~MObject they refer to, thus defining the interface/methods usable on this object. Each Placement has a ''kind'', which determines its actual placing and locating behaviour, but besides that, we don't stress the identity of a placement object (~MObjects on the other hand //do have// a distinguishable identity): initially, you create a Placement of some specific kind (fixed, relative,...), but later on, you treat the placement polymorphically and don't care about its kind. The sole purpose of the placement's kind is to select some virtual function implementing the desired behaviour.
      +
      +There is no limitation to one single Placement per ~MObject, indeed we can ''aggregate'' several Placements, resulting in their properties and constraints being combined to yield the actual position of the ~MObject refered by those Placements. 
      +
      +* {{red{to be worked out...}}} how to implement this, esp. the aggregation. Use a special "placement aggregation" subtype, or rather chain aggregated placements directly in the way a decorator works? And how to handle the case of a //over constrained// Placement?