Created
December 2, 2021 17:43
-
-
Save KorySchneider/0cc55bc65770982a27245ab713b226bd to your computer and use it in GitHub Desktop.
Handle KORG nanoKONTROL2 MIDI controller input in Processing 3.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import themidibus.*; | |
MidiBus midi; | |
String controllerName = "nanoKONTROL2 1 SLIDER/KNOB"; | |
int midiMax = 127; // Max slider/knob value & value when a button is pressed. | |
// Call this from sketch setup() | |
void initMidi() { | |
MidiBus.list(); | |
midi = new MidiBus(this, controllerName, -1); | |
} | |
void controllerChange(ControlChange change) { | |
int number = change.number(); | |
int value = change.value(); | |
switch(number) { | |
// Control Group 1 | |
case slider1: | |
break; | |
case dial1: | |
break; | |
case R1: | |
break; | |
case M1: | |
break; | |
case S1: | |
break; | |
// Control Group 2 | |
case slider2: | |
break; | |
case dial2: | |
break; | |
case R2: | |
break; | |
case M2: | |
break; | |
case S2: | |
break; | |
// Control Group 3 | |
case slider3: | |
break; | |
case dial3: | |
break; | |
case R3: | |
break; | |
case M3: | |
break; | |
case S3: | |
break; | |
// Control Group 4 | |
case slider4: | |
break; | |
case dial4: | |
break; | |
case R4: | |
break; | |
case M4: | |
break; | |
case S4: | |
break; | |
// Control Group 5 | |
case slider5: | |
break; | |
case dial5: | |
break; | |
case R5: | |
break; | |
case M5: | |
break; | |
case S5: | |
break; | |
// Control Group 6 | |
case slider6: | |
break; | |
case dial6: | |
break; | |
case R6: | |
break; | |
case M6: | |
break; | |
case S6: | |
break; | |
// Control Group 7 | |
case slider7: | |
break; | |
case dial7: | |
break; | |
case R7: | |
break; | |
case M7: | |
break; | |
case S7: | |
break; | |
// Control Group 8 | |
case slider8: | |
break; | |
case dial8: | |
break; | |
case R8: | |
break; | |
case M8: | |
break; | |
case S8: | |
break; | |
// Left Panel | |
case trackPrev: | |
break; | |
case trackNext: | |
break; | |
case cycleBtn: | |
break; | |
case markerSet: | |
break; | |
case markerBack: | |
break; | |
case markerForward: | |
break; | |
case rewindBtn: | |
break; | |
case fastForwardBtn: | |
break; | |
case stopBtn: | |
break; | |
case playBtn: | |
break; | |
case recordBtn: | |
break; | |
} | |
} | |
/* | |
MIDI INPUT CONTROL CHANGE NUMBERS | |
Control groups left to right: | |
Sliders: 0...7 | |
Dials: 16...23 | |
Solo: 32...39 | |
Mute: 48...55 | |
Record: 64...71 | |
Left panel: | |
Play: 41 | |
Stop: 42 | |
Rewind: 43 | |
FastForward: 44 | |
Record: 45 | |
Cycle: 46 | |
Track Prev: 58 | |
Track Next: 59 | |
Marker Set: 60 | |
Marker Rewind: 61 | |
Marker FastForward: 62 | |
*/ | |
// Left panel | |
final int playBtn = 41; | |
final int stopBtn = 42; | |
final int rewindBtn = 43; | |
final int fastForwardBtn = 44; | |
final int recordBtn = 45; | |
final int cycleBtn = 46; | |
final int trackPrev = 58; | |
final int trackNext = 59; | |
final int markerSet = 60; | |
final int markerBack = 61; | |
final int markerForward = 62; | |
// Sliders | |
final int slider1 = 0; | |
final int slider2 = 1; | |
final int slider3 = 2; | |
final int slider4 = 3; | |
final int slider5 = 4; | |
final int slider6 = 5; | |
final int slider7 = 6; | |
final int slider8 = 7; | |
// Dials | |
final int dial1 = 16; | |
final int dial2 = 17; | |
final int dial3 = 18; | |
final int dial4 = 19; | |
final int dial5 = 20; | |
final int dial6 = 21; | |
final int dial7 = 22; | |
final int dial8 = 23; | |
// Record buttons | |
final int R1 = 64; | |
final int R2 = 65; | |
final int R3 = 66; | |
final int R4 = 67; | |
final int R5 = 68; | |
final int R6 = 69; | |
final int R7 = 70; | |
final int R8 = 71; | |
// Mute buttons | |
final int M1 = 48; | |
final int M2 = 49; | |
final int M3 = 50; | |
final int M4 = 51; | |
final int M5 = 52; | |
final int M6 = 53; | |
final int M7 = 54; | |
final int M8 = 55; | |
// Solo buttons | |
final int S1 = 32; | |
final int S2 = 33; | |
final int S3 = 34; | |
final int S4 = 35; | |
final int S5 = 36; | |
final int S6 = 37; | |
final int S7 = 38; | |
final int S8 = 39; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment