Bank Change Messages

sjcaldwell

2016-12-22 16:19:12

Hi,

I looked on the forum before posting but maybe I missed it. If so, I apologize in advance.

With BMT when you select bank change it sends CC0, CC32 and Program message. LSB MSB and PC. This is fine, however it seems
that there is no parameter to use for MSB so I have to send raw midi messages if I want to change MSB. Is there a reason BMT is set
up that way? It would be nice if there would be an optional parameter for MSB and if left unchecked would send only LSB.

It is a bit of a nit, but would like this added to BMT wish list for some future release. In the meantime I will use raw midi data.

florian

2016-12-28 16:16:41

Hi sjcaldwell,
sorry for the late reply (all that christmas business...:) ). MT Pro's Bank Change action tries to simplify matters by treating the bank space as one single number range from 0 to 16383:
BankChange.jpg
BankChange.jpg (12.39 KiB) Viewed 2909 times
Therefore it is MSB and LSB combined, and you can, e.g. switch to bank 13000 directly.

Do you think we should also give the option to alternatively specify the bank number in MSB and LSB separetely?

Thanks,
Florian

sjcaldwell

2016-12-28 16:51:54

No I think we are OK. I didn't know that you combined MSB and LSB into a single number. Good to know and now that I know, it will simplify things considerably.

Are MSB and LSB Each counted as 7 bits in the combined number or do you put 2 8 bit values together and discard the high bit of each byte?

Maybe if you could better explain by telling me if I want MSB 1 and LSB 0 whether I would use 256 or 128?

0100 = 256 - High bit of each discarded
0080 = 128 - MSB uses bit 8

florian

2017-01-30 06:29:11

Hi sjcaldwell,
again, sorry for the late reply. We've piled a pretty long backlog...

For calculation, we only use 7-bit arithmetic, so you need to multiply/divide by 128:

MSB=bank / 128
LSB=bank % 128

bank=(MSB*128) + LSB

Best,
Florian