On 7/28/09 4:23 PM, Andrea Valle wrote:
I ended up solving some of our problems by using a dynamic, lazy Group tree... we defined a basic group structure we wanted to use, something like: -synths -effects -spatialization -panning -postpanning -postprocessing These could be predefined in a config file, and any could be referred to by name when creating a synth.... Synth(..., target: GroupManager.get.synths ) The GroupManager object knew how to initialize all the groups in the right order, etc. It ultimately worked like an Environment that used lazy evaluation (ala proxyspace) where, if you refer to a group that doesn't exist, it's automatically created. So, Synth(..., GroupManager.get.madeUpGroup) would work even if you hadn't yet defined madeUpGroup (in development). We could then go back LATER and determine exactly where in the tree madeUpGroup fits, without having to go back into our old code and change targets around, pass groups in, etc. This is certainly a different solution than auto-ordering (we had so much going on, there would have been no way of auto-ordering it....). Auto-ordering would be excellent for quick prototyping, I agree. We should talk off-list about how you're implementing this... - Scott
|