|
From: Daniel R. <dr....@co...> - 2007-12-22 01:42:04
|
Hello all.
First off, thanks to those who responded to me privately, who probably meant
to reply to the list. The answer to my last questions were "set the
checksumOffset, start, and end values." That worked.
So now I've advanced quite a bit in my HelloWorld, and now I have the
following code
super.trimSize = 16;
super.checksumOffset = 14;
super.checksumStart = 6;
super.checksumEnd = 13;
byte[] first = new byte[] {
(byte)0xF0, // It's a MIDI System
exclusive message!
0x41, // Roland ID
0x10, // Device ID 17 (minus
one)
0x00,0x2E, // Model ID 2E for
HPD-15
0x12, // Command ID (this is
data set, could be a request 0x11)
0x01,0x00,0x10,0x00, // the offset for the
user kit, pad A1
0x00, 0x00, 0x07,12, // the nibbled data for
the shekere 124
(byte)0xFF, // checksum will go here
(byte)0xF7 // end
};
which works perfectly for ONE parameter change (I'm amazed. I had never
nibbled before :). But now I want to send an entire kit (pads A1, A2, etc.).
I've tried the two obvious things, making two sysexs back to back (they get
trimmed to one, otherwise the checksum would be calculated just once). I've
also tried putting in more than one offset and data (message was received
but didn't do the right thing).
I can send more than one sysex message, but I imagine there's a better way.
Thanks in advance for your help!
Best,
Daniel
|