The Novation Launch Control XL is a great midi controller to use with the ipad (in low power mode) to control AUM. For me it’s annoying that the LEDs dont automatically change to reflect their values.
This mozaic midi effect needs to be setup in AUM to receive midi from the Launch Control XL AND send to the Launch Control XL.
The code ensures that all LEDs run in low power mode and also forces the Launch Control XL to select factory configuration #1 to avoid possible mapping problems.
Tested for a few hours yesterday. I think everything is working just fine. It’s not a complicated script!
Enjoy
P.S. The code is a mix of different code and ideas from roland, derwent, _ki, mcD. Thanks
Does it only work with AUM for the light’s? I was trying to use it with Loopy Pro as my DAW. I just wanted the bottom pads to light up as they are used to toggle FX on and off.
I dont know Loopy Pro that well but if you can route the launch control to a mozaic instance in LP and loopy pro can send sysex back to the launch pad then yes.
I tried to get it to work in drambo but unfortunately dranbo doesnt sent sysex messages so I had to run the program in a separate program. I used midifire but there are a few different ones you can use.
Ill post the mod to only affect the bottom leds below
@OnLoad
SetShortName {LC_LEDS}
sysButton[] = [ 0x00, 0x20, 0x29, 0x02, 0x11, 0x77, 0x08, 0x00, 0x00 ]
SendSysex sysButton, 7 // force factory template mode
sysButton[] = [ 0x00, 0x20, 0x29, 0x02, 0x11, 0x78, 0x08, 0x00, 0x00 ]
states[] = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
// notes are default button midi note for factory #1
notes[] = [ 41, 42, 43, 44, 57, 58, 59, 60, 73, 74, 75, 76, 89, 90, 91, 92 ]
// ccs are default knob midi cc for factory #1
ccs[] = [13, 14, 15, 16, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 36, 49, 50, 51, 52, 53, 54, 55, 56]
// turn off all leds
for i = 0 to 39 //24 knobsand 16 buttons
sysButton[7] = i
sysButton[8] = 12
SendSysex sysButton, 9 // uncomment resets at startup
endfor
@End
@OnMidiNoteOn
for i = 8 to 15
if MIDIByte2 = notes[i]
sysButton[7] = 24 + i
if states[i] = 1
states[i] = 0
sysButton[8] = 28
if i > 7 // botton row of pads
sysButton[8] = 13
endif
else
states[i] = 1
sysButton[8] = 12
endif
SendSysex sysButton, 9
// log sysButton[7], { }, sysButton[8]
endif
endfor
@End
@OnMidiCC
for i = 0 to 24
if MIDIByte2 = ccs[i]
sysButton[7] = i
if MIDIByte3 > 90
sysButton[8] = 13
elseif MIDIByte3 > 60
sysButton[8] = 28
elseif MIDIByte3 > 30
sysButton[8] = 29
else
sysButton[8] = 12
endif
SendSysex sysButton, 9
// log i, { }, MIDIByte3
endif
endfor
@End