Skip to content

Instantly share code, notes, and snippets.

@KorySchneider
Created December 2, 2021 17:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KorySchneider/0cc55bc65770982a27245ab713b226bd to your computer and use it in GitHub Desktop.
Save KorySchneider/0cc55bc65770982a27245ab713b226bd to your computer and use it in GitHub Desktop.
Handle KORG nanoKONTROL2 MIDI controller input in Processing 3.
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