Skip to content

Instantly share code, notes, and snippets.

@vinc6
Last active July 23, 2020 04:59
Show Gist options
  • Save vinc6/03a6ffb65af2fa2e26e02da8c7851ddc to your computer and use it in GitHub Desktop.
Save vinc6/03a6ffb65af2fa2e26e02da8c7851ddc to your computer and use it in GitHub Desktop.
MIDIClient.init;
MIDIIn.connectAll;
~midiOut = MIDIOut.newByName("Elektron Digitakt", "Elektron Digitakt").latency_(Server.default.latency);
(
MIDIdef.cc(\controlChange, {
| val, num, chan, src |
var digitaktUID, nanoCtrlUID;
digitaktUID = MIDIIn.findPort("Elektron Digitakt", "Elektron Digitakt").uid;
nanoCtrlUID = MIDIIn.findPort("nanoKONTROL2", "SLIDER/KNOB").uid;
if (
(src == digitaktUID) &&
(num == 120)
) {
false
} {
if (
(src == nanoCtrlUID) &&
(num <= 89) &&
(num >= 82)
) {
~midiOut.control(
chan: chan = num % 82,
ctlNum: 95,
val: val
)
} {
if (
(src == nanoCtrlUID) &&
(num <= 20) &&
(num >= 13)
) {
~midiOut.control(
chan: chan = num % 13,
ctlNum: 74,
val: val
)
} {
if (
(src == nanoCtrlUID) &&
(num <= 48) &&
(num >= 41) &&
(val != 127)
) {
~midiOut.control(
chan: chan = num % 41,
ctlNum: 76,
val: 0
)
} {
if (
(src == nanoCtrlUID) &&
(num <= 28) &&
(num >= 21) &&
(val != 127)
) {
~midiOut.control(
chan: chan = num % 21,
ctlNum: 76,
val: 1
)
} {
if (
(src == nanoCtrlUID) &&
(num <= 40) &&
(num >= 33) &&
(val != 127)
) {
~midiOut.control(
chan: chan = num % 33,
ctlNum: 76,
val: 2
)
} {
~midiOut.control(
chan: chan = chan,
ctlNum: num = num,
val: val = val
)
}
}
}
}
}
};
["MIDI CH:" + (chan + 1), "CC MSB:" + num, "CC VAL:" + val].postln;
})
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment