A PureData bridge-type module, capable of opening and playing PD patches via the embeddable libpd library.
I was experimenting at something sort of it when VCV Rack was still at its 0.6 incarnation. Basically I heavily based my experiments on a indirect porting the ofxPd
addon for openFrameworks by Dan Wilcox in the context of Rack, that is, consuming the libpd_wrapper
API through an extension of the PdBase
class in the context of the Rack module
instance.
I managed to have the audio stream buffer to work, and also to launch the native Tcl/Tk Gui to edit or manually banging/configuring the PD patch on the fly.
But that’s all, my code was simply a rudimentary step-on, and ultimately I’m really not as good at C++ to be able to finalize this kind of project, again the super-fast evolution of VCVRack to version 1++ - and soon 2.0, I see - together with some family problems and lack of spare time made me quit the fun coding.
That said, IMHO a few major issues in this project seem to be:
- the cross-platform requisite (compilation and testing)
- static linking of libpd in the delivered plugin
- the necessity to access the native GUI
- synchronization issues
- real multi-instance support
With regards to the last point, it has to be said that it’s been in active development in the last year, it has not so long been already implemented in the libpd
core code, and AFAIK is actively worked on with regards to related thread-safe issues, extended multi-hook support, and a definitive C++ wrapper implementation (there is lot of github activity in recent days).