<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 2, 2016 at 6:24 PM, Thomas Brand <span dir="ltr"><<a href="mailto:tom@trellis.ch" target="_blank">tom@trellis.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, July 2, 2016 23:14, Stéphane Letz wrote:<br>
> Faust :  <a href="http://faust.grame.fr" rel="noreferrer" target="_blank">http://faust.grame.fr</a><br>
><br>
<br>
Faust was the first thing that came to mind indeed! The introduction<br>
paragraphs in the documentation says<br>
<br>
-specification language<br>
-describe signal processors from a mathematical point of view<br>
-free from implementation details<br>
<br>
But right after that:<br>
-FAUST programs are fully compiled, not interpreted.<br>
<br>
I can imagine to bundle FAUST code from different processors<br>
semi-automatically or handcrafted to one unit relatively easily. However i<br>
was thinking in a direction where the units live in a host still as single<br>
units, to be connected in different ways, and the host would dynamically<br>
derive a single math operation of the current graph. I understand this<br>
would include recompilation or some kind of JIT compilation in order to<br>
work. If possible at all, i think Faust would currently be the best fit,<br>
since it already offers some of the fundamental concepts needed to even<br>
think about doing something like this. That would allow large graphs with<br>
almost no context switches (this is pure speculation).<br></blockquote><div><br></div><div>You are cordially invited to provide a faust implementation of 1 or more of the following:<br><br></div><div>   Ardour<br></div><div>   QTractor<br></div><div>   Bitwig/Live<br></div><div>   Kontakt<br></div><div>   FreqTweak<br>   <br></div><div>When done, for bonus points, convince the members of the plugin development communities to implement their work in Faust and make the Faust code available for refactoring by the sort of algorithm Stephane referenced in his reply. <br><br></div><div>There were plugin APIs long before JACK came along. JACK has very little to do with the lower level aspects of how to chain together DSP blobs (aka plugins) in arbitrary ways, and everything to do with how to connect applications together. <br><br></div><div>There are all kinds of cool ideas for how to do things inside a single process - Faust is one of them. The inter-application stuff is really a different ball of wax. Fons sounds as if he has some interesting insights there, but it would be hard to integrate them into any host that wants to be able to run without JACK.<br></div></div></div></div>