moocow / projects / Pd

(and related projects)

This page contains patches and externals for Miller Puckette's Pd, constructed, written, hacked, munged, frobbed, and/or tweaked by moocow. The most current versions of (most of) these externals should be available via the SourceForge pure-data project.

moocow's externals

  • OSC::Perl v0.03
    object-oriented perl interface for OSC socket communications, based on OSC_perl v0.01 by jdl.
  • pd-deque v0.03-2
    'deque' is a Pd external object implementing a double-ended message queue.
    • v0.03: Fixed a nastier bug causing segfaults when using 'unshift' on an empty queue.
    • v0.02: Fixed a nasty bug which prevented simple floats from being de-queued without an explicit selector.
  • pdflite v0.02-2
    'flite' is a Pd external which provides a high-level text-to-speech interface for English based on the 'libflite' library by Alan W Black and Kevin A. Lenzo. Requires the Flite runtime speech synthesis engine.
  • pd-gfsm v0.05-2
    Pd bindings for the GFSM finite-state machine library. For some motivation and background, see this paper (in the bang | pure data book, available from Wolke Verlag), and these slides. Now links to a static version of the GFSM library (included) by default. Older Versions:
  • locale v0.02-1
    Pd wrapper for C library localization API via locale.h
  • Pd::Patch v0.01
    Object-oriented Perl modules for parsing and generating PureData abstractions. Work in progress.
  • Pd::Socket v0.02
    Perl wrapper classes for communicating with Pd [netsend] and [netreceive]. (UDP send class currently does not work).
  • pdstring v0.10-2
    Converts between pd messages and lists of (byte-valued) floats. Uses much more memory than strictly necessary ((sizeof(int)+sizeof(float)-1)*strlen(message) wasted bytes), but it works, after a fashion. Now supports wide character (wchar_t) strings, together with the locale external. Another string-handling for Pd is Martin Peach's [str] patch, available in Sourceforge SVN. I think there's yet another pair of externals ([ascii]?) out in the ether that do pretty much the same thing, but I've never found them.
  • ratts v0.08
    "Realtime Analog Text-to-Speech" externals library for Pd, built on code by Nick Ing-Simmons and Jon Iles, based on work by D. H. Klatt, L.C. Klatt, J. N. Holmes, I. Mattingly, and J. Shearme.
    • minGW/MSYS builds should now work (hopefully); you might also try this binary
    • Use of strict aliasing optimizations when compiling with gcc-4.x has been observed to cause a race condition at or around line 59 of trie.c. Solution: use the "-fno-strict-aliasing" compiler option (on by default in linux as of ratts-v0.07).
    • Now is able to synthesize "symbol float" and "symbol symbol" ;-)
    • Hangs and lockups have been observed in ratts when compiled with gcc-3.2 -- gcc-2.95 and gcc-3.0.4 both appear to work, however. gcc-3.3 and gcc-3.4 seem to work well also, although phones2holmes breaks (race condition?) when excessive optimization is requested.
  • readdir v0.03-0
    'readdir' allows you to read a directory's contents. File type identification will not work properly on systems whose dirent struct does not contain or fails to populate the d_type field (e.g. win32, some flavors of linux) -- YMMV.
  • SayWhat
    SayWhat is a fully automated nonsense generator written in perl, with command-line and perl/Tk interfaces. It has a pd-output mode, and a pd-input interface which uses pdreceive.
  • sprinkler v0.06-2
    sprinkler (formerly "forward") is a Pd external to do dynamic message forwarding. Useful if you don't (want to) know the sizes and/or type-distributions of your incoming messages. An older version is also available as a MacOSX Binary (+ installer), thanks to Adam T. Lindsay.
  • weightmap v0.01-2
    weightmap is a Pd external which maps incoming probability values to integers; similar to a finer-grained gui-less incarnation of Yves Degoyon's 'probalizer' object.

moocow's patches


Managing Pd Externals with GNU autotools

  • hello-0.01-1.tar.gz: Simple example external demonstrating the use of GNU autotools to build and maintain a Pd external package. Includes re-useable m4 autoconf macros, an automake include file, and a fully functioning demo build system. See the README for more details.

Other Links