TODO: This page should be more than the copied text from the API.

There's a table describing the methods of Driver, Converter and BankDriver,
and the same for PatchBasket, patchEditorFrame and BankEditorFrame.

Here's a list of all classes in core.*

Generated API documentation

You can find the api-docs in the source folder /JSynthLib/doc/api_docs/index.html on your own desktop,
(sometimes you'll find in /JSynthLib/dist/javadoc/index.html)
or browse to these pages online .

Basic Concepts:

Driver :class to work with a certain type of Patch
Device : class to describe a Synth: what's the name, drivers, authors of the code, manufacturer
...

BankDriver : special Driver class to work with a Patch or a Bank Patch
Patch : Object that holds one or multiple SysEx messages (+ other describing info).
Converter : special Driver class to convert a Bank Patch into an array of Single Patches.
Bank Patch : special Patch class that holds other Patches.
Single Patch : Patch that doesn't hold multiple Patches but can hold multiple sysex messages.

Scene : A container for all patches and their explicite bank/patch locations at the synths for a concrete singular song/sound. You can put all needed patches of all used synths in one scene and transfer the whole stuff in one step to your synths.


--------------------------------------------

old stuff !!

core

Class Driver


Implemented Interfaces:core.IPatchDriver----
public abstract class Driverextends Objectimplements core.IPatchDriver----
This is an implementation of ISingleDriver and the base class for single drivers which use Patch.
Compatibility Note: The following fields are now private. Use setter/getter method to access them.
       device, patchType, authors
 
Compatibility Note: The following fields are now obsoleted. Use a getter method to access them. The getter method queries parent Device object.
       deviceNum, driverNum,
       channel, port, inPort, manufacturer, model, inquiryID, id
 
Compatibility Note: SysexHandler.send(getPort(), sysex); or PatchEdit.MidiOut.writeLongMessage(getPort(), sysex); was replaced by send(sysex); Version:$Id: Driver.java,v 1.72 2005/02/12 15:58:45 hayashi Exp $Author:Brian KlockSee Also:Patch

Field Summary (Details)

protected String[]
bankNumbers Array holding names or numbers for all banks.
protected int
checksumEnd End of range that Checksum covers.
protected int
checksumOffset Offset of checksum byte.
protected int
checksumStart Start of range that Checksum covers.
protected int
deviceIDoffset Offset of deviceID in sysex.
protected int
numSysexMsgs Number of sysex messages in patch dump.
protected int
patchNameSize Number of characters in the patch name.
protected int
patchNameStart The offset in the patch where the patchname starts.
protected String[]
patchNumbers Array holding names/numbers for all patches.
protected int
patchSize The size of the patch this Driver supports (or 0 for variable).
protected String
sysexID The hex header that sysex files of the format this driver supports will have.
protected core.SysexHandler
sysexRequestDump SysexHandler object to request dump.
protected int
trimSize The size of the patch for trimming purposes.

Constructor Summary (Details)

Driver(String patchType, String authors) Creates a new Driver instance.

Method Summary (Details)

protected void
calculateChecksum(core.Patch p) Calculate check sum of a Patch.
protected static void
calculateChecksum(core.Patch patch, int start, int end, int offset) Calculate check sum of a Patch.
boolean
canCreatePatch() Check if this driver supports creating a new patch.
protected void
choosePatch(core.Patch p)Deprecated. Nobody uses this method now.
protected void
choosePatch(core.Patch p, int bankNum, int patchNum)Deprecated. Nobody uses this method now.
protected core.Patch
createNewPatch() Create a new Patch.
core.IPatch
createPatch()
core.IPatch
createPatch(byte[] sysex)
core.IPatch[]
createPatches(SysexMessage[] msgs)
protected core.JSLFrame
editPatch(core.Patch p) Override this if your driver implement Patch Editor.
String
getAuthors()
String[]
getBankNumbers()
int
getChannel() Return MIDI channel number.
core.Device
getDevice()
int
getDeviceID() Return MIDI devide ID.
(package private) int
getDeviceNum()Deprecated. Don't use this.
(package private) int
getDriverNum()Deprecated. Don't use this.
protected String
getFullPatchName(core.Patch p) Returns String ..
int
getInPort()Deprecated. use getDevice().getInPort()
protected String
getManufacturerName() Return the name of manufacturer of synth.
protected String
getModelName() Return the name of model of synth.
protected String
getPatchName(core.Patch p) Gets the name of the patch from the sysex.
int
getPatchNameSize() Getter of patchNameSize.
String[]
getPatchNumbers()
String[]
getPatchNumbersForStore()
int
getPatchSize()
String
getPatchType()
protected int
getPort() Deprecated. use getDevice().getPort()
protected String
getSynthName() Return the personal name of the synth.
(package private) boolean
hasEditor()
boolean
isBankDriver()
boolean
isConverter()
boolean
isSingleDriver()
protected void
playPatch(core.Patch p) Play note.
void
requestPatchDump(int bankNum, int patchNum) Request the synth to send a patch dump.
void
send(MidiMessage msg)
void
send(byte[] sysex) Send Sysex byte array data to MIDI outport.
void
send(int status, int d1)Send ShortMessage to MIDI outport.
void
send(int status, int d1, int d2)Send ShortMessage to MIDI outport.
void
sendParameter(core.IPatch patch, core.SysexWidget.IParameter param)
protected void
sendPatch(core.Patch p) Sends a patch to the synth's edit buffer.
protected void
sendPatchWorker(core.Patch p) Set Device ID and send the sysex data to MIDI output.
protected void
setBankNum(int bankNum) Send Control Change (Bank Select) MIDI message.
void
setDevice(core.Device d)
protected void
setPatchName(core.Patch p, String name) Set the name of the patch in the sysex.
protected void
setPatchNum(int patchNum) Send Program Change MIDI message.
protected void
storePatch(core.Patch p, int bankNum, int patchNum) Sends a patch to a set location on a synth.
boolean
supportsPatch(String patchString, byte[] sysex) Compares the header & size of a Patch to this driver to see if this driver is the correct one to support the patch.
String
toString()
protected int
trimSysex(core.Patch patch) This method trims a patch, containing more than one real patch to a correct size.