Hi there, I'll try to answer some of your questions, but unfortunately i don't know how to put both ranges on the same controller. CC's 6 and 38 represent the high and low bits of the NRPN value, respectively. Each byte represents 7 bits of data, so if you have this: > 6 127 > 38 126 <== 52% dry, 48% wet then this is equal to: the high bits shifted 7 places to the left + the low bits, or ( 127 << 7 ) | 126 which is 16382 On a calculator that doesn't do bit operations you can do high bits * 2^7 + low bits, or 127*2^7+127 So your two ranges are decimal high bits low bits 49-0 0 49-0 16383-16334 127 127-78 > Seems to me the difference between "6 > 127" and "6 0" may be one bit flipped? well that would make a lot of sense - Usually you take the most significant (highest) bit for the sign, so that the values would be: 1 : 0<<13 | 1 = 1 -1 : 1<<13 | 1 = 8193 -49 : 1<<13 | 49 = 8241 This gives you a 14 bit range of 8191 positive and 8191 negative values. Unfortunately that's not what Alesis have done! Instead they seem to have opted for rolling the values around from 0 to max, giving you two distinct ranges. As i said, I don't know how to put that on one controller. Maybe with some clever tx command it is possible. Good luck! /m
Message
Re: [bc2000] Re: How to make BC buttons send 14bit NRPN values?
2009-12-21 by Martin Klang
Attachments
- No local attachments were found for this message.