Assigning custom MIDI notes from my BlueBoard (altered through AUM and Mozaic) doesn't work
Hey guys
It's me again, after quite a while. I have an iRig BlueBoard now and I'm trying to expand its usefulness by writing custom Mozaic scripts that intercept the BlueBoard's inputs and send some custom MIDI notes.
For example, I want to activate different "spaces" by long-tapping on one of each 4 pads (A, B, C, or D), and then when short-tapping, different MIDI signals are sent through (using channel 1) so I can assign them to various functions in GTL:
Space A active:
- A: MIDI 0 => Record/Overdub
- B: MIDI 1 => Decrease Clock Length
- C: MIDI 2 => Increase Clock Length
- MIDI 3 => Stop All
Space B active:
- A: MIDI 4 => Previous Group
- B: MIDI 5 => Next Group
- C: MIDI 6 => Previous Loop
- MIDI 7 => Next Loop
Etc.
This seems to work pretty well so far, but for some reason, when assigning one of the signals inside GTL, it is not applied. The MIDI signal is recognised and seemingly assigned, but when pressing "Done", it's not assigned.
As you can see, the custom MIDI signal is recognised (CH:1, Note: 2):
But when pressing "Done", it is reverted (for some reason, it switches to 60):
If I instead select the BlueBoard directly in "MIDI Port" (instead of Virtual MIDI, which is sent through AUM with Mozaic loaded), assigning works:
...even after pressing "Done":
Any idea what's going on? I don't really spot the difference. One thing I spot though is that with "Virtual MIDI" selected, the option for Tap/Hold is greyed out, in contrast to native BlueBoard (see screenshots above).
Any help is highly appreciated.
If anyone is interested, here's the Mozaic script so far:
@OnLoad Log {Joshua wants to be a pop band} // BlueBoard (BB) pads bbA_in = 60 bbB_in = 62 bbC_in = 64 bbD_in = 65 // BlueBoard pad states bbDown = 100 bbUp = 0 spaceA = 0 spaceB = 1 spaceC = 2 spaceD = 3 activeSpace = spaceA longTapTime = 200 // Milli seconds @End @OnMidiNoteOn DownStartTime = SystemTime @End @OnMidiNoteOff If SystemTime - DownStartTime <= longTapTime Call @ShortTap Else Call @LongTap Endif @End @ShortTap // Log {Short Tap: }, MidiNote Call @SendNoteFromCurrentSpace @End @LongTap // Log {Long Tap: }, MidiNote Call @ActivateSpace @End @ActivateSpace if MidiNote = bbA_in activeSpace = spaceA elseif MidiNote = bbB_in activeSpace = spaceB elseif MidiNote = bbC_in activeSpace = spaceC elseif MidiNote = bbD_in activeSpace = spaceD else Log {ERROR - Unexpected MidiNote: }, MidiNote endif Log {Activated space: }, activeSpace @End @SendNoteFromCurrentSpace baseNote = -1 noteToSend = -1 if activeSpace = spaceA baseNote = 0 elseif activeSpace = spaceB baseNote = 4 elseif activeSpace = spaceC baseNote = 8 elseif activeSpace = spaceD baseNote = 12 endif if MidiNote = bbA_in noteToSend = baseNote + 0 elseif MidiNote = bbB_in noteToSend = baseNote + 1 elseif MidiNote = bbC_in noteToSend = baseNote + 2 elseif MidiNote = bbD_in noteToSend = baseNote + 3 endif SendMidiOut MIDIByte1, noteToSend, 100 SendMidiOut MIDIByte1, noteToSend, 0 Log {Sent Midi: }, noteToSend @End
Comments
PS: I created a small video demonstrating the issue.
Interesting fact: when I try to assign the modified MIDI signals inside AUM, it doesn't work either. In this case though, the received signal looks like it is indeed applied to a function, but when pressing the respective pad on the BlueBoard, the function is not executed.
And again: when I switch the MIDI input from Mozaic to "plain ol'" BlueBoard, it works fine. So something with the MIDI that is sent from Mozaic definitely isn't correct yet.
I found the problem and described it here: https://forum.audiob.us/discussion/comment/830049/#Comment_830049
Seems Audiobus forums are a better place to discuss about stuff like this.
Great job Josh, yep there's more traffic for this kind of thing over on AB forum.