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.
Orm