[PD] pyrite

Orm Finnendahl finnendahl at folkwang-hochschule.de
Sun Feb 24 21:22:51 CET 2002

Am Sonntag, den 24. Februar 2002 um 11:35:28 Uhr (+0100) schrieb Thomas Grill:
> > is there something like pyrite for pd? i never used pyrite, but i love
> > supercollider. some things are so much simpler to program in
> > supercollider. on the other hand i like the click and drag way in pd,
> > but sometimes it gets very complicated and cluttered.
> I don't know pyrite (and the only thing my quick and dirty web search
> brought up deals with Palm handhelds), but I'm completely with you what
> concerns the lack of versatile scripting capabilities.

Pyrite was written by James Mc Cartney, the author of Super Collider
for the 68K version of Max for the Macintosh in the early 90s (the Max
without DSP) before he started the work on Super Collider. It was a
very neat object as it was some sort of embedded programming language
in Max. You double clicked the object box to open an editor
window. The language he invented was somewhere between c, lisp and
smalltalk and part of it have made it into Super Collider. It provided
methods for creating inlets and outlets, timing and so on. After some
years of heavy frustration to code simple programming constructs by
the means of patch cables and objects boxes it was very refreshing to
be able to write loops or to assign variables in a fraction of time
and to have better overview about what you're doing. Although I really
like the concept behind Max and PD, it was a very useful addendum, each
having it strengths, where the other had its weaknesses. I ended up
using pyrite to code about everything which was needed in a piece and
just connect sliders, midi-io and numberboxes to the in and
outlets. But alas, also this "language" had its limitations (lists
being allowed only with up to 256 elements for example) and I ended up
using lisp altogether for composing.

> The ideal solution would be embeddable script boxes that can use pd objects
> as classes, their methods as methods and their inputs/outputs as variables.
> Of course some existing, widespread, mature scripting language should be
> used, possibly python or perl.
> To all the experts out there: is it possible to define abstract data types
> in these languages and implement all their methods in C/C++ code modules?

That would indeed be very cool, although I think part of this is
already possible, since it is quite easy to write externals in C (and
could be made even easier with some utility functions to facilitate
i/o processing, type checking and so on) which can readily instantiate
and use any known pd class and foreign processes can also be
integrated quite easily (at least with linux). The only thing, I miss
regularly is the possibility to exchange values between processes
easily, accessing data strucures in both directions and so on. Maybe
we could also think about a way, how to set up common data structures
for pd and external processes.


More information about the Pd-list mailing list