Hi all, as already announced, dyn~ is now available for cvs checkout. It needs minor patches (for exports of a few functions) to the PD source code, which i already made available in the devel_0_36 branch of the pd cvs module.
see also: http://www.parasitaere-kapazitaeten.net/ext/dyn
As described before, dyn~ allows to create/destroy, connect/disconnect normal pd objects and abstractions hidden inside the dyn~ external on the fly. It's very experimental at this stage and more like a proof-of-concept. In a further step similar functionality shall be accessible for scripting (like the pyext external) to allow efficient and easy management of complicated patches and massive polyphony. Also with the current dyn~ version it's only a small steop to a Max-like poly~ object (although inlets and outlets cannot be shared between signals and objects)
There are several sources of problems with the current dyn~ version:
- dyn~ needs some PD functions that are not normally accessible to externals. These are o canvas_addtolist, canvas_takeofflist - to enable DSP processing of a non-root canvas o canvas_isconnected, canvas_connect, canvas_disconnect - to manage object connection without GUI interaction o pd_newest - introduced by me to expose the "newest" pointer (the latest created object)
I consider these functions quite non-critical in terms of version changes. However, there are further critical issues: - a sub-canvas is added to the list of root-canvases manually - managing connections seems to be a GUI-affair to some extent
Managing objects in PD should definitely become more independent from the GUI. dyn~ may serve as an example, but due to my very limited insight into PD there are definitely some hidden incompatibilities with PDs inner workings at this point.
may the god of digital audio be with you! have fun and make some good music!
Thomas