Derek Holzer wrote:
Hi all and thanks for chiming in on this thread. There was once, long ago, a simple mixer which dynamically created the busses and channels. If anyone can remember that one, it must have been 5 years ago, and was the first dynamic patch I had ever seen.
could be my "abcde(fg)", the great "ambisonics-based coding and decoding environment (for graz)". you can get it here: http://iem.svn.sourceforge.net/viewvc/iem/spatialization/abcde/
however, my experiences with abcde were the main reason i s did not touch self-modifying patches for years and years. the lesson i learned was: never do self-modification in patches that other people will ever have to regularily use. (the original phrase would have been "never do self-modification in patches that other people will ever have to maintain"; however, this might give the impression that chances are low that somebody else will really have to "maintain" a patch); in practice you pass maintainership to somebody as soon as you give them your patch: they will eventually start to modify it.
having said that, self-modification might work resasonably well with _small_ "atomic" abstractions e.g. implementing a settable [route] via self-modification might be fine, but don't try to do so with core-components of a big application.
Also fun, non-utilitarian ones, like once someone sent some kind of "card" to the list which just made a huge self-generating GUI art-mess on the screen. I wish I could remember who wrote it. Lastly, IOhannes showed a very nice self-modifying patch at Piksel last December using iemguts.
i'll see what i still have on my disk. being a live-coding session i had not prepared so much "patch" in advance which i could share now...
vhmysdrt IOhannes