From: federico <xa...@in...> - 2005-03-09 21:05:11
|
>> >> F0 >> <id:roland> >> <model:mks7> >> <opcode:param_change/tone_change> >> <midi channel> >> <data ...> >> F7 >> > > Is the <midi channel> different for each part? yes > If so and <opcode> is a fixed size, you could write a SysexID that > would only match the correct patches that want on that channel. > note: the channel should remain user-configurable. forcing to channels 1, 2 and 3, make the patch not-portable (by the driver implementation) > We need to figure out an interface that would allow multiple synths of > the same type to work better than they do now without hardcoding midi > channels or ports or anything, since these are setup dependant and > could be changed when > the library is re-opened. possible solution: add a column (a field) in the patchlib db to force the SynthID value to match that specified in the driver settings. if this field is empty, then the SynthID is guessed from sysex header. if this field is set, try to match it with SynthID in the driver's preferences. if the match fails, fall back to automatic SynthID guessing. > PatchLibs /SceneLibs could store some sort of driverID unique to your > setup with each patch that could be either set or blank. If it is set, > that driver is used, if it is blank or if the driverID does not exist, > JSynthLib sets the driver using > the SysexID. i guess we are talking about the same thing :-D > The driverID would be kind of a cache for the results of the patch > assign process which is also modified by the "Reassign" command. i think this is the better solution. let's wait for other's opinions -- Federico |