From: Christoph E. <ce...@ch...> - 2006-03-07 20:12:17
|
Hi, still I cannot build JSynthLib from CVS, I guess it is due to the addition of jdom. But anyway I already would like to dive a bit into writing an XML driver. I wonder if I can simply start by creating the directories org/jsynthlib/jsynthlib/synthdrivers/maudio/midisport8x8/ and copy over the file YamahaMotif.xml as MaudioMidisport8x8.xml. No I start editing it. The first thing that wonders me is the <inquiryid>F07E7F06024300417[CDE]040000007FF7</inquiryid><!-- regex --> from the Yamaha Motif file. Is this the answer awaited *from* the device after sending a request or is this the Request to be *sent* to the device? As I did reverse engineer the device, I know the requests to be sent to it to retreive its memory contents. But I do *not* know if there is a special command to simply ask it "are you connected to the MIDI network?". Do I need it? Which data do I need to enter into <inquiryid></inquiryid>? Now the driver part. As I'm not that familiar with the Yamaha Motif, the example doesn't help here. So step by step: The memory of the Midisport 8x8 consists of 1 package of 27 bytes containing the global data and 8 packages containing one patchbay definition each. There's no checksum at all. So how to start? I read: <driver> <!-- should this have another name? --> <name>Normal Voice</name> <!-- inherit authors? --> <banknames> <name>User</name> </banknames> <patchnames> <sequence id="patchnums"> <variable>id</variable> <start>0</start> <end>127</end> <!-- format 0 to A-1, 17 to B-2, etc --> <value>"${(char)(65 + id/16)}-${id%16 + 1}"</value> </sequence> </patchnames> <!-- the following are defaults to be inherited by sysex blocks --> <decoder type="BE 7bit words" /> <checksum type="twos complement"> <start>3</start><!-- byte offset, doesn't include status byte --> <end>-2</end> <address>-1</address> </checksum> <patch file="normal_voice.xml" /> <editor>test2.xml</editor> <class>normal_voice.groovy</class> </driver> Sorry, but I really don't know how to translate this for the Midisport 8x8, so any help would be cool to get me started. Best regards ce |