<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Ive created a patch and framework that allow one to dynamically route pix data to various pix objects. I havent used it extensively, but it essentially goes like:<DIV><BR class="khtml-block-placeholder"></DIV><DIV>[gemhead]</DIV><DIV>|</DIV><DIV>[pix_film]</DIV><DIV>|</DIV><DIV>[send13 movie1]</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>... some effect module:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>[someOtherPixSource(</DIV><DIV>|  [movie 1(</DIV><DIV>|/</DIV><DIV>[recieve13]</DIV><DIV>|</DIV><DIV>[separator]</DIV><DIV>|</DIV><DIV>[pix_effect_here]</DIV><DIV>|</DIV><DIV>[send13 effectOut1]</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> etc etc.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>the send receives can be dynamically set via a pulldown menu, or whatnot. also, be sure to quickly toggle rendering on and off to make sure you dont get hiccups (at least with older gem versions)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>You can get trickier by removing the separators if you make sure to always reset the rendering [stop,start( to gemwin, but it requires more logic in the patch. The above method isnt all that efficient, but does allow for dynamic routing of effects. You could event script it to spawn new effect modules for arbitrary length effect chains, but there arent really enough pix_ effects to make that worthwhile I dont think. Also, beware of colorspace issues that some of the pix_effects have. I try to stick to YUV, since it is fastest.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>peace. (send13/recieve13 use the max/MSP syntax to dynamically set their send target and receive target..)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> <BR><DIV> <DIV style="font-size: 13px; "><FONT class="Apple-style-span" color="#D30000" size="1" style="font-size: 10px; "><B>v a d e //</B></FONT></DIV><DIV style="font-size: 13px; "><FONT class="Apple-style-span" color="#7F7F7F" size="1" style="font-size: 10px; "><B><BR class="khtml-block-placeholder"></B></FONT></DIV><DIV style="font-size: 13px; "><FONT class="Apple-style-span" color="#7F7F7F" size="1" style="font-size: 10px; "><B><A href="http://homepage.mac.com/doktorp/">http://homepage.mac.com/doktorp/</A></B></FONT></DIV><DIV style="font-size: 13px; "><FONT class="Apple-style-span" color="#7F7F7F" size="2"><SPAN class="Apple-style-span" style="font-size: 10px;"><B><A href="mailto:doktorp@mac.com">doktorp@mac.com</A></B></SPAN></FONT></DIV><DIV style="font-size: 13px; "><FONT class="Apple-style-span" color="#7F7F7F" size="2"><SPAN class="Apple-style-span" style="font-size: 10px;"><B></B></SPAN></FONT></DIV> </DIV><BR><DIV><DIV>On Jul 13, 2005, at 1:10 PM, IOhannes m zmoelnig wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Alexandre Quessy wrote:</DIV> <BR><BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BR></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">So, every [pix_*] object behave like this ?</DIV> <BR></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">at least each and every pix_fx (there might be one or 2 pix_objects that</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">do not behave like that, probably [pix_draw] and [pix_texture], i really</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">dunno. all other pix_objects behave like that (the joys of inheritance)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BR><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Does it save on CPU+RAM performance when it is set to 0 ?</DIV> <BR></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">well it just ignores the actual processing for this object. this means</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">it doesn't do anything but pass the gemlist on (so yes, this saves CPU+RAM)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BR><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Otherwise, would [spygot] be more suitable ? For instance, does change</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">the gemlist path with spygot create new instances of the gemlist</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">"object" every time one changes the flow ?</DIV> <BR></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">i am not entirely sure what you mean, but you can definitely change the</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">render-chain with flow-control objects like [spigot], [demux],</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">[repeat],... (the last 2 being zexy)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">mfg.asd.r</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">IOhannes</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:PD-list@iem.at">PD-list@iem.at</A> mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">UNSUBSCRIBE and account-management -&gt; <A href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</A></DIV> <BR class="Apple-interchange-newline"></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>