From: Rib R. <ri...@gm...> - 2006-02-07 07:32:05
|
On 2/6/06, Joe Emenaker <jo...@em...> wrote: > Have the JSL developers, as a community, developed some standard ways of > dealing with various sysex formats? > > For example, I've written a rudimentary driver for a device that > transmits all of its patches in a single sysex message. For this type, > if I want to move patches around in a bank, I have to move them around > within that single sysex message. > > However, with a device I'm working on now, each patch is sent as roughly > 8 smaller sysex messages. So, for a single patch, I'll have to deal with > 8 separate sysex messages... each containing the settings for a certain > aspect of that patch. Understandably, each of these sysex messages has > to contain the patch number and parameter number of what they contain > data for. So, conceivably, I could swap two patches by merely changing > the patch numbers contained in the sysex messages themselves... in other > words, never actually swapping the whole sysex messages to new > locations. Granted, if I then sent this bank of sysex messages out to > the actual synth device, the device would receive the patches in a > non-sequential order... but I don't think the device has a problem with > that. However, I'm wondering if there's a "gotcha" to this method that > I'm overlooking. > > So, I thought I'd ask if the group has ever discussed (and possibly > agreed upon) things like "When your synth device dumps it's patches in > this way, we've found that the easiest way to handle those patches in > JSL is to write your driver like this....". Well, as far as I know, the only device so far to use multiple sysex messages is the Yamaha Motif, and thus also the XML driver. And basically, the Motif is extremely complex so I've never finished an editor or bank support for it. Changing the patch number in the individual messages sounds like it would work though. But you'd probably want to somehow make sure that you're not sending 2 or more patches to the same number. Maybe you could keep an array of all the patches and move (rather than copy) them to the correct position when changing the patch number (in addition to changing the patch number in the message). I'm not sure if this helps though, as I said I've been waiting to look at Banks until I have a fully functional Single driver. |