Hey Matthew, huge bump up from the past but this is exactly the place I think.
First off, your tutorials are amazing, thank you so much for taking the time.
I was wondering if you could elaborate on mapping toggle midi pads to the buttons in this example?
I’ve had a look pretty deep (and am still very new) and I am having trouble finding the exact way to select the buttons via midi, while simultaneously turning off the midi pad that was previously on.
Right now I’m running my midiinmap chop into a select chop, but am having some issues with the Chop Execute syntax to handle the switching.
Any examples/links/references to ways to do this would be massively appreciated.
EDIT
I was able to figure this out.
First — As my controller (AKAI LPD8) has pads that can either be set through the supplied mapper to toggle or momentary, I selected momentary
Second — Back in Touch, I added the buttons to the table_lookup in the example in just the “midi_map” column, corresponding to my midi device mapping. I left target_panel, val, and invert blank as to not mess with the code in the select CHOP’s CHOPexec.
Third — I added a midi in DAT, and in the callbacks wrote a super basic python script:
[code]def onReceiveMIDI(dat, rowIndex, message, channel, index, value, input, bytes):
if message == ‘Note On’:
if channel == 1 and index == 41:
op('container1/container1/button1').click();
print( "this is LPD pad 5" )
print( message, channel, index, value )
if channel == 1 and index == 42:
op('container1/container1/button2').click();
print( "this is LPD pad 6" )
print( message, channel, index, value )
if channel == 1 and index == 43:
op('container1/container1/button3').click();
print( "this is LPD pad 7" )
print( message, channel, index, value )
if channel == 1 and index == 44:
op('container1/container1/button4').click();
print( "this is LPD pad 8" )
print( message, channel, index, value )
if channel == 1 and index == 37:
op('container1/container1/button5').click();
print( "this is LPD pad 1" )
print( message, channel, index, value )
if channel == 1 and index == 38:
op('container1/container1/button6').click();
print( "this is LPD pad 2" )
print( message, channel, index, value )
if channel == 1 and index == 39:
op('container1/container1/button7').click();
print( "this is LPD pad 3" )
print( message, channel, index, value )
if channel == 1 and index == 40:
op('container1/container1/button8').click();
print( "this is LPD pad 4" )
print( message, channel, index, value )
return[/code]
Obviously this can be cleaned up and made more sophisticated, but it works simply to trigger the scene buttons in the container, circumventing the limited on/off mapping in the MIDI device mapper dialogue.
Hope this helps someone.