Steve;<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><div class="h5">> We may be able to have a optimising compiler but we can't (preserving<br>
> current functionality) condence the UGen graph like some digital modulars do<br>
> (simplifying groups of UGens internally). Well, maybe we could but even<br>
> thinking about it makes my head hurt. IMHO we need more facilities for<br>
> hot-swapping UGens, not less.<br>
<br>
</div></div>That's basically true. Even if the compiler produced machine code as<br>
fast as C, it would still issue calls to connect up UGens the same way<br>
it is done now.<br>
</blockquote><div><br>Yes, I was talking about optimising UGen performance though. There are some digital modular synths that optimise by taking a group of "UGens" and converting those to instructions in a optimised way. I meant we couldn't do that as we want to be able to re-route them.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
On the other hand, if the compiler really could generate code that<br>
fast, it would be worthwhile to implement UGens directly in ChucK.<br>
</blockquote><div><br>I still think that would be worthwhile to have as a option. Even if it would be slow(er) it would be great for prototyping and would lead to cleaner code. For example; I sometimes use a overdrive that consists of a a set of UGens. When I use that a few times, on a few sounds, I end up with code that may work and be relatively fast but that's not so pretty.<br>
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
I've been playing more and more with LLVM lately, but still too early<br>
to say anything. I was messing around with the ChucK compiler<br>
previously, and found a few places to play with its opcode generator.<br>
Don't hold your breath though, as I'm way too busy on other things. :)<br>
I'd love to spend some more time with it in the summer though.<br>
<br>
</blockquote><div><br>Could you explain what you mean by "ChucK's opcode generator"? "Opcode" is a CSound term that translates roughly to "UGen", right?<br><br>Kas. <br></div></div>