From: Martin T. <m.t...@zo...> - 2011-12-29 09:37:46
|
On Thu, 29 Dec 2011, Chris Wareham wrote: > Martin Tarenskeen said on 28/12/11 22:42: >> >> Hi Chris, >> >> I'm attaching the patchlib file I am using for testing. >> > > Hi Martin, > > I've commited a change to the AbstractLibraryFrame and Patch classes in > order to handle conversion from core.Patch to org.jsynthlib.core.Patch. > The patches seem to load and are being identified as Yamaha patches, > but not specifically TX81Z ones. I'll test with the trunk version of > JSynthLib to see if this is the same behaviour there, and if not I'll > work out why tomorrow. I am not completely happy with the TX81Z and DX100 drivers anyway. In the (I hope not too far) future I hope to be able to develop drivers that should work on the complete TX81Z "compatible" 4-op FM synths: A driver to support: DX21/27/100, DX11, TX81Z, WT11 A driver to support: YS100/200/B200/TQ5, V50, and DS55 The problem is: All these synths use the same SysEx bank format (32 patches) but bytes that are described as "usused" or "reserved" in the SysEx specs for one synth but are really used for new parameters in another synth. This should not be a big problem. Such parameters will not be recognized by some synths, but the JSynthLib drivers should be careful not to overwrite such "unused" parameter addresses with NULL values. (I have not checked yet what the current TX81Z and DX100 drivers do). For example it should be possible to load and save a TX81Z patch or bank in a DX21 ignoring the TX81Z additional parameters, but without loosing them. This is perfectly possible to handle when using the bank format (VMEM), but is a problem for separate patches: There are SIX different SysEx data formats for this: VCED (all models), ACED (TX81Z and newer), ACED2 (DX11, V50), ACED3 (V50), EFEDS (YS100/200/B200/TQ5), DLY (DS55). Therefore, in my opinion, a "universal" driver for Yamaha 4-op FM synths should store patches and banks in the compressed VMEM bankformat (128 bytes of data for one patch) even when storing individual patches. Only when sending single patches to the synth this should be converted to VCED/ACED/etc. sysex editbuffer format. Such a driver would be usable on a complete family of Yamaha synths! -- MT |