<div dir="ltr">Tiemen;<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><p><font size="2"><div class="Ih2E3d">
<br></div>
That sounds like the correct behaviour, as you only change the memory address &#39;patchpoint&#39; is pointing to. The actual graph will know nothing of this event.<br>
</font></p></div></blockquote><div><br>Ok. Learned another thing. I suppose I took the word &quot;assignment&quot; too literally. Thanks!<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><p><font size="2"><br>
This method adds yet another wrapper around the UGens, but might be worth it for the flexibility it provides.<br><font color="#888888">
</font></font></p></div></blockquote><div>Yes, could be interesting and worthwhile for specific applications like perhaps a configurable multi FX. I am starting to think that this kind of wrapping, for what sounds like it could also be seen as a very general and atomic operation, is a bit much; to get the extra feature of reconfiguring the UGen graph we&#39;d have to sacrifice the ChucK operator as it applies to UGen&#39;s.<br>
<br>What if we&#39;d wish-list two new member functions for UGen&#39;s, similar to the new &quot;UGen.isConnectedTo( Ugen )&quot;? I&#39;m imagining&nbsp; &quot;isConnectedTo()&quot; and &quot;.connectsTo()&quot;, both of which would return a array of type Ugen (that could obviously be of length 0).<br>
&nbsp;</div></div>This would enable us to write something like;<br>=========================================<br>fun void replace (UGen target, UGen replacement)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; while(target.isConnectedTo().cap() )<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; target.isConnectedTo()[0] =&gt; replacement;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; target.isConnectedTo()[0] =&lt; target;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; while (target.connectsTo().cap()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; replacement&nbsp;&nbsp;&nbsp; =&gt; target.connectsTo()[0];<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; target&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =&lt; target.connectsTo()[0];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>========================<br><br>To me this sounds more general then the new &quot;UGen.isConnectedTo( Ugen )&quot; function from the latest version which could be re-written in terms of my modest proposal while the reverse isn&#39;t true.<br>
<br>Am I making sense here? It&#39;s not that I don&#39;t see the use of wrapping Ugens to gain some domain specific functionality and it&#39;s great that we can, but reconfiguring the UGen graph sounds to me like a very general type of functionality that may be desirable as a part of the language. There are, of course, namespace issues here. Using these and starting from the DAC we could map the complete (active) UGen Graph while this should be limited to the UGens that are reachable from the current namespace. I&#39;m not sure how feasible this is right now; clearly all of the knowledge we need is there in the system but that need not mean it&#39;s easily reachable, seeing as how the UGen graph is relatively independent from the code.<br>
<br>Apologies for jumping from topic to topic like that; little sleep meant a bit of a heightened associativity for me. :¬)<br><br>Yours,<br>Kas.<br></div>