From: Joe E. <jo...@em...> - 2005-04-03 03:32:54
|
Bill Zwicky wrote: > Joe Emenaker wrote: > >> Since the data encoding is something which pertains the using XML >> files, I think that the code for is should be in the XML routines and >> not in the Driver system. >> I'm a little uneasy about the idea of having any XML-awareness in the >> synthdrivers. > > The idea is this: What if someone wants to hand-edit patches ouside > of JSL? Then maybe they shouldn't be using JSL. :P Seriously, though... someone would want to use JSL just to convert sysex into XML? I don't buy it. > It's excessively difficult to edit the hex, but would be possible if > the patch data was itself a bunch of XML. I don't know of any way to > automate this (unless we can leech off the XML editor stuff) but if we > leave it up to the driver, then anyone who needed it could update the > driver to create and parse it. Then you either force all of the editor authors to also write XML methods (and risking bugs each time), or you let some drivers save their patches in binary format while others save in parameter format. Why not just let the XML routines get a list of an editor's ParamModels? It should be able to learn everything it needs from that in order to generate the XML. Keep in mind that one possible problem with not storing the original sysex data is that some parts of a sysex dump aren't spec'd and can't be changed. For example on the Alesis SR-16, there are lots of regular parameter locations. However, there are some places where the spec says "DON'T CARE" and, even worse, some that say "DON'T CHANGE". For these, a syntheditor author would probably just not bother to make a ParamModel for it. So, even letting the XML layer get a list of ParamModels has some problems. Overall, I see this as being of marginal value. What's the point of editing the XML by hand? How would you send it back to the synth? You'd have to use JSL. The only reason, then, to avoid using a GUI editor is if JSL supported some kind of console-mode, where you could send patches to a synth from a command-prompt.... which means having command-line switches for midi channel and interface selection. Ugh. I really don't see it getting used nearly enough to justify the effort. - Joe |