From: Jeff W. <jww...@ya...> - 2005-02-23 19:45:48
|
Joe, The Behringer FCB1010 MIDI foot controller has a similar format. Check out FCB1010ParamModel.java in the BehringerFCB1010 package. There are two methods, deNibblize, which converts the 8 byte format to the seven byte format and reNibblize which converts it back again. This might not be exactly the same but you could copy this code and modify it to suit your needs. Jeff > --- Joe Emenaker <jo...@em...> wrote: > > > I'm reading the sysex spec on the Alesis SR-16 > drum > > machine. > > > > Since it uses full 8-bit values in for some > > settings, it turns each set > > of 7 8-bit bytes into 8 7-bit bytes. > > > > Seems like it would be something that happens in > > other synths. Is there > > already a function in JSL that does this so that I > > don't have to write > > it again? > > > > - Joe > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT > > Products from real users. > > Discover which products truly live up to the hype. > > Start reading now. > > > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > > _______________________________________________ > > Jsynthlib-devel mailing list > > Jsy...@li... > > > https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel > > > > > > __________________________________ > Do you Yahoo!? > Take Yahoo! Mail with you! Get it on your mobile > phone. > http://mobile.yahoo.com/maildemo > __________________________________ Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. http://promotions.yahoo.com/new_mail |
From: Joe E. <jo...@em...> - 2005-02-23 22:59:48
Attachments:
smime.p7s
|
Jeff Weber wrote: >There are two methods, deNibblize, which converts >the 8 byte format to the seven byte format and >reNibblize which converts it back again. > >This might not be exactly the same but you could copy >this code and modify it to suit your needs. > > This is what I was concerned about in my original post.... that it's common enough that people have implemented it several times in various synthdrivers. We should see if the FCB1010 does it the same way as the Alesis and/or the XML driver and, if they're the same, move them into the general synthdriver utils. I can only think of *two* different ways of doing the conversion that aren't completely insane... and one of them makes a lot more sense than the other. So, it's very likely that they're all the same and we can have a global deNibbilize/reNibbilize. - Joe |
From: Jeff W. <jww...@ya...> - 2005-02-24 01:20:38
|
--- Joe Emenaker <jo...@em...> wrote: > This is what I was concerned about in my original > post.... that it's > common enough that people have implemented it > several times in various > synthdrivers. > > We should see if the FCB1010 does it the same way as > the Alesis and/or > the XML driver and, if they're the same, move them > into the general > synthdriver utils. I can only think of *two* > different ways of doing the > conversion that aren't completely insane... and one > of them makes a lot > more sense than the other. So, it's very likely that > they're all the > same and we can have a global > deNibbilize/reNibbilize. > > - Joe > For each group of seven bytes the FCB1010 takes bit 8 from each byte and creates and 8th byte at the end of the group. The representation of the 8th byte is: 0, msb byte 6, msb byte 5, msb byte 4...msb byte 0 Make sense? I just took a quick look at the Aleses sysex spec and I suspect that they might be putting the eighth byte at the beginning of the sequence (although I did not read deep enough into it to tell for sure). You would also have to know if they're storing the bits of the eighth byte in the same order or the opposite order as the FCB1010. Jeff __________________________________ Do you Yahoo!? Yahoo! Mail - 250MB free storage. Do more. Manage less. http://info.mail.yahoo.com/mail_250 |
From: Joe E. <jo...@em...> - 2005-02-24 02:11:34
Attachments:
smime.p7s
|
Jeff Weber wrote: >--- Joe Emenaker <jo...@em...> wrote: > > >>I can only think of *two* >>different ways of doing the >>conversion that aren't completely insane... >> >> >For each group of seven bytes the FCB1010 takes bit 8 >from each byte and creates and 8th byte at the end of >the group. The representation of the 8th byte is: >0, msb byte 6, msb byte 5, msb byte 4...msb byte 0 > >Make sense? > > Doh! That's one of the "insane" ways. :) After thinking about it, it's probably not all that insane. In fact, the code to to the encoding/decoding is probably tighter than the code to do it the Alesis way. The Alesis way is a little easier to draw on paper. Just take the meaningful 7 bits of the eight MIDI bytes and string them together. You now have 56 bits. Take the first 8 and that's your first "real" byte, the next 8 are your next byte, etc. So, MIDI bytes like 0x37 0x21 0x44 ... would give you a string of bits like: 0110111 0100001 1000100 ... re-grouped as 8-bit sets, you get: 01101110 10000110 00100... or... 0x6E 0x86 ... Anyhow, I'm still not convinced that each synthdriver author should have to re-write nibbilizers each time. I'm sure that there are a fixed number of ways were going to see this done in real life... and they're all going to need to be accessible to the XML driver *anyway*... so I still vote for consolidating them somewhere. - Joe |
From: Rib R. <ri...@gm...> - 2005-02-24 17:13:47
|
On Wed, 23 Feb 2005 18:16:07 -0800, Joe Emenaker <jo...@em...> wrote: > Jeff Weber wrote: > Anyhow, I'm still not convinced that each synthdriver author should have to > re-write nibbilizers each time. I'm sure that there are a fixed number of > ways were going to see this done in real life... and they're all going to > need to be accessible to the XML driver *anyway*... so I still vote for > consolidating them somewhere. I've got to run now, but I'll try to write some documentation on the architecture of the XML driver and plugin system today or tomorrow to help with this. |