Merge pull request #1112 from newsboytko/newsboytko/midi-keycodes
Flesh out MIDI support
This commit is contained in:
commit
7e37daa2ce
36 changed files with 1435 additions and 496 deletions
|
@ -1,7 +1,16 @@
|
|||
|
||||
#ifndef QUANTUM_KEYCODES_H
|
||||
#define QUANTUM_KEYCODES_H
|
||||
|
||||
#ifndef MIDI_ENABLE_STRICT
|
||||
#define MIDI_ENABLE_STRICT 0
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_ADVANCED))
|
||||
#ifndef MIDI_TONE_KEYCODE_OCTAVES
|
||||
#define MIDI_TONE_KEYCODE_OCTAVES 3
|
||||
#endif
|
||||
#endif
|
||||
|
||||
enum quantum_keycodes {
|
||||
// Ranges used in shortucuts - not to be used directly
|
||||
QK_TMK = 0x0000,
|
||||
|
@ -107,9 +116,230 @@ enum quantum_keycodes {
|
|||
MUV_IN,
|
||||
MUV_DE,
|
||||
|
||||
// Midi mode on/off
|
||||
MIDI_ON,
|
||||
MIDI_OFF,
|
||||
// Midi
|
||||
#if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_BASIC))
|
||||
MI_ON, // send midi notes when music mode is enabled
|
||||
MI_OFF, // don't send midi notes when music mode is enabled
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || (defined(MIDI_ENABLE) && defined(MIDI_ADVANCED))
|
||||
MIDI_TONE_MIN,
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 0
|
||||
MI_C = MIDI_TONE_MIN,
|
||||
MI_Cs,
|
||||
MI_Db = MI_Cs,
|
||||
MI_D,
|
||||
MI_Ds,
|
||||
MI_Eb = MI_Ds,
|
||||
MI_E,
|
||||
MI_F,
|
||||
MI_Fs,
|
||||
MI_Gb = MI_Fs,
|
||||
MI_G,
|
||||
MI_Gs,
|
||||
MI_Ab = MI_Gs,
|
||||
MI_A,
|
||||
MI_As,
|
||||
MI_Bb = MI_As,
|
||||
MI_B,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 1
|
||||
MI_C_1,
|
||||
MI_Cs_1,
|
||||
MI_Db_1 = MI_Cs_1,
|
||||
MI_D_1,
|
||||
MI_Ds_1,
|
||||
MI_Eb_1 = MI_Ds_1,
|
||||
MI_E_1,
|
||||
MI_F_1,
|
||||
MI_Fs_1,
|
||||
MI_Gb_1 = MI_Fs_1,
|
||||
MI_G_1,
|
||||
MI_Gs_1,
|
||||
MI_Ab_1 = MI_Gs_1,
|
||||
MI_A_1,
|
||||
MI_As_1,
|
||||
MI_Bb_1 = MI_As_1,
|
||||
MI_B_1,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 2
|
||||
MI_C_2,
|
||||
MI_Cs_2,
|
||||
MI_Db_2 = MI_Cs_2,
|
||||
MI_D_2,
|
||||
MI_Ds_2,
|
||||
MI_Eb_2 = MI_Ds_2,
|
||||
MI_E_2,
|
||||
MI_F_2,
|
||||
MI_Fs_2,
|
||||
MI_Gb_2 = MI_Fs_2,
|
||||
MI_G_2,
|
||||
MI_Gs_2,
|
||||
MI_Ab_2 = MI_Gs_2,
|
||||
MI_A_2,
|
||||
MI_As_2,
|
||||
MI_Bb_2 = MI_As_2,
|
||||
MI_B_2,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 3
|
||||
MI_C_3,
|
||||
MI_Cs_3,
|
||||
MI_Db_3 = MI_Cs_3,
|
||||
MI_D_3,
|
||||
MI_Ds_3,
|
||||
MI_Eb_3 = MI_Ds_3,
|
||||
MI_E_3,
|
||||
MI_F_3,
|
||||
MI_Fs_3,
|
||||
MI_Gb_3 = MI_Fs_3,
|
||||
MI_G_3,
|
||||
MI_Gs_3,
|
||||
MI_Ab_3 = MI_Gs_3,
|
||||
MI_A_3,
|
||||
MI_As_3,
|
||||
MI_Bb_3 = MI_As_3,
|
||||
MI_B_3,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 4
|
||||
MI_C_4,
|
||||
MI_Cs_4,
|
||||
MI_Db_4 = MI_Cs_4,
|
||||
MI_D_4,
|
||||
MI_Ds_4,
|
||||
MI_Eb_4 = MI_Ds_4,
|
||||
MI_E_4,
|
||||
MI_F_4,
|
||||
MI_Fs_4,
|
||||
MI_Gb_4 = MI_Fs_4,
|
||||
MI_G_4,
|
||||
MI_Gs_4,
|
||||
MI_Ab_4 = MI_Gs_4,
|
||||
MI_A_4,
|
||||
MI_As_4,
|
||||
MI_Bb_4 = MI_As_4,
|
||||
MI_B_4,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 5
|
||||
MI_C_5,
|
||||
MI_Cs_5,
|
||||
MI_Db_5 = MI_Cs_5,
|
||||
MI_D_5,
|
||||
MI_Ds_5,
|
||||
MI_Eb_5 = MI_Ds_5,
|
||||
MI_E_5,
|
||||
MI_F_5,
|
||||
MI_Fs_5,
|
||||
MI_Gb_5 = MI_Fs_5,
|
||||
MI_G_5,
|
||||
MI_Gs_5,
|
||||
MI_Ab_5 = MI_Gs_5,
|
||||
MI_A_5,
|
||||
MI_As_5,
|
||||
MI_Bb_5 = MI_As_5,
|
||||
MI_B_5,
|
||||
#endif
|
||||
|
||||
#if !MIDI_ENABLE_STRICT || MIDI_TONE_KEYCODE_OCTAVES > 5
|
||||
MIDI_TONE_MAX = MI_B_5,
|
||||
#elif MIDI_TONE_KEYCODE_OCTAVES > 4
|
||||
MIDI_TONE_MAX = MI_B_4,
|
||||
#elif MIDI_TONE_KEYCODE_OCTAVES > 3
|
||||
MIDI_TONE_MAX = MI_B_3,
|
||||
#elif MIDI_TONE_KEYCODE_OCTAVES > 2
|
||||
MIDI_TONE_MAX = MI_B_2,
|
||||
#elif MIDI_TONE_KEYCODE_OCTAVES > 1
|
||||
MIDI_TONE_MAX = MI_B_1,
|
||||
#elif MIDI_TONE_KEYCODE_OCTAVES > 0
|
||||
MIDI_TONE_MAX = MI_B,
|
||||
#endif
|
||||
|
||||
MIDI_OCTAVE_MIN,
|
||||
MI_OCT_N2 = MIDI_OCTAVE_MIN,
|
||||
MI_OCT_N1,
|
||||
MI_OCT_0,
|
||||
MI_OCT_1,
|
||||
MI_OCT_2,
|
||||
MI_OCT_3,
|
||||
MI_OCT_4,
|
||||
MI_OCT_5,
|
||||
MI_OCT_6,
|
||||
MI_OCT_7,
|
||||
MIDI_OCTAVE_MAX = MI_OCT_7,
|
||||
MI_OCTD, // octave down
|
||||
MI_OCTU, // octave up
|
||||
|
||||
MIDI_TRANSPOSE_MIN,
|
||||
MI_TRNS_N6 = MIDI_TRANSPOSE_MIN,
|
||||
MI_TRNS_N5,
|
||||
MI_TRNS_N4,
|
||||
MI_TRNS_N3,
|
||||
MI_TRNS_N2,
|
||||
MI_TRNS_N1,
|
||||
MI_TRNS_0,
|
||||
MI_TRNS_1,
|
||||
MI_TRNS_2,
|
||||
MI_TRNS_3,
|
||||
MI_TRNS_4,
|
||||
MI_TRNS_5,
|
||||
MI_TRNS_6,
|
||||
MIDI_TRANSPOSE_MAX = MI_TRNS_6,
|
||||
MI_TRNSD, // transpose down
|
||||
MI_TRNSU, // transpose up
|
||||
|
||||
MIDI_VELOCITY_MIN,
|
||||
MI_VEL_1 = MIDI_VELOCITY_MIN,
|
||||
MI_VEL_2,
|
||||
MI_VEL_3,
|
||||
MI_VEL_4,
|
||||
MI_VEL_5,
|
||||
MI_VEL_6,
|
||||
MI_VEL_7,
|
||||
MI_VEL_8,
|
||||
MI_VEL_9,
|
||||
MI_VEL_10,
|
||||
MIDI_VELOCITY_MAX = MI_VEL_10,
|
||||
MI_VELD, // velocity down
|
||||
MI_VELU, // velocity up
|
||||
|
||||
MIDI_CHANNEL_MIN,
|
||||
MI_CH1 = MIDI_CHANNEL_MIN,
|
||||
MI_CH2,
|
||||
MI_CH3,
|
||||
MI_CH4,
|
||||
MI_CH5,
|
||||
MI_CH6,
|
||||
MI_CH7,
|
||||
MI_CH8,
|
||||
MI_CH9,
|
||||
MI_CH10,
|
||||
MI_CH11,
|
||||
MI_CH12,
|
||||
MI_CH13,
|
||||
MI_CH14,
|
||||
MI_CH15,
|
||||
MI_CH16,
|
||||
MIDI_CHANNEL_MAX = MI_CH16,
|
||||
MI_CHD, // previous channel
|
||||
MI_CHU, // next channel
|
||||
|
||||
MI_ALLOFF, // all notes off
|
||||
|
||||
MI_SUS, // sustain
|
||||
MI_PORT, // portamento
|
||||
MI_SOST, // sostenuto
|
||||
MI_SOFT, // soft pedal
|
||||
MI_LEG, // legato
|
||||
|
||||
MI_MOD, // modulation
|
||||
MI_MODSD, // decrease modulation speed
|
||||
MI_MODSU, // increase modulation speed
|
||||
#endif // MIDI_ADVANCED
|
||||
|
||||
// Backlight functionality
|
||||
BL_0,
|
||||
|
@ -279,9 +509,6 @@ enum quantum_keycodes {
|
|||
#define BL_ON BL_9
|
||||
#define BL_OFF BL_0
|
||||
|
||||
#define MI_ON MIDI_ON
|
||||
#define MI_OFF MIDI_OFF
|
||||
|
||||
// GOTO layer - 16 layers max
|
||||
// when:
|
||||
// ON_PRESS = 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue