pd-pure 0.24

20 views
Skip to first unread message

Albert Graef

unread,
Feb 23, 2017, 2:49:42 PM2/23/17
to pure...@googlegroups.com
Hi everybody,

as promised, pd-pure 0.24 is out now, the latest and greatest Pd loader extension for Pure. This embeds Pure in Miller Puckette's graphical data-flow programming system for interactive real-time multimedia applications, so that you can run Pure functions as control and signal processing objects in Pd. It also makes for a great data-flow programming interface to Pure, so make sure that you give it ago, even if you're not that much into computer music and multimedia programming!

Source tarball and ready-made packages for Linux (Arch+Ubuntu, via AUR and Launchpad), Mac (via MacPorts) and Windows are available from the usual places. Quick download links:

- Source: https://bitbucket.org/purelang/pure-lang/downloads/pd-pure-0.24.tar.gz

- Windows: https://bitbucket.org/purelang/pure-lang/downloads/pd-pure-0.24-win32.zip

- Mac: https://github.com/macports/macports-ports/pull/335 (currently pending, but should hopefully be in MacPorts soon; for the time being you can just grab the Portfile from the pull request and install directly from that)

- Arch+Ubuntu: check out https://l2orkaur.bitbucket.io/ and https://l2orkubuntu.bitbucket.io/ for further details

pd-pure 0.24 adds support for the much improved Pd loader extension API in Pd 0.47.0+ and also has some notable bugfixes and usability improvements:

- Pd namespace prefixes (as in my_subdir/my_pure_fun) are fully supported now.

- Loading Pure scripts via Pd's -lib mechanism is fully supported now, both at startup and via Pd's declare object. (Requires Pd 0.47.0+.)

- 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

--
Dr. Albert Gr"af
Computer Music Research Group, JGU Mainz, Germany
Email:  agg...@gmail.com
WWW:    https://plus.google.com/+AlbertGraef

Albert Graef

unread,
Feb 23, 2017, 3:24:21 PM2/23/17
to pure...@googlegroups.com
On Thu, Feb 23, 2017 at 8:49 PM, Albert Graef <agg...@gmail.com> wrote:
- Arch+Ubuntu: check out https://l2orkaur.bitbucket.io/ and https://l2orkubuntu.bitbucket.io/ for further details

Oops, of course these are the info pages for Pd-l2ork / Purr Data and the corresponding builds of pd-pure and friends. For the vanilla Pd packages, please check:

- Arch: https://bitbucket.org/purelang/pure-lang/wiki/ArchPackaging
- Ubuntu (Launchpad): https://launchpad.net/~dr-graef

More info about the MacPorts packages: https://bitbucket.org/purelang/pure-lang/wiki/PureOnMacOSX

Also, some more info about pd-pure and friends with screenshots can be found here: https://bitbucket.org/purelang/pure-lang/wiki/PureData
Reply all
Reply to author
Forward
0 new messages