From: D. M. M. <mic...@ro...> - 2012-01-10 00:04:31
|
On Monday, January 09, 2012, Tom Breton (Tehom) wrote: > Misunderstanding. My fault, I'm sure. When I said I haven't committed it > yet... You said "push" actually. Git speak for "commit" I guess, instead of "merge." I misunderstood. > Certainly not before everyone has had a chance to use it and find problems. The biggest problem I foresee... If you want to allocate channels on the fly, that means Rosegarden is going to have to keep up with storing and restoring the entire hardware state of that channel from start to finish, and at every particular point in time. Doing this with controllers and programs doesn't seem impossible, just complicated. You'd probably have to put everything in a known initial state, and override whatever state the hardware was in when Rosegarden started. With a known start point established, it should be possible to keep up with juggling all of this. However, how on earth are you going to deal with SysEx? You can't merely keep up with the value of some controller to store and restore it there. You've got a binary blob that does something Rosegarden can't really understand, and no way to roll it back without constructing an equal but opposite binary blob. That isn't really technically impossible, but I think it's practically so. This whole model also shoots any possibility of the user grabbing the hardware controls to set up whatever on the synth. Rosegarden would constantly do whatever it wanted to whatever channel. I just can't imagine how you plan to address all of this, but I'm happy to let you try. -- D. Michael McIntyre |