Hi Mathieu,
Am Dienstag, den 28. Januar 2003 um 14:54:21 Uhr (-0500) schrieb Mathieu Bouchard:
One major feature missing from PD/jMax is special objectboxes that have subpatchers as arguments. This would give PD/jMax more of the flexibility that other dataflow environments such as LabView has.
jMax already has subpatchers; you double-click on it and a separate window opens; however the subpatcher is stored in the same file as the patcher. PD could get this feature.
Sorry if I'm missing something, but could it be that you don't know of the "pd" object, which is the same as the "patcher object" in Max/MSP? It does everything you mention and is stored in the same file as the main patch.
(the advantage of jMax stops here.)
Then it would be good for abstractions to be embeddable in the same file as a main patcher. The difference between a subpatcher and an abstraction is that an abstraction may have several instances of itself inside the same patcher. The advantage of embedding abstractions is that it makes it more convenient (or less inconvenient) to build heavily structured patch-systems; you can put what would be 42 different .pd files inside only one, no need to give it a directory of its own, no use for zipping it to distribute it.
I don't see the difference between what you describe and what an abstraction is in pd (it is basically one file in the same directory as the main patch and the main patch stores references to the abstractions instead of the abstraction code to minimize file size).
Then it would be good to allow visually-embedded subpatchers. Then allow non-text inside objectboxes (so that I can put matrix literals inside object boxes in a nice form; see game_of_life.pd to get an idea of how ugly matrix-literals may get). Then allow processing-objects inside objectboxes; this implies subpatchers (incl. the visually-embedded ones) are allowed inside objectboxes.
Did you check the "graph on parent" feature?
From there it would be nice to have an object that can vectorize GUI
objects so that I can get a matrix of checkboxes or a vector of sliders.
I actually often wish I had some kind of vector-of-sliders in jMax that would send out lists of integers. I have a use for that, as I often copypaste sliders and align them side-to-side and pack their outputs into vectors.
I attach a patch which dynamically allocates a matrix of checkboxes. Just click on the different lists to get different row/column settings. The checkboxes send to and receive from distinct locations (check the properties dialog for values) and the patch includes the graph on parent feature to be somewhat clearer. You can do the same with any gui object (or basically any object of pd), including dynamical allocation of patch chord connections when needed. And the create-checkboxes subpatcher could be saved as an abstraction for reusability (e.g. specifying rows and columns as arguments). You could also add all sorts of bells and whistles like covering titles and unneeded object boxes with canvases, dynamically color the checkboxes/sliders etc.
Does that serve your needs or am I completely off topic?
-- Orm