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
    • D: MIDI 3 => Stop All
  • Space B active:

    • A: MIDI 4 => Previous Group
    • B: MIDI 5 => Next Group
    • C: MIDI 6 => Previous Loop
    • D: 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:

  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

  DownStartTime = SystemTime

  If SystemTime - DownStartTime <= longTapTime
    Call @ShortTap
    Call @LongTap

  // Log {Short Tap: }, MidiNote

  Call @SendNoteFromCurrentSpace

  // Log {Long Tap: }, MidiNote

  Call @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
    Log {ERROR - Unexpected MidiNote: }, MidiNote

  Log {Activated space: }, activeSpace

  baseNote = -1
  noteToSend = -1

  if activeSpace = spaceA
    baseNote = 0
  elseif activeSpace = spaceB
    baseNote = 4
  elseif activeSpace = spaceC
    baseNote = 8
  elseif activeSpace = spaceD
    baseNote = 12

  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

  SendMidiOut MIDIByte1, noteToSend, 100
  SendMidiOut MIDIByte1, noteToSend, 0
  Log {Sent Midi: }, noteToSend


  • 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:

    Seems Audiobus forums are a better place to discuss about stuff like this. :wink:

  • Great job Josh, yep there's more traffic for this kind of thing over on AB forum.

Sign In or Register to comment.