Huh. Well, that wasn't so hard.
Midi Translator is amazing.
This sort of a thing per knob:
Code: Select all
Preset 2: LS9 nK2 knobs
Translator 2.0: knob 1 timer
Options: stop=false
Incoming: nK k1 incremental
Rules:
if pp!=127 then skip next rule
k1=0
if pp!=63 then skip next rule
k1=127
if pp!=1 then skip next rule
k1=k1+1
if pp!=65 then skip next rule
k1=k1-1
Label "scale up"
qq=k1*16
Label "truncate to MSB"
j1=qq/240
rr=j1*240
Label "subtract to LSB"
ja=qq-rr
Outgoing: One-shot timer "nK2 k1": 0 ms delay
Translator 2.1: ch25
Options: stop=false
Incoming: On timer "nK2 k1"
Outgoing: MIDI F0 43 10 3E 12 01 00 33 00 00 00 18 00 00 00 j1 ja F7
So, attached is the fully working preset to run page 2 of a Yamaha LS9-16 with a Korg nanoKontrol2.
Mutes are LS9 channel Ons 17-24, lit when the channel is on as per the console.
Solos are LS9 Solos 17-24
Records are LS9 channel Ons 25-32.
Buttons track each other both ways.
Since the nanoKontrol2 faders and knobs aren't motorized, the LS9 tracks the nK2 but not vice versa.
There is no automated synchronization, which means that after you fire it up or load a new scene into the LS9,
you have to move all the faders and knobs on the nK2, and push all of the relevant buttons on either unit.