- The new lib directory in the sources has the beginnings of a Pd-specific Pure support library now. This gets installed in Pd's extra/pure folder, which is on the embedded Pure interpreter's library path now, so it's available to Pure scripts running in Pd without any further ado. Currently this contains:
* pd.pure, which collects all extern declarations of functions in the pd-pure loader which can be used to call back into Pd from Pure.
* actor.pure, which provides a higher-order "adapter" function, actor, which converts any Pure stream processing function to a Pd object which feeds the object's real-time input into the stream function and outputs the result stream as elements become available in real-time. So no excuse for writing messy imperative-style actors in Pure any more. ;-)
- The pure-remote.pd helper abstraction (pd-pure's "remote control" thingy which lets you reload Pure scripts running in Pd on the fly and can also be operated remotely from Emacs' Pure mode) is now installed directly in Pd's extra folder, so that it is readily available in Pd without further ado as well (just type 'pure-remote' in a Pd object box and it should just work).
- Finally figured out how to get rid of that stupid dummy "main signal in" in Pure signal objects, so that pure~ and friends have a proper leftmost *control* inlet now. Note that this also requires Pd 0.47.0 and later, but pd-pure automagically adjusts to the Pd version at runtime and will just fall back to the dummy "main signal in" work-around in older Pd versions.
- Finally squashed issue #2 (
https://bitbucket.org/purelang/pure-lang/issues/2/enable-warnings-in-pd-pure), so the pure-runtime object has an additional -w option now which enables warning messages in the embedded Pure interpreter. Hey Leonardo, not sure whether you're still on this list, if so then please accept my apologies, I totally forgot about this. That feature request has been open since 2013 for crying out loud, but see, I *did* finally get around to it, as promised. ;-)
Last but not least, I'd like to give a quick shout-out to Jonathan Wilkes of Pd-l2ork fame. Jonathan isn't involved with pd-pure at all, but he's recently given us what seems to be the greatest Pd implementation *ever*. I'm talking about Pd-l2ork 2.0 a.k.a. "Purr Data", see my quick introduction at
https://agraef.github.io/purr-data-intro/ for details. If you stayed away from Pd until now because it's GUI isn't anything to write home about, give Purr Data a try, it's a truly amazing piece of software, with an abundance of improvements over "vanilla" Pd while still having Pd's tried and proven real-time engine under the hood. I use it for all my own research work and teaching now.
Enjoy. :)
Cheers,
Albert