Skip to content

Instantly share code, notes, and snippets.

@luisfcorreia
Created January 3, 2015 15:24
Show Gist options
  • Save luisfcorreia/ea036affcd874e0e7a0b to your computer and use it in GitHub Desktop.
Save luisfcorreia/ea036affcd874e0e7a0b to your computer and use it in GitHub Desktop.
Example MIDI CC to Bristol MiniMoog Panel
#
# This the the MIDI controller profile, it keeps controller remappings for
# converting one controller ID to another, and then defines which controllers
# are tracked by which GUI devices. It may be edited manually, in which case
# changes are maintained but the GUI can also alter the controller tracking
# by typing <Control><Middle Mouse Button>, the moving the desired control.
# This file is saved whenever a GUI memory is saved.
#
# The file contains Controller Mapping (one controller to another, for example
# breath controller maps to footpedal, etc), Key Mappings for QWERTY to MIDI
# note events, and Continuous Controller mappings that allow a control surface
# to drive the GUI.
#
# Remap format is "CM: MidiCC MidiCC"
# Keyboard map format is "KM: ASCII MIDI_note [MIDI_chan]"
# Control format is "CC: MidiCC panel/index [value]"
#
# The values are integers from 0 to 16384, the fine resolution controller
# value for the throw of this controller. If in doubt use the value 16383,
# it is only relevant for ganging controllers.
#
# channels used: 14-31 and 102-111
# analog switches not yet defined
CC: 14 0/0 16384
CC: 15 0/1 16384
CC: 16 0/2 16384
CC: 17 0/3 16384
CC: 18 0/4 16384
CC: 19 0/5 16384
CC: 20 0/6 16384
CC: 21 0/7 16384
CC: 22 0/8 16384
CC: 23 0/9 16384
CC: 24 0/10 16384
CC: 25 0/11 16384
CC: 26 0/12 16384
CC: 27 0/13 16384
CC: 28 0/14 16384
CC: 29 0/15 16384
CC: 30 0/16 16384
CC: 31 0/17 16384
CC: 102 0/18 16384
CC: 103 0/19 16384
CC: 104 0/20 16384
CC: 105 0/21 16384
CC: 106 0/22 16384
CC: 107 0/23 16384
CC: 108 0/24 16384
CC: 109 0/25 16384
CC: 110 2/0 16384
CC: 111 2/1 16384
CLI: set history 50
CLI: set line 80
CLI: set accel 0.050000
CLI: set prompttext "%algo% (m %memory% ch %channel%): "
CLI: set cli cycle 500
CLI: set panel 0
CLI: set cli h left
CLI: set cli l right
CLI: set cli ^k incmin
CLI: set cli k inc
CLI: set cli K incmax
CLI: set cli ^j decmin
CLI: set cli j dec
CLI: set cli J decmax
CLI: set cli M memUp
CLI: set cli m memDown
CLI: set cli r read
CLI: set cli w write
CLI: set cli x toggle
CLI: set cli u fineup
CLI: set cli d finedown
CLI: set cli f update
CLI: set cli U up
CLI: set cli D down
CLI: set cli : insert
CLI: set cli / search
KM: ' 18 1
KM: , 14 1
KM: . 16 1
KM: / 17 1
KM: 0 39 0
KM: 2 25 0
KM: 3 27 0
KM: 5 30 0
KM: 6 32 0
KM: 7 34 0
KM: 9 37 0
KM: = 42 0
KM: [ 41 0
KM: \ 45 0
KM: ] 43 0
KM: a 1 1
KM: b 9 1
KM: c 5 1
KM: e 28 0
KM: f 6 1
KM: g 8 1
KM: h 10 1
KM: i 36 0
KM: k 13 1
KM: l 15 1
KM: m 12 1
KM: n 11 1
KM: o 38 0
KM: p 40 0
KM: q 24 0
KM: r 29 0
KM: s 3 1
KM: t 31 0
KM: u 35 0
KM: v 7 1
KM: w 26 0
KM: x 4 1
KM: y 33 0
KM: z 2 1
/*
you'll need a compatible Leonardo board
this needs to be compiled as TeeOnArdu in USBMIDI mode
*/
int control;
int value;
void setup()
{
value = 0;
}
// CC testing
void loop()
{
for(control=14; control < 32; control++)
{
usbMIDI.sendControlChange(control, value, 1);
delay(50);
}
for(control=102; control < 112; control++)
{
usbMIDI.sendControlChange(control, value, 1);
delay(50);
}
value++;
if (value >=127){
value=1;
}
// MIDI Controllers should discard incoming MIDI messages.
while (usbMIDI.read()) {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment