<div dir="auto"><div>I think that sounds great.<div dir="auto">It's not going to stop me wanting the ability to use Pd as a VST plugin in which I can load and control other VST plugins. So I agree with all but the "instead of" part.</div><div dir="auto">I'm currently trying to do basically the same thing, but cross-platform.</div><div dir="auto"><br></div><div dir="auto">Chuckk</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 12, 2019, 11:14 AM Lorenzo Sutton <<a href="mailto:lorenzofsutton@gmail.com">lorenzofsutton@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Longish post inspired by the recent discussion about 'Pd as a VST plugin'.<br>
<br>
TL:DR: better use a modular JACK (freewheel) approach compared to more <br>
'static' Pd as a plugin approach.<br>
<br>
I think that on systems with JACK Audio [1] (Linux mostly, but available <br>
on other platforms, albeit maybe not so common nor supported), it would <br>
be great to have solid JACK Freewheel [2] support instead of trying to <br>
embed Pd as a plugin in rather cumbersome, diverse and (probably) <br>
unstable, ways.<br>
<br>
Actually JACK freewheel *does* work with Pd on Linux (audio only) with <br>
the [jackclock] external by Nicolas Bouillot [3] also used to interact <br>
with jack transport, although currently a bit cumbersome if interacting <br>
with other applications. What's the big deal? Freewheel is 'faster than <br>
realtime', meaning that when activated audio will be generated as fast <br>
as the CPU can. The key use case is generating audio to a file at the <br>
same time avoiding things such as xruns or other problems due to <br>
real-time operation. If you've ever used Ardour  [4] and exported audio, <br>
it is using JACK freewheel (and in fact you see the playhead moving <br>
forward faster than realtime as it processes audio...).<br>
<br>
Now imagine instead of having Pd as an LV2, VST or whatever plugin in <br>
Ardour, you have your patch(es) open in usual Pd, connect tracks or <br>
busses to Pd, reconnect [dac~] to Arour's master et voilĂ  :) - when you <br>
need to export you just run with freewhel mode.<br>
<br>
Indeed, I _was_ already able to connect through JACK an Ardour audio <br>
output to Pd with some simple audio processing, and then, after <br>
activating freewheel mode with [jackclock], 'record' the output to a <br>
.wav file through both jack_capture and [writesf~] internally (the <br>
former more interesting for this use case).<br>
<br>
So, just to shift points of view, IMHO strong JACK (maybe including JACK <br>
midi) and JACK freewheel support is somewhat more desirable in Pd <br>
compared to support for the many plugin types and platforms. If one <br>
thinks about it this is more in line with Pd's modular and dataflow <br>
approach, also in the long run might be more resilient to plugin format <br>
changes, license changes (see VST problems), as well as updates in Pd <br>
itself.<br>
<br>
<br>
Lorenzo.<br>
PS. Disclosure: this is not my first post advocating a freewheel <br>
approach in the (Linux) audio ecosystem compared to monolithic do-it-all <br>
audio software, but just as a user :) [5].<br>
<br>
[1] Jack Audio<br>
[2] Jack Freewheel in the JACK API: <br>
<a href="http://jackaudio.org/api/group__ClientCallbacks.html#gae797e2cde20faecb9be510c8873fbdd6" rel="noreferrer noreferrer" target="_blank">http://jackaudio.org/api/group__ClientCallbacks.html#gae797e2cde20faecb9be510c8873fbdd6</a><br>
See also this interesting section in Louigi Verona's 'Linux Audio <br>
workshop': <br>
<a href="https://louigiverona.com/?page=projects&s=writings&t=philosophy&a=philosophy_linuxaudio#2" rel="noreferrer noreferrer" target="_blank">https://louigiverona.com/?page=projects&s=writings&t=philosophy&a=philosophy_linuxaudio#2</a><br>
[3] <a href="https://github.com/nicobou/pd-jackclock" rel="noreferrer noreferrer" target="_blank">https://github.com/nicobou/pd-jackclock</a><br>
[4] <a href="https://ardour.org/" rel="noreferrer noreferrer" target="_blank">https://ardour.org/</a><br>
[5] See e.g <br>
<a href="http://linux-audio.4202.n7.nabble.com/JACK-Freewheel-mode-thoughts-td102077.html" rel="noreferrer noreferrer" target="_blank">http://linux-audio.4202.n7.nabble.com/JACK-Freewheel-mode-thoughts-td102077.html</a> <br>
and <br>
<a href="https://www.mail-archive.com/rosegarden-user@lists.sourceforge.net/msg02632.html" rel="noreferrer noreferrer" target="_blank">https://www.mail-archive.com/rosegarden-user@lists.sourceforge.net/msg02632.html</a><br>
<br>
<br>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank" rel="noreferrer">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div></div></div>