2. Step-by-step: Library support

Having library support means being able to save and load sysex data from and to your synth.

2.1. synthDevice

This file is the file to start with.
First just declare and construct the new Device class, then run this in your terminal:
you@yourlinux:~/JSynthLib/$ java core/DeviceListWriter
The result is that the file "synthdrivers.properties" should now contain text that describes and defines your new synthlib device driver. You can check that this is true by opening the file and doing a search for the name of your device. The example below shows the new entries created for the KorgHAWK800.

#Generated devicesfile
#Thu Aug 20 04:05:04 EDT 2009
manufacturer.KorgHAWK800=Korg
deviceName.KorgHAWK800=Korg HAWK-800 Driver
deviceClass.KorgHAWK800=synthdrivers.KorgHAWK800.KorgHAWK800Device
inquiryID.KorgHAWK800=F07E..0602400000040000000000f7


Example: RolandSPD11Device

2.2. synthPatchDriver

A patchdriver can save and load a single patch.
It has certain methods you always have to override, other methods only have to be overridden in case your synth's design asks for it.
A patch can be a single or a set of MIDI system exclusive messages of a sound data, etc. (A single System Exclusive message starts with "F0" and ends with "F7".)
Driver holds a variable for the number of sysex messages in a single Patch, but that variable is not used.

Example: SPD11PadDriver

2.3. synthBankDriver

A bankDriver is what you use to save or load a bank of patches.
I think it does this by calling the patchdriver and other drivers that are needed to get all data of a bank.
This is what the programmer's guide states about the BankDriver:
Bank Driver provides routines to support a Bank Patch.
A Bank Driver extends {@link core.IPatchDriver} and allows JSynthLib to combine a single patch into a bank patch and to extract a single patch from a bank patch. While this functionality isn't strictly necessary, it is nice to have if your synth supports bulk dump patch.
A Bank Driver can have a Bank Patch Editor. But you don't have to take care of it because usually the default editor can be used.
What do they mean by 'default editor' ? The default JSynthLib Library window or Scene window, or is there a default JSynthLib BankEditor ?
Is the BankDriver some sort of converter to convert bulk dumps into single patches ?
More research is needed ...