|
Post by halxbass on May 21, 2015 15:32:41 GMT
Hi, I'm VERY happy to have found your App today. It was EXACTLY what I needed to overcome the "latch-switching" issue of the blueboard.
Now here's my situation: My blueboard is sending CC00-03 Where A=CC00, B=CC01, C=CC02, D=CC03 I want to use the blueboard to change the pages in a pdf reader app called "ForScore". Forscore accepts MIDI events and maps it to its command using a MIDI learn function.
So after searching a bit on your forum, I made a first attempt at remapping the blueboard using the Stream Byter. Here's what I first tried. B1-F = XX +B B0 00-03 = XX XX 7F
It worked great to convert BB's latching to Momentary switching BUT, since I don't know how to tell Forscore to ignore the MIDI from Blueboard and ONLY listen to the MIDI coming from MidiBridge, I got double triggering. (2 Pages changing instead of only 1)
So I figured I'll use MidiBridge to remap ONLY when the Blueboard is sending the "00" value and leave the "7F" value coming directly from the Blueboard.
I came up with this solution: I find it's quite bulky but it seems to be doing what I need.: B1-F = XX +B B0 00 7F = B0 00 7F +B B0 01 7F = B0 01 7F +B B0 02 7F = B0 02 7F +B B0 03 7F = B0 03 7F +B
B0 00 00 = B0 00 7F B0 01 00 = B0 01 7F B0 02 00 = B0 02 7F B0 03 00 = B0 03 7F
I'd like to ask you if you have a more streamlined and optimized suggestion of doing the same thing I'm trying to do?
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on May 21, 2015 16:32:15 GMT
Hi halxbass, Right, so what you are effectively doing is blocking all the offs but converting all the ons to offs. Your first attempt converted all offs or ons to ons. I suspect that was causing the double triggering to start with. You could try: # filter out all blueboard off events (and dupe channels) B1-F = XX +B BX 01-03 00 = XX +Bwhich simply blocks off all the offs so when forscore is learning it will only ever see an on. Regards, Nic.
|
|
|
Post by halxbass on May 21, 2015 17:07:45 GMT
Hi halxbass, Right, so what you are effectively doing is blocking all the offs but converting all the ons to offs. Just to be sure I understand, 00=OFF & 7F=ON Right? You could try: # filter out all blueboard off events (and dupe channels) B1-F = XX +B BX 01-03 00 = XX +Bwhich simply blocks off all the offs so when forscore is learning it will only ever see an on. But my problem is the other way around: ForScore only sees the ONs. But the blueboard always toggle between ON & OFF. So I must remap the OFFs from the Blueboard to ONs so I can trigger the action every single time I step on the pedal. But, back to my main question: "Do you think there's a shorter way of writing the same code I did?" B1-F = XX +B B0 00 7F = B0 00 7F +B B0 01 7F = B0 01 7F +B B0 02 7F = B0 02 7F +B B0 03 7F = B0 03 7F +B B0 00 00 = B0 00 7F B0 01 00 = B0 01 7F B0 02 00 = B0 02 7F B0 03 00 = B0 03 7F
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on May 21, 2015 18:17:14 GMT
Hi halxbass, Aah, yes sorry. I understand. The BB ON is being received by forscore from the BB directly and you are remapping just the OFF to ON and forscore will see those coming in from MidiBridge. Here's a more condensed set of rules; they are not likely to be any more efficient in operation, just neater B1-F = XX +B B0 00-03 7F = XX +B B0 00-03 00 = XX XX 7FRegards, Nic.
|
|