I'm starting to build a rather complex modular instrument (using a DIY-intuos2-screen** with 2 pens, ipad, Magic Trackpad, etc. as interfaces and some personal 'sub-additive' synthesis for sound : http://cycling74.com/forums/topic.php?id=20980
). I'm building most of the instrument structure in mxj (i keep max for UI objects/sound/some Jitter). I'm planning to use the object-oriented structure of java to structure well my project in different 'modules' : various possible interfaces/sounds/displays, versions of my instrument, perhaps using different mxj objects* in different max patches loaded together.
...and i'm dreaming of some complex presets/automation data structure coming with it :
In the past, I was using a lot [preset] and [pattr] objects, but for the following reasons i think i will not use them in my new projet, or please tell me if you see an easy workaround or special hidden external object somewhere, to help on one of theses points :
1 - I would like real time automation of all my UI objects in my max patch. (and also automation of the preset changes) I would need functions like record/stop/play but also the ability to ask for the "state of my max patch" at one exact time at xxx millisec. in the recording. I guess there is no simple way to do that using pattr.
2 - I'd like a "2D" presets array instead of "1D". I mean that i would like a list of presets, and in each preset storage i could have various presets versions.
3 - When we add a new UI object/parameter in a patch where we already have a lot of presets, if we want this new UI object to be initialized with a 'standard' value in each previous preset, we need to recall/resave each preset, which can be a heavy process even if automated.
4 - In my patches, most UI objects in max send its state to an mxj routine, which have to recalculate some process when i modified an object state with my mouse. Then when i recall some preset, there are as many recalculations repeated in my mxj routine as UI objects in my patch... which can bring serious buggy delays each time i click on a preset. I would need to know, from inside java, which way the object state have been modified, with the mouse, or by a preset change?
5 - I'm also wondering about building a special UI object to replace the preset object (in a lcd, because no UI mxj until now in max), in order to have multicolor presets (it often hard to recover my dozens of presets in the actual object) and also to integrate this "2D" presets structure.
Plus knowing that for my sound presets i might want also to interpolate on the flight between 3 or more presets (for example when the frequency of my note is changing), from inside my mxj routine, i think i definitely need a custom preset structure all made inside java.
But again, if somebody have some ideas about resolving one of theses points above, using some existing objects, or maybe, you never know, patches/mxj work already made by someone sharing it, please tell me about it,
Thank you !
** Deep pressure sensing on two points on a screen, see picture. (cintiqs only work with one pen)