<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Sorry, sent this to Daniel off list but not the list itself:</div><div><br></div><div>Thanks for the comments, <br><br>I need to prepare this work as a SuperCollider UGen in a less hacky way, but it should be made available (under GNU GPL 3)  later in October I hope. Will be announced on the SuperCollider sc-users list, and available from my code page here: <br><a href="http://www.cogs.susx.ac.uk/users/nc81/code.html">http://www.cogs.susx.ac.uk/users/nc81/code.html</a><br>there is already a draft LLVM UGen there already, but it only really works with IR byte codes sent from Impromptu (itself based on Scheme), and then only in an extremely messy way. <br><br>cheers,<br>Nick</div><div><br></div><br><div><div>On 1 Oct 2010, at 18:35, Daniel Dunbar wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi Click,<br><br>That is awesome, I love it! Is this software going to be released somewhere?<br><br> - Daniel<br><br>On Thu, Sep 30, 2010 at 2:42 AM, Click Nilson <<a href="mailto:clicksonnil@gmail.com">clicksonnil@gmail.com</a>> wrote:<br><blockquote type="cite">A little light relief? Many thanks for Clang, which makes this possible...<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><a href="http://www.youtube.com/watch?v=A0d0qcwrcpQ">http://www.youtube.com/watch?v=A0d0qcwrcpQ</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Live coding of audio DSP in C. Watch out for your ears at the introduction of 'tanh'<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">SuperCollider is used as the host platform, and an LLVM jit compiler is built into a unit generator. You can see the UGen in the graph ring modulated with the SinOsc, and taking input from audio in. The text document of C code is compiled on command (I press F1), the file written out to disk, clang run on it to get IR, which is then passed over to the UGen via Open Sound Control as a long string. The ClangUGen then interprets the IR, and substitutes the dsp function when it is safe to do so (ie not during the middle of an audio callback). This is a rough cut; there are all sorts of refinements to make including double buffering with dsp function crossfades, but hope you enjoy!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">cfe-dev mailing list<br></blockquote><blockquote type="cite"><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br></blockquote><blockquote type="cite"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br></blockquote><blockquote type="cite"><br></blockquote></div></blockquote></div><br></body></html>