Normalise MIDI keycodes (#18972)

* `MI_ON`, `MI_OFF`, `MI_TOG` -> `MI_TOGG`

* `MI_CH*`, `MI_CHU` -> `MI_CHNU`, `MI_CHD` -> `MI_CHND`

* `MI_VEL_*` -> `MI_VL*`, `MI_VELU`, `MI_VELD`

* `MI_TRNS_*` -> `MI_TR*`, `MI_TRNSU` -> `MI_TRSU`, `MI_TRNSD` -> `MI_TRSD`

* `MI_OCT_*` -> `MI_OC*`, `MI_OCTU`, `MI_OCTD`

* Misc controls

* Note keycodes

* Add legacy keycodes

* Regenerate keycodes

* Typo
This commit is contained in:
Ryan 2022-11-07 13:26:15 +11:00 committed by GitHub
parent 442e7653cc
commit 8b658dcc9a
Failed to generate hash of commit
39 changed files with 1799 additions and 1154 deletions

File diff suppressed because it is too large Load diff

View file

@ -80,164 +80,164 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
### Keycodes ### Keycodes
|Keycode |Aliases |Description | |Keycode |Aliases |Description |
|------------|---------|---------------------------------| |-------------------------------|------------------|---------------------------------|
|`MI_ON` | |Turn MIDI on | |`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off | |`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled | |`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|`MI_C` | |C octave 0 | |`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 | |`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 | |`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 | |`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 | |`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|`MI_F` | |F octave 0 | |`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 | |`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 | |`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 | |`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 | |`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 | |`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 | |`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|`MI_C_1` | |C octave 1 | |`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 | |`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 | |`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 | |`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 | |`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|`MI_F_1` | |F octave 1 | |`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 | |`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 | |`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 | |`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 | |`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 | |`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 | |`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|`MI_C_2` | |C octave 2 | |`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 | |`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 | |`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 | |`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 | |`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|`MI_F_2` | |F octave 2 | |`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 | |`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 | |`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 | |`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 | |`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 | |`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 | |`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|`MI_C_3` | |C octave 3 | |`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 | |`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 | |`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 | |`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 | |`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|`MI_F_3` | |F octave 3 | |`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 | |`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 | |`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 | |`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 | |`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 | |`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 | |`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|`MI_C_4` | |C octave 4 | |`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 | |`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 | |`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 | |`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 | |`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|`MI_F_4` | |F octave 4 | |`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 | |`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 | |`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 | |`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 | |`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 | |`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 | |`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|`MI_C_5` | |C octave 5 | |`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 | |`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 | |`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 | |`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 | |`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|`MI_F_5` | |F octave 5 | |`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 | |`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 | |`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 | |`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 | |`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 | |`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 | |`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 | |`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 | |`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 | |`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 | |`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 | |`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 | |`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 | |`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 | |`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 | |`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 | |`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|`MI_OCTD` | |Move down an octave | |`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|`MI_OCTU` | |Move up an octave | |`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones| |`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones| |`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones| |`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones| |`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones| |`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone | |`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition | |`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone | |`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones| |`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones| |`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones| |`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones| |`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones| |`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition | |`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|`MI_TRNSU` | |Increase transposition | |`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 | |`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 | |`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 | |`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 | |`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 | |`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 | |`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 | |`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 | |`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 | |`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 | |`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 | |`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity | |`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|`MI_VELU` | |Increase velocity | |`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|`MI_CH1` | |Set channel to 1 | |`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 | |`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 | |`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 | |`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 | |`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 | |`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 | |`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 | |`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 | |`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 | |`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 | |`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 | |`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 | |`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 | |`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 | |`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 | |`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|`MI_CHD` | |Decrease channel | |`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|`MI_CHU` | |Increase channel | |`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|`MI_ALLOFF` | |Stop all notes | |`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|`MI_SUS` | |Sustain | |`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|`MI_PORT` | |Portmento | |`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|`MI_SOST` | |Sostenuto | |`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|`MI_SOFT` | |Soft Pedal | |`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|`MI_LEG` | |Legato | |`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|`MI_MOD` | |Modulation | |`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|`MI_MODSD` | |Decrease modulation speed | |`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed | |`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down | |`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|`MI_BENDU` | |Bend pitch up | |`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
### Configuration ### Configuration
Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are: Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are:
|Configuration |Value|Comments | |Configuration |Value|Comments |
|-------------------|-----|-------------------------| |-------------------|-----|-----------------------|
|Octave |`4` |Corresponds to `MI_OCT_2`| |Octave |`4` |Corresponds to `MI_OC2`|
|Transposition |`0` | | |Transposition |`0` | |
|Velocity |`127`| | |Velocity |`127`| |
|Channel |`0` | | |Channel |`0` | |
|Modulation Interval|`8` | | |Modulation Interval|`8` | |
For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on. For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on.

View file

@ -442,152 +442,152 @@ See also: [Magic Keycodes](keycodes_magic.md)
See also: [MIDI](feature_midi.md) See also: [MIDI](feature_midi.md)
|Key |Aliases |Description | |Key |Aliases |Description |
|------------|---------|---------------------------------| |-------------------------------|------------------|---------------------------------|
|`MI_ON` | |Turn MIDI on | |`QK_MIDI_ON` |`MI_ON` |Turn MIDI on |
|`MI_OFF` | |Turn MIDI off | |`QK_MIDI_OFF` |`MI_OFF` |Turn MIDI off |
|`MI_TOG` | |Toggle MIDI enabled | |`QK_MIDI_TOGGLE` |`MI_TOGG` |Toggle MIDI enabled |
|`MI_C` | |C octave 0 | |`QK_MIDI_NOTE_C_0` |`MI_C` |C octave 0 |
|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 | |`QK_MIDI_NOTE_C_SHARP_0` |`MI_Cs`, `MI_Db` |C♯/D♭ octave 0 |
|`MI_D` | |D octave 0 | |`QK_MIDI_NOTE_D_0` |`MI_D` |D octave 0 |
|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 | |`QK_MIDI_NOTE_D_SHARP_0` |`MI_Ds`, `MI_Eb` |D♯/E♭ octave 0 |
|`MI_E` | |E octave 0 | |`QK_MIDI_NOTE_E_0` |`MI_E` |E octave 0 |
|`MI_F` | |F octave 0 | |`QK_MIDI_NOTE_F_0` |`MI_F` |F octave 0 |
|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 | |`QK_MIDI_NOTE_F_SHARP_0` |`MI_Fs`, `MI_Gb` |F♯/G♭ octave 0 |
|`MI_G` | |G octave 0 | |`QK_MIDI_NOTE_G_0` |`MI_G` |G octave 0 |
|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 | |`QK_MIDI_NOTE_G_SHARP_0` |`MI_Gs`, `MI_Ab` |G♯/A♭ octave 0 |
|`MI_A` | |A octave 0 | |`QK_MIDI_NOTE_A_0` |`MI_A` |A octave 0 |
|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 | |`QK_MIDI_NOTE_A_SHARP_0` |`MI_As`, `MI_Bb` |A♯/B♭ octave 0 |
|`MI_B` | |B octave 0 | |`QK_MIDI_NOTE_B_0` |`MI_B` |B octave 0 |
|`MI_C_1` | |C octave 1 | |`QK_MIDI_NOTE_C_1` |`MI_C1` |C octave 1 |
|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 | |`QK_MIDI_NOTE_C_SHARP_1` |`MI_Cs1`, `MI_Db1`|C♯/D♭ octave 1 |
|`MI_D_1` | |D octave 1 | |`QK_MIDI_NOTE_D_1` |`MI_D1` |D octave 1 |
|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 | |`QK_MIDI_NOTE_D_SHARP_1` |`MI_Ds1`, `MI_Eb1`|D♯/E♭ octave 1 |
|`MI_E_1` | |E octave 1 | |`QK_MIDI_NOTE_E_1` |`MI_E1` |E octave 1 |
|`MI_F_1` | |F octave 1 | |`QK_MIDI_NOTE_F_1` |`MI_F1` |F octave 1 |
|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 | |`QK_MIDI_NOTE_F_SHARP_1` |`MI_Fs1`, `MI_Gb1`|F♯/G♭ octave 1 |
|`MI_G_1` | |G octave 1 | |`QK_MIDI_NOTE_G_1` |`MI_G1` |G octave 1 |
|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 | |`QK_MIDI_NOTE_G_SHARP_1` |`MI_Gs1`, `MI_Ab1`|G♯/A♭ octave 1 |
|`MI_A_1` | |A octave 1 | |`QK_MIDI_NOTE_A_1` |`MI_A1` |A octave 1 |
|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 | |`QK_MIDI_NOTE_A_SHARP_1` |`MI_As1`, `MI_Bb1`|A♯/B♭ octave 1 |
|`MI_B_1` | |B octave 1 | |`QK_MIDI_NOTE_B_1` |`MI_B1` |B octave 1 |
|`MI_C_2` | |C octave 2 | |`QK_MIDI_NOTE_C_2` |`MI_C2` |C octave 2 |
|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 | |`QK_MIDI_NOTE_C_SHARP_2` |`MI_Cs2`, `MI_Db2`|C♯/D♭ octave 2 |
|`MI_D_2` | |D octave 2 | |`QK_MIDI_NOTE_D_2` |`MI_D2` |D octave 2 |
|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 | |`QK_MIDI_NOTE_D_SHARP_2` |`MI_Ds2`, `MI_Eb2`|D♯/E♭ octave 2 |
|`MI_E_2` | |E octave 2 | |`QK_MIDI_NOTE_E_2` |`MI_E2` |E octave 2 |
|`MI_F_2` | |F octave 2 | |`QK_MIDI_NOTE_F_2` |`MI_F2` |F octave 2 |
|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 | |`QK_MIDI_NOTE_F_SHARP_2` |`MI_Fs2`, `MI_Gb2`|F♯/G♭ octave 2 |
|`MI_G_2` | |G octave 2 | |`QK_MIDI_NOTE_G_2` |`MI_G2` |G octave 2 |
|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 | |`QK_MIDI_NOTE_G_SHARP_2` |`MI_Gs2`, `MI_Ab2`|G♯/A♭ octave 2 |
|`MI_A_2` | |A octave 2 | |`QK_MIDI_NOTE_A_2` |`MI_A2` |A octave 2 |
|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 | |`QK_MIDI_NOTE_A_SHARP_2` |`MI_As2`, `MI_Bb2`|A♯/B♭ octave 2 |
|`MI_B_2` | |B octave 2 | |`QK_MIDI_NOTE_B_2` |`MI_B2` |B octave 2 |
|`MI_C_3` | |C octave 3 | |`QK_MIDI_NOTE_C_3` |`MI_C3` |C octave 3 |
|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 | |`QK_MIDI_NOTE_C_SHARP_3` |`MI_Cs3`, `MI_Db3`|C♯/D♭ octave 3 |
|`MI_D_3` | |D octave 3 | |`QK_MIDI_NOTE_D_3` |`MI_D3` |D octave 3 |
|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 | |`QK_MIDI_NOTE_D_SHARP_3` |`MI_Ds3`, `MI_Eb3`|D♯/E♭ octave 3 |
|`MI_E_3` | |E octave 3 | |`QK_MIDI_NOTE_E_3` |`MI_E3` |E octave 3 |
|`MI_F_3` | |F octave 3 | |`QK_MIDI_NOTE_F_3` |`MI_F3` |F octave 3 |
|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 | |`QK_MIDI_NOTE_F_SHARP_3` |`MI_Fs3`, `MI_Gb3`|F♯/G♭ octave 3 |
|`MI_G_3` | |G octave 3 | |`QK_MIDI_NOTE_G_3` |`MI_G3` |G octave 3 |
|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 | |`QK_MIDI_NOTE_G_SHARP_3` |`MI_Gs3`, `MI_Ab3`|G♯/A♭ octave 3 |
|`MI_A_3` | |A octave 3 | |`QK_MIDI_NOTE_A_3` |`MI_A3` |A octave 3 |
|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 | |`QK_MIDI_NOTE_A_SHARP_3` |`MI_As3`, `MI_Bb3`|A♯/B♭ octave 3 |
|`MI_B_3` | |B octave 3 | |`QK_MIDI_NOTE_B_3` |`MI_B3` |B octave 3 |
|`MI_C_4` | |C octave 4 | |`QK_MIDI_NOTE_C_4` |`MI_C4` |C octave 4 |
|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 | |`QK_MIDI_NOTE_C_SHARP_4` |`MI_Cs4`, `MI_Db4`|C♯/D♭ octave 4 |
|`MI_D_4` | |D octave 4 | |`QK_MIDI_NOTE_D_4` |`MI_D4` |D octave 4 |
|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 | |`QK_MIDI_NOTE_D_SHARP_4` |`MI_Ds4`, `MI_Eb4`|D♯/E♭ octave 4 |
|`MI_E_4` | |E octave 4 | |`QK_MIDI_NOTE_E_4` |`MI_E4` |E octave 4 |
|`MI_F_4` | |F octave 4 | |`QK_MIDI_NOTE_F_4` |`MI_F4` |F octave 4 |
|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 | |`QK_MIDI_NOTE_F_SHARP_4` |`MI_Fs4`, `MI_Gb4`|F♯/G♭ octave 4 |
|`MI_G_4` | |G octave 4 | |`QK_MIDI_NOTE_G_4` |`MI_G4` |G octave 4 |
|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 | |`QK_MIDI_NOTE_G_SHARP_4` |`MI_Gs4`, `MI_Ab4`|G♯/A♭ octave 4 |
|`MI_A_4` | |A octave 4 | |`QK_MIDI_NOTE_A_4` |`MI_A4` |A octave 4 |
|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 | |`QK_MIDI_NOTE_A_SHARP_4` |`MI_As4`, `MI_Bb4`|A♯/B♭ octave 4 |
|`MI_B_4` | |B octave 4 | |`QK_MIDI_NOTE_B_4` |`MI_B4` |B octave 4 |
|`MI_C_5` | |C octave 5 | |`QK_MIDI_NOTE_C_5` |`MI_C5` |C octave 5 |
|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 | |`QK_MIDI_NOTE_C_SHARP_5` |`MI_Cs5`, `MI_Db5`|C♯/D♭ octave 5 |
|`MI_D_5` | |D octave 5 | |`QK_MIDI_NOTE_D_5` |`MI_D5` |D octave 5 |
|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 | |`QK_MIDI_NOTE_D_SHARP_5` |`MI_Ds5`, `MI_Eb5`|D♯/E♭ octave 5 |
|`MI_E_5` | |E octave 5 | |`QK_MIDI_NOTE_E_5` |`MI_E5` |E octave 5 |
|`MI_F_5` | |F octave 5 | |`QK_MIDI_NOTE_F_5` |`MI_F5` |F octave 5 |
|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 | |`QK_MIDI_NOTE_F_SHARP_5` |`MI_Fs5`, `MI_Gb5`|F♯/G♭ octave 5 |
|`MI_G_5` | |G octave 5 | |`QK_MIDI_NOTE_G_5` |`MI_G5` |G octave 5 |
|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 | |`QK_MIDI_NOTE_G_SHARP_5` |`MI_Gs5`, `MI_Ab5`|G♯/A♭ octave 5 |
|`MI_A_5` | |A octave 5 | |`QK_MIDI_NOTE_A_5` |`MI_A5` |A octave 5 |
|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 | |`QK_MIDI_NOTE_A_SHARP_5` |`MI_As5`, `MI_Bb5`|A♯/B♭ octave 5 |
|`MI_B_5` | |B octave 5 | |`QK_MIDI_NOTE_B_5` |`MI_B5` |B octave 5 |
|`MI_OCT_N2` | |Set octave to -2 | |`QK_MIDI_OCTAVE_N2` |`MI_OCN2` |Set octave to -2 |
|`MI_OCT_N1` | |Set octave to -1 | |`QK_MIDI_OCTAVE_N1` |`MI_OCN1` |Set octave to -1 |
|`MI_OCT_0` | |Set octave to 0 | |`QK_MIDI_OCTAVE_0` |`MI_OC0` |Set octave to 0 |
|`MI_OCT_1` | |Set octave to 1 | |`QK_MIDI_OCTAVE_1` |`MI_OC1` |Set octave to 1 |
|`MI_OCT_2` | |Set octave to 2 | |`QK_MIDI_OCTAVE_2` |`MI_OC2` |Set octave to 2 |
|`MI_OCT_3` | |Set octave to 3 | |`QK_MIDI_OCTAVE_3` |`MI_OC3` |Set octave to 3 |
|`MI_OCT_4` | |Set octave to 4 | |`QK_MIDI_OCTAVE_4` |`MI_OC4` |Set octave to 4 |
|`MI_OCT_5` | |Set octave to 5 | |`QK_MIDI_OCTAVE_5` |`MI_OC5` |Set octave to 5 |
|`MI_OCT_6` | |Set octave to 6 | |`QK_MIDI_OCTAVE_6` |`MI_OC6` |Set octave to 6 |
|`MI_OCT_7` | |Set octave to 7 | |`QK_MIDI_OCTAVE_7` |`MI_OC7` |Set octave to 7 |
|`MI_OCTD` | |Move down an octave | |`QK_MIDI_OCTAVE_DOWN` |`MI_OCTD` |Move down an octave |
|`MI_OCTU` | |Move up an octave | |`QK_MIDI_OCTAVE_UP` |`MI_OCTU` |Move up an octave |
|`MI_TRNS_N6`| |Set transposition to -6 semitones| |`QK_MIDI_TRANSPOSE_N6` |`MI_TRN6` |Set transposition to -6 semitones|
|`MI_TRNS_N5`| |Set transposition to -5 semitones| |`QK_MIDI_TRANSPOSE_N5` |`MI_TRN5` |Set transposition to -5 semitones|
|`MI_TRNS_N4`| |Set transposition to -4 semitones| |`QK_MIDI_TRANSPOSE_N4` |`MI_TRN4` |Set transposition to -4 semitones|
|`MI_TRNS_N3`| |Set transposition to -3 semitones| |`QK_MIDI_TRANSPOSE_N3` |`MI_TRN3` |Set transposition to -3 semitones|
|`MI_TRNS_N2`| |Set transposition to -2 semitones| |`QK_MIDI_TRANSPOSE_N2` |`MI_TRN2` |Set transposition to -2 semitones|
|`MI_TRNS_N1`| |Set transposition to -1 semitone | |`QK_MIDI_TRANSPOSE_N1` |`MI_TRN1` |Set transposition to -1 semitone |
|`MI_TRNS_0` | |No transposition | |`QK_MIDI_TRANSPOSE_0` |`MI_TR0` |No transposition |
|`MI_TRNS_1` | |Set transposition to +1 semitone | |`QK_MIDI_TRANSPOSE_1` |`MI_TR1` |Set transposition to +1 semitone |
|`MI_TRNS_2` | |Set transposition to +2 semitones| |`QK_MIDI_TRANSPOSE_2` |`MI_TR2` |Set transposition to +2 semitones|
|`MI_TRNS_3` | |Set transposition to +3 semitones| |`QK_MIDI_TRANSPOSE_3` |`MI_TR3` |Set transposition to +3 semitones|
|`MI_TRNS_4` | |Set transposition to +4 semitones| |`QK_MIDI_TRANSPOSE_4` |`MI_TR4` |Set transposition to +4 semitones|
|`MI_TRNS_5` | |Set transposition to +5 semitones| |`QK_MIDI_TRANSPOSE_5` |`MI_TR5` |Set transposition to +5 semitones|
|`MI_TRNS_6` | |Set transposition to +6 semitones| |`QK_MIDI_TRANSPOSE_6` |`MI_TR6` |Set transposition to +6 semitones|
|`MI_TRNSD` | |Decrease transposition | |`QK_MIDI_TRANSPOSE_DOWN` |`MI_TRSD` |Decrease transposition |
|`MI_TRNSU` | |Increase transposition | |`QK_MIDI_TRANSPOSE_UP` |`MI_TRSU` |Increase transposition |
|`MI_VEL_0` | |Set velocity to 0 | |`QK_MIDI_VELOCITY_0` |`MI_VL0` |Set velocity to 0 |
|`MI_VEL_1` | |Set velocity to 12 | |`QK_MIDI_VELOCITY_1` |`MI_VL1` |Set velocity to 12 |
|`MI_VEL_2` | |Set velocity to 25 | |`QK_MIDI_VELOCITY_2` |`MI_VL2` |Set velocity to 25 |
|`MI_VEL_3` | |Set velocity to 38 | |`QK_MIDI_VELOCITY_3` |`MI_VL3` |Set velocity to 38 |
|`MI_VEL_4` | |Set velocity to 51 | |`QK_MIDI_VELOCITY_4` |`MI_VL4` |Set velocity to 51 |
|`MI_VEL_5` | |Set velocity to 64 | |`QK_MIDI_VELOCITY_5` |`MI_VL5` |Set velocity to 64 |
|`MI_VEL_6` | |Set velocity to 76 | |`QK_MIDI_VELOCITY_6` |`MI_VL6` |Set velocity to 76 |
|`MI_VEL_7` | |Set velocity to 89 | |`QK_MIDI_VELOCITY_7` |`MI_VL7` |Set velocity to 89 |
|`MI_VEL_8` | |Set velocity to 102 | |`QK_MIDI_VELOCITY_8` |`MI_VL8` |Set velocity to 102 |
|`MI_VEL_9` | |Set velocity to 114 | |`QK_MIDI_VELOCITY_9` |`MI_VL9` |Set velocity to 114 |
|`MI_VEL_10` | |Set velocity to 127 | |`QK_MIDI_VELOCITY_10` |`MI_VL10` |Set velocity to 127 |
|`MI_VELD` | |Decrease velocity | |`QK_MIDI_VELOCITY_DOWN` |`MI_VELD` |Decrease velocity |
|`MI_VELU` | |Increase velocity | |`QK_MIDI_VELOCITY_UP` |`MI_VELU` |Increase velocity |
|`MI_CH1` | |Set channel to 1 | |`QK_MIDI_CHANNEL_1` |`MI_CH1` |Set channel to 1 |
|`MI_CH2` | |Set channel to 2 | |`QK_MIDI_CHANNEL_2` |`MI_CH2` |Set channel to 2 |
|`MI_CH3` | |Set channel to 3 | |`QK_MIDI_CHANNEL_3` |`MI_CH3` |Set channel to 3 |
|`MI_CH4` | |Set channel to 4 | |`QK_MIDI_CHANNEL_4` |`MI_CH4` |Set channel to 4 |
|`MI_CH5` | |Set channel to 5 | |`QK_MIDI_CHANNEL_5` |`MI_CH5` |Set channel to 5 |
|`MI_CH6` | |Set channel to 6 | |`QK_MIDI_CHANNEL_6` |`MI_CH6` |Set channel to 6 |
|`MI_CH7` | |Set channel to 7 | |`QK_MIDI_CHANNEL_7` |`MI_CH7` |Set channel to 7 |
|`MI_CH8` | |Set channel to 8 | |`QK_MIDI_CHANNEL_8` |`MI_CH8` |Set channel to 8 |
|`MI_CH9` | |Set channel to 9 | |`QK_MIDI_CHANNEL_9` |`MI_CH9` |Set channel to 9 |
|`MI_CH10` | |Set channel to 10 | |`QK_MIDI_CHANNEL_10` |`MI_CH10` |Set channel to 10 |
|`MI_CH11` | |Set channel to 11 | |`QK_MIDI_CHANNEL_11` |`MI_CH11` |Set channel to 11 |
|`MI_CH12` | |Set channel to 12 | |`QK_MIDI_CHANNEL_12` |`MI_CH12` |Set channel to 12 |
|`MI_CH13` | |Set channel to 13 | |`QK_MIDI_CHANNEL_13` |`MI_CH13` |Set channel to 13 |
|`MI_CH14` | |Set channel to 14 | |`QK_MIDI_CHANNEL_14` |`MI_CH14` |Set channel to 14 |
|`MI_CH15` | |Set channel to 15 | |`QK_MIDI_CHANNEL_15` |`MI_CH15` |Set channel to 15 |
|`MI_CH16` | |Set channel to 16 | |`QK_MIDI_CHANNEL_16` |`MI_CH16` |Set channel to 16 |
|`MI_CHD` | |Decrease channel | |`QK_MIDI_CHANNEL_DOWN` |`MI_CHND` |Decrease channel |
|`MI_CHU` | |Increase channel | |`QK_MIDI_CHANNEL_UP` |`MI_CHNU` |Increase channel |
|`MI_ALLOFF` | |Stop all notes | |`QK_MIDI_ALL_NOTES_OFF` |`MI_AOFF` |Stop all notes |
|`MI_SUS` | |Sustain | |`QK_MIDI_SUSTAIN` |`MI_SUST` |Sustain |
|`MI_PORT` | |Portmento | |`QK_MIDI_PORTAMENTO` |`MI_PORT` |Portmento |
|`MI_SOST` | |Sostenuto | |`QK_MIDI_SOSTENUTO` |`MI_SOST` |Sostenuto |
|`MI_SOFT` | |Soft Pedal | |`QK_MIDI_SOFT` |`MI_SOFT` |Soft Pedal |
|`MI_LEG` | |Legato | |`QK_MIDI_LEGATO` |`MI_LEG` |Legato |
|`MI_MOD` | |Modulation | |`QK_MIDI_MODULATION` |`MI_MOD` |Modulation |
|`MI_MODSD` | |Decrease modulation speed | |`QK_MIDI_MODULATION_SPEED_DOWN`|`MI_MODD` |Decrease modulation speed |
|`MI_MODSU` | |Increase modulation speed | |`QK_MIDI_MODULATION_SPEED_UP` |`MI_MODU` |Increase modulation speed |
|`MI_BENDD` | |Bend pitch down | |`QK_MIDI_PITCH_BEND_DOWN` |`MI_BNDD` |Bend pitch down |
|`MI_BENDU` | |Bend pitch up | |`QK_MIDI_PITCH_BEND_UP` |`MI_BNDU` |Bend pitch up |
## Mouse Keys :id=mouse-keys ## Mouse Keys :id=mouse-keys

View file

@ -25,45 +25,45 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_IONIAN] = LAYOUT_ortho_3x10( [_IONIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_B_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, MI_OCTD, MI_OCTU, MI_C1, MI_F1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, MI_OCTD, MI_OCTU,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_B_2, MI_E_3, MI_A_3, MI_D_4, MI_TRNSD, MI_TRNSU, MI_D1, MI_G1, MI_C2, MI_F2, MI_B2, MI_E3, MI_A3, MI_D4, MI_TRSD, MI_TRSU,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_B_3, MI_E_4, MI_SUS, MENU MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_B3, MI_E4, MI_SUST, MENU
), ),
[_DORIAN] = LAYOUT_ortho_3x10( [_DORIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______, MI_C1, MI_F1, MI_As1, MI_Ds2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_A_3, MI_D_4, _______, _______, MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_A3, MI_D4, _______, _______,
MI_Ds_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______ MI_Ds1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
), ),
[_PHRYGIAN] = LAYOUT_ortho_3x10( [_PHRYGIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_Cs_3, MI_G_3, MI_C_4, _______, _______, MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_G3, MI_C4, _______, _______,
MI_Cs_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_Cs_4, _______, _______, MI_Cs1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_Cs_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______ MI_Ds1, MI_Gs1, MI_Cs2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
), ),
[_LYDIAN] = LAYOUT_ortho_3x10( [_LYDIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_Fs_1, MI_B_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______, MI_C1, MI_Fs1, MI_B1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_Fs_2, MI_B_2, MI_E_3, MI_A_3, MI_D_4, _______, _______, MI_D1, MI_G1, MI_C2, MI_Fs2, MI_B2, MI_E3, MI_A3, MI_D4, _______, _______,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_Fs_3, MI_B_3, MI_E_4, _______, _______ MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_Fs3, MI_B3, MI_E4, _______, _______
), ),
[_MIXOLYDIAN] = LAYOUT_ortho_3x10( [_MIXOLYDIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_E_2, MI_A_2, MI_D_3, MI_G_3, MI_C_4, _______, _______, MI_C1, MI_F1, MI_As1, MI_E2, MI_A2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_E_3, MI_A_3, MI_D_4, _______, _______, MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_E3, MI_A3, MI_D4, _______, _______,
MI_E_1, MI_A_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_E_4, _______, _______ MI_E1, MI_A1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_E4, _______, _______
), ),
[_AEOLIAN] = LAYOUT_ortho_3x10( [_AEOLIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_D_3, MI_G_3, MI_C_4, _______, _______, MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_D3, MI_G3, MI_C4, _______, _______,
MI_D_1, MI_G_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_D_4, _______, _______, MI_D1, MI_G1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_D4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_D_2, MI_G_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______ MI_Ds1, MI_Gs1, MI_D2, MI_G2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
), ),
[_LOCRIAN] = LAYOUT_ortho_3x10( [_LOCRIAN] = LAYOUT_ortho_3x10(
MI_C_1, MI_F_1, MI_As_1, MI_Ds_2, MI_Gs_2, MI_Cs_3, MI_Fs_3, MI_C_4, _______, _______, MI_C1, MI_F1, MI_As1, MI_Ds2, MI_Gs2, MI_Cs3, MI_Fs3, MI_C4, _______, _______,
MI_Cs_1, MI_Fs_1, MI_C_2, MI_F_2, MI_As_2, MI_Ds_3, MI_Gs_3, MI_Cs_4, _______, _______, MI_Cs1, MI_Fs1, MI_C2, MI_F2, MI_As2, MI_Ds3, MI_Gs3, MI_Cs4, _______, _______,
MI_Ds_1, MI_Gs_1, MI_Cs_2, MI_Fs_2, MI_C_3, MI_F_3, MI_As_3, MI_Ds_4, _______, _______ MI_Ds1, MI_Gs1, MI_Cs2, MI_Fs2, MI_C3, MI_F3, MI_As3, MI_Ds4, _______, _______
), ),
[_MENU] = LAYOUT_ortho_3x10( [_MENU] = LAYOUT_ortho_3x10(

View file

@ -34,33 +34,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT( [_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3, MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1, MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP, MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1, MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1, MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE, MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5, MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4, TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4, MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
), ),
[_CLOSE] = LAYOUT( [_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3, MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1, MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP, MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1, MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1, MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE, MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5, MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4, TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5, MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
), ),
[_FN] = LAYOUT( [_FN] = LAYOUT(
@ -88,8 +88,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -64,33 +64,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT( [_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3, MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1, MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP, MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1, MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1, MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE, MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5, MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4, TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4, MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
), ),
[_CLOSE] = LAYOUT( [_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3, MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1, MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP, MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1, MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1, MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE, MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5, MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4, TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5, MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
), ),
[_QWERTY] = LAYOUT_wrapper( [_QWERTY] = LAYOUT_wrapper(
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -64,33 +64,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT( [_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3, MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1, MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, MI_B, MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, MI_B,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1, MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1, MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE, MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5, MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
MI_G_2, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4, MI_G2, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4, MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
), ),
[_CLOSE] = LAYOUT( [_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3, MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1, MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, MI_B, MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, MI_B,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1, MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1, MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE, MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5, MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
MI_G_2, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4, MI_G2, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5, MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
), ),
[_QWERTY] = LAYOUT_wrapper( [_QWERTY] = LAYOUT_wrapper(
@ -166,8 +166,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -35,33 +35,33 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_OPEN] = LAYOUT( [_OPEN] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Cs_2, MI_F_2, MI_Gs_3, MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
MI_E_1, MI_A_1, MI_G_2, MI_Ds_2, MI_F_3, MI_As_2, MI_F_1, MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
MI_D_2, MI_A_2, MI_C_3, MI_E_3, MI_C_2, MI_G_1, TG_SWAP, MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
MI_E_2, MI_Gs_2, MI_B_2, MI_D_3, MI_Fs_3, MI_Cs_3, MI_Fs_1, MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
MI_D_1, MI_B_1, MI_G_3, MI_A_3, MI_Ds_3, MI_Fs_2, MI_Ds_1, MI_C_1, MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
MO_SWAP, MI_B_5, MI_Gs_5, MI_G_5, MI_F_5, FN_MUTE, MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
MI_Cs_3, MI_A_5, MI_Fs_5, MI_E_5, MI_Ds_5, MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
MI_C_3, MI_D_3, MI_G_3, MI_As_4, MI_C_5, MI_D_5, MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
TG_SWAP, MI_B_2, MI_E_3, MI_Cs_4, MI_Fs_3, MI_A_3, MI_C_4, MI_E_4, TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
MI_A_2, MI_F_3, MI_As_3, MI_Gs_3, MI_B_3, MI_D_4, MI_Gs_4, MI_B_4, MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_Ds_4, MI_Fs_4, MI_A_4, MI_Cs_5, MI_G_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
), ),
[_CLOSE] = LAYOUT( [_CLOSE] = LAYOUT(
MI_Gs_1, MI_As_1, MI_Ds_2, MI_Ds_3, MI_G_3, MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
MI_D_1, MI_D_2, MI_As_2, MI_C_3, MI_Cs_2, MI_C_2, MI_Fs_1, MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
MI_G_1, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_Fs_2, TG_SWAP, MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
MI_A_1, MI_E_2, MI_A_2, MI_Cs_3, MI_E_3, MI_Gs_2, MI_B_1, MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
MI_E_1, MI_E_2, MI_Fs_3, MI_Gs_3, MI_B_3, MI_F_2, MI_Cs_1, MI_F_1, MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
MO_SWAP, MI_A_5, MI_Gs_5, MI_Fs_5, MI_F_5, FN_MUTE, MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
MI_C_3, MI_G_5, MI_As_4, MI_C_5, MI_Ds_5, MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
MI_D_3, MI_Cs_3, MI_Gs_3, MI_As_3, MI_C_4, MI_D_5, MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
TG_SWAP, MI_B_2, MI_Fs_3, MI_Fs_4, MI_G_3, MI_B_3, MI_D_4, MI_G_4, TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
MI_A_2, MI_F_3, MI_E_3, MI_A_3, MI_Cs_4, MI_E_4, MI_A_4, MI_Cs_5, MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
MI_Gs_2, MI_As_2, MI_Ds_3, MI_F_4, MI_E_4, MI_Gs_4, MI_B_4, MI_E_5, MI_Ds_4 MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
), ),
[_MISC] = LAYOUT( [_MISC] = LAYOUT(
@ -105,8 +105,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;

View file

@ -33,16 +33,16 @@ enum custom_keycodes {
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */ /* Base */
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
MI_TRNSD, MI_TRNSU, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, MI_TRSD, MI_TRSU, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* RESERVE */ /* RESERVE */
@ -71,8 +71,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_1 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(1UL << _BASE); default_layer_set(1UL << _BASE);

View file

@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen. static bool is_trans_mode = false; // By default, shift mode is chosen.
@ -215,57 +215,57 @@ static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By defau
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */ /* Base */
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* 1 octave on the left side is ch2, others are ch1 (normal) */ /* 1 octave on the left side is ch2, others are ch1 (normal) */
[_SEPALEFTOCT] = LAYOUT( [_SEPALEFTOCT] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* Half ch2, half ch1 (normal) */ /* Half ch2, half ch1 (normal) */
[_SEPAHALF] = LAYOUT( [_SEPAHALF] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* 2 octave on the left side is ch2, others are ch1 (normal) */ /* 2 octave on the left side is ch2, others are ch1 (normal) */
[_SEPARIGHTOCT] = LAYOUT( [_SEPARIGHTOCT] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* TRANS This layer must locate 1 layer below _FN layer. */ /* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT( [_TRANS] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
/* Flip Base SFIFTUP and SHIFT_L are swapped. */ /* Flip Base SFIFTUP and SHIFT_L are swapped. */
[_FLIPBASE] = LAYOUT( [_FLIPBASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2, SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2,
MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2 MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2
), ),
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */ /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */
[_FLIPTRANS] = LAYOUT( [_FLIPTRANS] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
@ -292,8 +292,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_1 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE); default_layer_set(_LS_BASE);

View file

@ -206,7 +206,7 @@ static uint8_t my_tone_status[MY_TONE_COUNT];
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen. static bool is_trans_mode = false; // By default, shift mode is chosen.
@ -215,57 +215,57 @@ static uint8_t key_separator_col = _KEY01; // (_KEY01 .. _KEY37). By defau
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */ /* Base */
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* 1 octave on the left side is ch2, others are ch1 (normal) */ /* 1 octave on the left side is ch2, others are ch1 (normal) */
[_SEPALEFTOCT] = LAYOUT( [_SEPALEFTOCT] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* Half ch2, half ch1 (normal) */ /* Half ch2, half ch1 (normal) */
[_SEPAHALF] = LAYOUT( [_SEPAHALF] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* 2 octave on the left side is ch2, others are ch1 (normal) */ /* 2 octave on the left side is ch2, others are ch1 (normal) */
[_SEPARIGHTOCT] = LAYOUT( [_SEPARIGHTOCT] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, YM_C_2, YM_D_2, YM_E_2, YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
_______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 _______, YM_Db_2, YM_Eb_2, YM_F_2, YM_G_2, YM_A_2, YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3, YM_G_3, YM_A_3, YM_B_3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* TRANS This layer must locate 1 layer below _FN layer. */ /* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT( [_TRANS] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
/* Flip Base SFIFTUP and SHIFT_L are swapped. */ /* Flip Base SFIFTUP and SHIFT_L are swapped. */
[_FLIPBASE] = LAYOUT( [_FLIPBASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
SHIFT_L, SHIFT_R, MI_C_5, MI_Bb_4, MI_Ab_4, MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3, MI_Bb_2, MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2, SHIFT_L, SHIFT_R, MI_C5, MI_Bb4, MI_Ab4, MI_Fs4, MI_E4, MI_D4, MI_C4, MI_Bb3, MI_Ab3, MI_Fs3, MI_E3, MI_D3, MI_C3, MI_Bb2, MI_Ab2, MI_Fs2, MI_E2, MI_D2, MI_C2,
MI_BENDD, MI_B_4, MI_A_4, MI_G_4, MI_F_4, MI_Eb_4, MI_Db_4, MI_B_3, MI_A_3, MI_G_3, MI_F_3, MI_Eb_3, MI_Db_3, MI_B_2, MI_A_2, MI_G_2, MI_F_2, MI_Eb_2, MI_Db_2 MI_BNDD, MI_B4, MI_A4, MI_G4, MI_F4, MI_Eb4, MI_Db4, MI_B3, MI_A3, MI_G3, MI_F3, MI_Eb3, MI_Db3, MI_B2, MI_A2, MI_G2, MI_F2, MI_Eb2, MI_Db2
), ),
/* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRNSU and MI_TRNSD are swapped. */ /* Flip Trans This layer must locate 1 layer above _FLIPBASE layer. MI_TRSU and MI_TRSD are swapped. */
[_FLIPTRANS] = LAYOUT( [_FLIPTRANS] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
MI_TRNSU, MI_TRNSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSU, MI_TRSD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
@ -293,8 +293,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_1 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE); default_layer_set(_LS_BASE);

View file

@ -54,24 +54,24 @@ enum custom_keycodes {
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
static bool is_trans_mode = false; // By default, shift mode is chosen. static bool is_trans_mode = false; // By default, shift mode is chosen.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */ /* Base */
[_BASE] = LAYOUT( [_BASE] = LAYOUT(
FN_MUTE, MI_SUS, FN_MUTE, MI_SUST,
MI_BENDU, MI_BNDU,
SHIFT_L, SHIFT_R, MI_C_2, MI_D_2, MI_E_2, MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_D_4, MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5, SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
MI_BENDD, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4, MI_G_4, MI_A_4, MI_B_4 MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
), ),
/* TRANS This layer must locate 1 layer below _FN layer. */ /* TRANS This layer must locate 1 layer below _FN layer. */
[_TRANS] = LAYOUT( [_TRANS] = LAYOUT(
_______, _______, _______, _______,
_______, _______,
MI_TRNSD, MI_TRNSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
@ -102,8 +102,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
// commom codes called from eeconfig_init_user() and keyboard_post_init_user(). // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_1 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
default_layer_set(_LS_BASE); default_layer_set(_LS_BASE);

View file

@ -97,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ // └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
[_MIDI] = LAYOUT( [_MIDI] = LAYOUT(
MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3,
MI_As_2, MI_B_2, MI_C_3, MI_Cs_3, MI_D_3, MI_As2, MI_B2, MI_C3, MI_Cs3, MI_D3,
MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, TG(_MIDI), MI_F2, MI_Fs2, MI_G2, MI_Gs2, TG(_MIDI),
_______, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2 _______, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2
), ),
// MOUSE LAYER // MOUSE LAYER

View file

@ -88,11 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED) #if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
/* Keymap _MI: MIDI layer (Advanced)*/ /* Keymap _MI: MIDI layer (Advanced)*/
[_MI] = LAYOUT( [_MI] = LAYOUT(
TO_BASE,MI_VEL_1,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, MI_CHD, MI_CHU, XXXXXXX, XXXXXXX, XXXXXXX, TO_BASE, MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, MI_CHND, MI_CHNU, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs_1, MI_Ds_1, XXXXXXX, MI_Fs_1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, MI_Fs1, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, XXXXXXX, MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, XXXXXXX,
MI_SUS, XXXXXXX, MI_OCTD, MI_OCTU,MI_MODSD,MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD,MI_TRNSU,MI_TRNS_0, MI_SUS, XXXXXXX, MI_SUST, XXXXXXX, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, MI_ALLOFF, MI_ALLOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_AOFF, MI_AOFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX),
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC) #elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
/* Keymap _MI: MIDI layer (Basic)*/ /* Keymap _MI: MIDI layer (Basic)*/
[_MI] = LAYOUT( [_MI] = LAYOUT(

View file

@ -19,10 +19,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[0] = LAYOUT_ortho_4x12( [0] = LAYOUT_ortho_4x12(
MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4, MI_C4, MI_Cs4, MI_D4, MI_Ds4, MI_E4, MI_F4, MI_Fs4, MI_G4, MI_Gs4, MI_A4, MI_As4, MI_B4,
MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3, MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, MI_A3, MI_As3, MI_B3,
MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2,
MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1 MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, MI_A1, MI_As1, MI_B1
) )
}; };

View file

@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------------------------------------------------------------------------' * `------------------------------------------------------------------------'
*/ */
[_ML] = LAYOUT_60_ansi( [_ML] = LAYOUT_60_ansi(
TG(_ML), MI_VEL_1, 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, XXXXXXX, XXXXXXX, XXXXXXX, TG(_ML), MI_VL1, MI_VL2, MI_VL3, MI_VL4, MI_VL5, MI_VL6, MI_VL7, MI_VL8, MI_VL9, MI_VL10, XXXXXXX, XXXXXXX, XXXXXXX,
MI_CHU, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs_1, MI_Ds_1, XXXXXXX, XXXXXXX, XXXXXXX, MI_CHU, XXXXXXX, MI_Cs, MI_Ds, XXXXXXX, MI_Fs, MI_Gs, MI_As, XXXXXXX, MI_Cs1, MI_Ds1, XXXXXXX, XXXXXXX, XXXXXXX,
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, _______, MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, _______,
MI_SUS, MI_OCTD, MI_OCTU, MI_MODSD, MI_MODSU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRNSD, MI_TRNSU, MI_TRNS_0, MI_SUS, MI_SUST, MI_OCTD, MI_OCTU, MI_MODD, MI_MODU, XXXXXXX, XXXXXXX, XXXXXXX, MI_TRSD, MI_TRSU, MI_TR0, MI_SUST,
_______, _______, _______, MI_ALLOFF, _______, _______, _______, _______ _______, _______, _______, MI_AOFF, _______, _______, _______, _______
), ),
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC) #elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
/* Keymap _ML: MIDI Layer (Advanced) /* Keymap _ML: MIDI Layer (Advanced)

View file

@ -30,7 +30,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2) #define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1) #define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -205,10 +205,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* fake B-system */ /* fake B-system */
@ -219,10 +219,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2, MI_Ab2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______, MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5 MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
), ),
/* BASS2row */ /* BASS2row */
@ -233,38 +233,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* C-system entirely */ /* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT( [_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2, XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* Chromatone */ /* Chromatone */
[_CHROMATONE] = LAYOUT( [_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2, MI_C2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3 MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
), ),
[_CFLIP_BASS2ROW] = LAYOUT( [_CFLIP_BASS2ROW] = LAYOUT(
@ -274,10 +274,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5, MI_G5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE, MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2, MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2 MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
), ),
/* QWERTY */ /* QWERTY */
@ -332,7 +332,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG, CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, XXXXXXX, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
) )
@ -428,8 +428,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE #endif // RGBLIGHT_ENABLE
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
} }
@ -438,7 +438,7 @@ void eeconfig_init_user(void) {
midi_init(); midi_init();
my_init(); my_init();
// Used to set octave to MI_OCT_0 // Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags // UNISON flags
@ -646,7 +646,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS()); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation); switch_keylight_color4bass(record, keylocation);
@ -654,7 +654,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -663,7 +663,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -672,7 +672,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -681,7 +681,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE

View file

@ -29,7 +29,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2) #define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1) #define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -206,10 +206,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* fake B-system */ /* fake B-system */
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2, MI_Ab2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______, MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5 MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
), ),
/* BASS2row */ /* BASS2row */
@ -234,52 +234,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* C-system entirely */ /* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT( [_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2, XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* C-system free bass */ /* C-system free bass */
[_C_SYSTEM_FREEBASS] = LAYOUT( [_C_SYSTEM_FREEBASS] = LAYOUT(
MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E,
MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb,
MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D, MI_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* Chromatone */ /* Chromatone */
[_CHROMATONE] = LAYOUT( [_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2, MI_C2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3 MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
), ),
[_CFLIP_BASS2ROW] = LAYOUT( [_CFLIP_BASS2ROW] = LAYOUT(
@ -289,10 +289,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5, MI_G5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE, MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2, MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2 MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
), ),
/* QWERTY */ /* QWERTY */
@ -347,7 +347,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG, CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, XXXXXXX, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
) )
@ -442,8 +442,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE #endif // RGBLIGHT_ENABLE
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
} }
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
midi_init(); midi_init();
my_init(); my_init();
// Used to set octave to MI_OCT_0 // Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags // UNISON flags
@ -661,7 +661,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS()); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation); switch_keylight_color4bass(record, keylocation);
@ -669,7 +669,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -678,7 +678,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -687,7 +687,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -696,7 +696,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,10 +156,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* QWERTY */ /* QWERTY */
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -227,30 +227,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break; break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,11 +156,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
), ),
/* QWERTY */ /* QWERTY */
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -230,30 +230,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break; break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -168,11 +168,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
), ),
/* BASS2row */ /* BASS2row */
@ -184,41 +184,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
), ),
/* C-system entirely */ /* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT_giabarinaix2( [_C_SYSTEM_ENTIRELY] = LAYOUT_giabarinaix2(
XXXXXXX, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, XXXXXXX, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
XXXXXXX, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, XXXXXXX, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2, XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5,
MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5,
MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5, FN_MUTE MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5, FN_MUTE
), ),
/* Chromatone */ /* Chromatone */
[_CHROMATONE] = LAYOUT_giabarinaix2( [_CHROMATONE] = LAYOUT_giabarinaix2(
XXXXXXX, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, XXXXXXX, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1,
XXXXXXX, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, XXXXXXX, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1,
XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, XXXXXXX, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1,
MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1,
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A1, MI_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3,
MI_Bb_1, MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb1, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3,
MI_B_1, MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B1, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, FN_MUTE MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, FN_MUTE
), ),
/* QWERTY */ /* QWERTY */
@ -291,8 +291,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE #endif // RGBLIGHT_ENABLE
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -404,14 +404,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
switch_keylight_color4bass(record, keylocation); switch_keylight_color4bass(record, keylocation);
#endif #endif
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -419,7 +419,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif #endif
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -427,7 +427,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif #endif
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -435,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif #endif
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE

View file

@ -29,7 +29,7 @@
#define ADJ_EIS LT(_ADJUST,KC_LNG2) #define ADJ_EIS LT(_ADJUST,KC_LNG2)
#define MIS_KAN LT(_MISC,KC_LNG1) #define MIS_KAN LT(_MISC,KC_LNG1)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -206,10 +206,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* fake B-system */ /* fake B-system */
@ -220,10 +220,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
MI_Ab_2, MI_Ab2,
MI_A_2, MI_C_3, MI_Eb_3, MI_Gb_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Gb_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Gb_5, _______, MI_A2, MI_C3, MI_Eb3, MI_Gb3, MI_A3, MI_C4, MI_Eb4, MI_Gb4, MI_A4, MI_C5, MI_Eb5, MI_Gb5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5 MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5
), ),
/* BASS2row */ /* BASS2row */
@ -234,52 +234,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, _______, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, _______,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* C-system entirely */ /* C-system entirely */
[_C_SYSTEM_ENTIRELY] = LAYOUT( [_C_SYSTEM_ENTIRELY] = LAYOUT(
MI_BENDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_BNDU, XXXXXXX, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2,
MI_BENDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_BNDD, XXXXXXX, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2,
XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D_1, MI_F_1, MI_Ab_1, MI_B_1, MI_D_2, MI_F_2, XXXXXXX, XXXXXXX, MI_D, MI_F, MI_Ab, MI_B, MI_D1, MI_F1, MI_Ab1, MI_B1, MI_D2, MI_F2,
XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db_1, MI_E_1, MI_G_1, MI_Bb_1, MI_Db_2, MI_E_2, MI_G_2, XXXXXXX, MI_Db, MI_E, MI_G, MI_Bb, MI_Db1, MI_E1, MI_G1, MI_Bb1, MI_Db2, MI_E2, MI_G2,
MI_C, MI_Eb, MI_Fs, MI_A, MI_C_1, MI_Eb_1, MI_Fs_1, MI_A_1, MI_C_2, MI_Eb_2, MI_Fs_2, MI_A_2, MI_C, MI_Eb, MI_Fs, MI_A, MI_C1, MI_Eb1, MI_Fs1, MI_A1, MI_C2, MI_Eb2, MI_Fs2, MI_A2,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* C-system free bass */ /* C-system free bass */
[_C_SYSTEM_FREEBASS] = LAYOUT( [_C_SYSTEM_FREEBASS] = LAYOUT(
MI_Db_3, MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db3, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E,
MI_C_3, MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C3, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb,
MI_B_2, MI_Ab_2, MI_F_2, MI_D_2, MI_B_1, MI_Ab_1, MI_F_1, MI_D_1, MI_B, MI_Ab, MI_F, MI_D, MI_B2, MI_Ab2, MI_F2, MI_D2, MI_B1, MI_Ab1, MI_F1, MI_D1, MI_B, MI_Ab, MI_F, MI_D,
MI_Bb_2, MI_G_2, MI_E_2, MI_Db_2, MI_Bb_1, MI_G_1, MI_E_1, MI_Db_1, MI_Bb, MI_G, MI_E, MI_Db, MI_Bb2, MI_G2, MI_E2, MI_Db2, MI_Bb1, MI_G1, MI_E1, MI_Db1, MI_Bb, MI_G, MI_E, MI_Db,
MI_A_2, MI_Fs_2, MI_Eb_2, MI_C_2, MI_A_1, MI_Fs_1, MI_Eb_1, MI_C_1, MI_A, MI_Fs, MI_Eb, MI_C, MI_A2, MI_Fs2, MI_Eb2, MI_C2, MI_A1, MI_Fs1, MI_Eb1, MI_C1, MI_A, MI_Fs, MI_Eb, MI_C,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* Chromatone */ /* Chromatone */
[_CHROMATONE] = LAYOUT( [_CHROMATONE] = LAYOUT(
MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1,
MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2,
MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2,
MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C_1, MI_D_1, MI_E_1, MI_Fs_1, MI_Ab_1, MI_Bb_1, MI_C_2, MI_D_2, MI_E, MI_Fs, MI_Ab, MI_Bb, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Ab1, MI_Bb1, MI_C2, MI_D2,
MI_F, MI_G, MI_A, MI_B, MI_Db_1, MI_Eb_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_Db_2, MI_Eb_2, MI_F, MI_G, MI_A, MI_B, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Db2, MI_Eb2,
MI_C_2, MI_C2,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3, FN_MUTE, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, FN_MUTE,
MI_C_2, MI_D_2, MI_E_2, MI_Gb_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Gb_3, MI_Ab_3, MI_Bb_3, MI_C_4, MI_C2, MI_D2, MI_E2, MI_Gb2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Gb3, MI_Ab3, MI_Bb3, MI_C4,
MI_Db_2, MI_Eb_2, MI_F_2, MI_G_2, MI_A_2, MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3, MI_G_3, MI_A_3, MI_B_3 MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3
), ),
[_CFLIP_BASS2ROW] = LAYOUT( [_CFLIP_BASS2ROW] = LAYOUT(
@ -289,10 +289,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Fsm,
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_G_5, MI_G5,
MI_F_5, MI_D_5, MI_B_4, MI_Ab_4, MI_F_4, MI_D_4, MI_B_3, MI_Ab_3, MI_F_3, MI_D_3, MI_B_2, MI_Ab_2, FN_MUTE, MI_F5, MI_D5, MI_B4, MI_Ab4, MI_F4, MI_D4, MI_B3, MI_Ab3, MI_F3, MI_D3, MI_B2, MI_Ab2, FN_MUTE,
MI_Fs_5, MI_Eb_5, MI_C_5, MI_A_4, MI_Fs_4, MI_Eb_4, MI_C_4, MI_A_3, MI_Fs_3, MI_Eb_3, MI_C_3, MI_A_2, MI_Fs_2, MI_Fs5, MI_Eb5, MI_C5, MI_A4, MI_Fs4, MI_Eb4, MI_C4, MI_A3, MI_Fs3, MI_Eb3, MI_C3, MI_A2, MI_Fs2,
MI_E_5, MI_Db_5, MI_Bb_4, MI_G_4, MI_E_4, MI_Db_4, MI_Bb_3, MI_G_3, MI_E_3, MI_Db_3, MI_Bb_2, MI_G_2 MI_E5, MI_Db5, MI_Bb4, MI_G4, MI_E4, MI_Db4, MI_Bb3, MI_G3, MI_E3, MI_Db3, MI_Bb2, MI_G2
), ),
/* QWERTY */ /* QWERTY */
@ -347,7 +347,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX,
MI_OCT_N2, MI_OCT_N1, MI_OCT_0, MI_OCT_1, MI_OCT_2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______, MI_OCN2, MI_OCN1, MI_OC0, MI_OC1, MI_OC2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, EE_CLR, _______,
CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG, CSYSTEM, BSYSTEM, CNTBASC, CSYSALL, CHRTONE, CFLIP2B, CSYSFBS, XXXXXXX, XXXXXXX, MI_VELD, MI_VELU, RGB_MOD, RGB_TOG,
XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH XXXXXXX, TGLBASS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TGLUVEL, MELDYAL, MELODYS, MELDYAH
) )
@ -442,8 +442,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif // RGBLIGHT_ENABLE #endif // RGBLIGHT_ENABLE
void my_init(void){ void my_init(void){
// Set octave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
} }
@ -452,7 +452,7 @@ void eeconfig_init_user(void) {
midi_init(); midi_init();
my_init(); my_init();
// Used to set octave to MI_OCT_0 // Used to set octave to 0
midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
// UNISON flags // UNISON flags
@ -710,7 +710,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS()); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, IS_SINGLE_BASS());
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
keylight_manager(record, HSV_GOLDENROD, keylocation); keylight_manager(record, HSV_GOLDENROD, keylocation);
@ -718,7 +718,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -727,7 +727,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -736,7 +736,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
@ -745,7 +745,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,10 +156,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Fs_2, MI_Fs2,
MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F_5, FN_MUTE, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5, MI_F5, FN_MUTE,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5, MI_G5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, MI_Fs_5 MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, MI_Fs5
), ),
/* QWERTY */ /* QWERTY */
@ -200,8 +200,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -228,30 +228,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break; break;

View file

@ -24,7 +24,7 @@
// Long press: go to _FN layer, tap: MUTE // Long press: go to _FN layer, tap: MUTE
#define FN_MUTE LT(_FN, KC_MUTE) #define FN_MUTE LT(_FN, KC_MUTE)
// Used to set octave to MI_OCT_0 // Used to set octave to 0
extern midi_config_t midi_config; extern midi_config_t midi_config;
uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel. uint8_t midi_bass_ch = 0, midi_chord_ch = 0; // By default, all use the same channel.
@ -156,11 +156,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, MI_CH_FDom7, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_FsDom7,
MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, MI_CH_CDim7, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_FsDim7,
MI_Db_2, MI_E_2, MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db2, MI_E2, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4,
MI_Eb_2, MI_Fs_2, MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb2, MI_Fs2, MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5,
MI_F_2, MI_Ab_2, MI_B_2, MI_D_3, MI_F_3, MI_Ab_3, MI_B_3, MI_D_4, MI_F_4, MI_Ab_4, MI_B_4, MI_D_5, MI_F2, MI_Ab2, MI_B2, MI_D3, MI_F3, MI_Ab3, MI_B3, MI_D4, MI_F4, MI_Ab4, MI_B4, MI_D5,
MI_G_2, MI_Bb_2, MI_Db_3, MI_E_3, MI_G_3, MI_Bb_3, MI_Db_4, MI_E_4, MI_G_4, MI_Bb_4, MI_Db_5, MI_E_5, MI_G2, MI_Bb2, MI_Db3, MI_E3, MI_G3, MI_Bb3, MI_Db4, MI_E4, MI_G4, MI_Bb4, MI_Db5, MI_E5,
MI_A_2, MI_C_3, MI_Eb_3, MI_Fs_3, MI_A_3, MI_C_4, MI_Eb_4, MI_Fs_4, MI_A_4, MI_C_5, MI_Eb_5, FN_MUTE MI_A2, MI_C3, MI_Eb3, MI_Fs3, MI_A3, MI_C4, MI_Eb4, MI_Fs4, MI_A4, MI_C5, MI_Eb5, FN_MUTE
), ),
/* QWERTY */ /* QWERTY */
@ -203,8 +203,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif #endif
void keyboard_post_init_user(void) { void keyboard_post_init_user(void) {
// Set otave to MI_OCT_0 // Set octave to 0
midi_config.octave = MI_OCT_0 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
// avoid using 127 since it is used as a special number in some sound sources. // avoid using 127 since it is used as a special number in some sound sources.
midi_config.velocity = MIDI_INITIAL_VELOCITY; midi_config.velocity = MIDI_INITIAL_VELOCITY;
@ -230,30 +230,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// MIDI Chord Keycodes, on the left side. // MIDI Chord Keycodes, on the left side.
case MI_CH_Cr ... MI_CH_Br: // Root Notes case MI_CH_Cr ... MI_CH_Br: // Root Notes
root_note = keycode - MI_CH_Cr + MI_C_1; root_note = keycode - MI_CH_Cr + MI_C1;
my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false); my_process_midi4Bass(midi_bass_ch, record, chord_status, chord, root_note, false);
break; break;
case MI_CH_C ... MI_CH_B: // Major Chords case MI_CH_C ... MI_CH_B: // Major Chords
root_note = keycode - MI_CH_C + MI_C_2; root_note = keycode - MI_CH_C + MI_C2;
// Root, Major Third, and Fifth Notes // Root, Major Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 4, 7);
break; break;
case MI_CH_Cm ... MI_CH_Bm: // Minor Chord case MI_CH_Cm ... MI_CH_Bm: // Minor Chord
root_note = keycode - MI_CH_Cm + MI_C_2; root_note = keycode - MI_CH_Cm + MI_C2;
// Root, Minor Third, and Fifth Notes // Root, Minor Third, and Fifth Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 7);
break; break;
case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord case MI_CH_CDom7 ... MI_CH_BDom7: // Dominant 7th Chord
root_note = keycode - MI_CH_CDom7 + MI_C_2; root_note = keycode - MI_CH_CDom7 + MI_C2;
// Major Third, Major Fifth, and Minor Seventh Notes // Major Third, Major Fifth, and Minor Seventh Notes
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 4, 7, 10);
break; break;
case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord case MI_CH_CDim7 ... MI_CH_BDim7: // Diminished 7th Chord
root_note = keycode - MI_CH_CDim7 + MI_C_2; root_note = keycode - MI_CH_CDim7 + MI_C2;
// Root, Minor Third, and Diminished 5th Note // Root, Minor Third, and Diminished 5th Note
my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6); my_process_midi4TriadChords(midi_chord_ch, record, chord_status, chord, root_note, 0, 3, 6);
break; break;

View file

@ -91,10 +91,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/ */
[_MIDI] = LAYOUT( \ [_MIDI] = LAYOUT( \
QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_C_2, MI_C_3, QWERTY, \ QWERTY, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_C2, MI_C3, QWERTY, \
MI_A_3, MI_As_3, MI_B_3, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, \ MI_A3, MI_As3, MI_B3, MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3, \
MI_A_2, MI_As_2, MI_B_2, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, \ MI_A2, MI_As2, MI_B2, MI_C2, MI_Cs2, MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2, MI_G2, MI_Gs2, \
MI_A_1, MI_As_1, MI_B_1, MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, \ MI_A1, MI_As1, MI_B1, MI_C1, MI_Cs1, MI_D1, MI_Ds1, MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1, \
MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs \ MI_A, MI_As, MI_B, MI_C, MI_Cs, MI_D, MI_Ds, MI_E, MI_F, MI_Fs, MI_G, MI_Gs \
), ),

View file

@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_mit( [_ADJUST] = LAYOUT_planck_mit(
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI, KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI,
_______, MI_ON, MI_OFF, MI_TOG, MU_ON, MU_OFF, MU_TOG, MU_MOD, AU_ON, AU_OFF, _______, _______, _______, MI_ON, MI_OFF, MI_TOGG, MU_ON, MU_OFF, MU_TOG, MU_MOD, AU_ON, AU_OFF, _______, _______,
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
), ),
@ -123,8 +123,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MIDI] = LAYOUT_planck_mit( [_MIDI] = LAYOUT_planck_mit(
MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs,
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C, MI_D, MI_E, MI_F, MI_G, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C, MI_D, MI_E, MI_F, MI_G,
MI_BENDU,MI_OCTU, MI_TRNSU,MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHU, MI_TOG, MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHNU, MI_TOG,
MI_BENDD,MI_OCTD, MI_TRNSD,MI_VELD, MYNAV, MI_SUS, MYNUM, _______, MI_OFF, MI_CHD, MI_ALLOFF MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MYNAV, MI_SUST, MYNUM, _______, MI_OFF, MI_CHND, MI_AOFF
) )
}; };

View file

@ -114,9 +114,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |---------------------------------------------------------------------------------------| * |---------------------------------------------------------------------------------------|
*/ */
[6] = LAYOUT( [6] = LAYOUT(
MI_C_1, MI_E_1, MI_G_1, MI_B_1, MI_D_2, MI_F_2, MI_A_2, MI_C_3, MI_E_3, MI_G_3, KC_NO, MI_C1, MI_E1, MI_G1, MI_B1, MI_D2, MI_F2, MI_A2, MI_C3, MI_E3, MI_G3, KC_NO,
MI_D_1, MI_F_1, MI_A_1, MI_C_2, MI_E_2, MI_G_2, MI_B_2, MI_D_3, MI_F_3, MI_A_3, TG(6), MI_D1, MI_F1, MI_A1, MI_C2, MI_E2, MI_G2, MI_B2, MI_D3, MI_F3, MI_A3, TG(6),
MI_OCTD, MI_OCTU, MI_TRNSD, MI_TRNSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO MI_OCTD, MI_OCTU, MI_TRSD, MI_TRSU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
) )
}; };

View file

@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT, MI_TOGG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_TOG, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_TOG, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
) )

View file

@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT, AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DB_TOGG, QK_BOOT,
CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP,
MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT, MI_TOGG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD
) )

View file

@ -86,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' '------''---------------------------' * `----------------------------------' '------''---------------------------'
*/ */
[_MIDI] = LAYOUT( [_MIDI] = LAYOUT(
MI_ALLOFF, MI_OCT_0, MI_OCT_1, MI_OCT_2, MI_OCT_3, MI_OCT_4, MI_OCT_5, MI_OCT_6, MI_OCT_7, _______, _______, MI_TOG, MI_AOFF, MI_OC0, MI_OC1, MI_OC2, MI_OC3, MI_OC4, MI_OC5, MI_OC6, MI_OC7, _______, _______, MI_TOGG,
_______, MI_Gs, MI_As, _______, MI_Cs_1, MI_Ds_1, _______, MI_Fs_1, MI_Gs_1, MI_As_1, _______, _______, _______, MI_Gs, MI_As, _______, MI_Cs1, MI_Ds1, _______, MI_Fs1, MI_Gs1, MI_As1, _______, _______,
_______, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, MI_A_1, MI_B_1, MI_C_2, KC_WORKMAN, _______, MI_A, MI_B, MI_C1, MI_D1, MI_E1, MI_F1, MI_G1, MI_A1, MI_B1, MI_C2, KC_WORKMAN,
_______, _______, _______, _______, MI_TRNSD, MI_TRNSU, _______, _______, MI_BENDD, MI_BENDU, _______, _______, _______, _______, _______, _______, _______, _______, MI_TRSD, MI_TRSU, _______, _______, MI_BNDD, MI_BNDU, _______, _______, _______, _______,
_______, _______, _______, MI_SUS, MI_OCTD, MI_OCTU, _______, _______, _______, _______ _______, _______, _______, MI_SUST, MI_OCTD, MI_OCTU, _______, _______, _______, _______
), ),
/* LOWER /* LOWER

View file

@ -128,7 +128,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NATURAL] = LAYOUT( [_NATURAL] = LAYOUT(
MI_C, MI_BENDD, MI_BENDU, MI_G, MI_C, MI_BNDD, MI_BNDU, MI_G,
MI_D, MIDI_CC80, MIDI_CC81, MI_A, MI_D, MIDI_CC80, MIDI_CC81, MI_A,
MI_E, MIDI_CC82, MIDI_CC83, MI_B, MI_E, MIDI_CC82, MIDI_CC83, MI_B,
MI_F, MI_OCTD, MI_OCTU, MI_C, MI_F, MI_OCTD, MI_OCTU, MI_C,
@ -137,12 +137,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MI_Cs, KC_TRNS, KC_TRNS, MI_Gs, MI_Cs, KC_TRNS, KC_TRNS, MI_Gs,
MI_Ds, KC_TRNS, KC_TRNS, MI_As, MI_Ds, KC_TRNS, KC_TRNS, MI_As,
MI_F , KC_TRNS, KC_TRNS, MI_C , MI_F , KC_TRNS, KC_TRNS, MI_C ,
MI_Fs, MI_TRNSD, MI_TRNSU, MI_Cs, MI_Fs, MI_TRSD, MI_TRSU, MI_Cs,
KC_TRNS, KC_TRNS), KC_TRNS, KC_TRNS),
[_FLAT] = LAYOUT( [_FLAT] = LAYOUT(
MI_B , KC_TRNS, KC_TRNS, MI_Gb, MI_B , KC_TRNS, KC_TRNS, MI_Gb,
MI_Db, KC_TRNS, KC_TRNS, MI_Ab, MI_Db, KC_TRNS, KC_TRNS, MI_Ab,
MI_Eb, KC_TRNS, KC_TRNS, MI_Bb, MI_Eb, KC_TRNS, KC_TRNS, MI_Bb,
MI_E , MI_TRNSD, MI_TRNSU, MI_B, MI_E , MI_TRSD, MI_TRSU, MI_B,
KC_TRNS, KC_TRNS), KC_TRNS, KC_TRNS),
}; };

View file

@ -22,9 +22,9 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NATURAL] = LAYOUT( [_NATURAL] = LAYOUT(
MI_C, MI_BENDD, MI_BENDU, MI_G, MI_C, MI_BNDD, MI_BNDU, MI_G,
MI_D, MI_VELD, MI_VELU, MI_A, MI_D, MI_VELD, MI_VELU, MI_A,
MI_E, MI_TRNSD, MI_TRNSU, MI_B, MI_E, MI_TRSD, MI_TRSU, MI_B,
MI_F, MI_OCTD, MI_OCTU, MI_C, MI_F, MI_OCTD, MI_OCTU, MI_C,
MO(_SHARP), MO(_FLAT)), MO(_SHARP), MO(_FLAT)),
[_SHARP] = LAYOUT( [_SHARP] = LAYOUT(

View file

@ -346,150 +346,150 @@ enum qk_keycode_defines {
MAGIC_SWAP_ESCAPE_CAPSLOCK = 0x7020, MAGIC_SWAP_ESCAPE_CAPSLOCK = 0x7020,
MAGIC_UNSWAP_ESCAPE_CAPSLOCK = 0x7021, MAGIC_UNSWAP_ESCAPE_CAPSLOCK = 0x7021,
MAGIC_TOGGLE_ESCAPE_CAPSLOCK = 0x7022, MAGIC_TOGGLE_ESCAPE_CAPSLOCK = 0x7022,
MI_ON = 0x7100, QK_MIDI_ON = 0x7100,
MI_OFF = 0x7101, QK_MIDI_OFF = 0x7101,
MI_TOG = 0x7102, QK_MIDI_TOGGLE = 0x7102,
MI_C = 0x7110, QK_MIDI_NOTE_C_0 = 0x7110,
MI_Cs = 0x7111, QK_MIDI_NOTE_C_SHARP_0 = 0x7111,
MI_D = 0x7112, QK_MIDI_NOTE_D_0 = 0x7112,
MI_Ds = 0x7113, QK_MIDI_NOTE_D_SHARP_0 = 0x7113,
MI_E = 0x7114, QK_MIDI_NOTE_E_0 = 0x7114,
MI_F = 0x7115, QK_MIDI_NOTE_F_0 = 0x7115,
MI_Fs = 0x7116, QK_MIDI_NOTE_F_SHARP_0 = 0x7116,
MI_G = 0x7117, QK_MIDI_NOTE_G_0 = 0x7117,
MI_Gs = 0x7118, QK_MIDI_NOTE_G_SHARP_0 = 0x7118,
MI_A = 0x7119, QK_MIDI_NOTE_A_0 = 0x7119,
MI_As = 0x711A, QK_MIDI_NOTE_A_SHARP_0 = 0x711A,
MI_B = 0x711B, QK_MIDI_NOTE_B_0 = 0x711B,
MI_C_1 = 0x7120, QK_MIDI_NOTE_C_1 = 0x7120,
MI_Cs_1 = 0x7121, QK_MIDI_NOTE_C_SHARP_1 = 0x7121,
MI_D_1 = 0x7122, QK_MIDI_NOTE_D_1 = 0x7122,
MI_Ds_1 = 0x7123, QK_MIDI_NOTE_D_SHARP_1 = 0x7123,
MI_E_1 = 0x7124, QK_MIDI_NOTE_E_1 = 0x7124,
MI_F_1 = 0x7125, QK_MIDI_NOTE_F_1 = 0x7125,
MI_Fs_1 = 0x7126, QK_MIDI_NOTE_F_SHARP_1 = 0x7126,
MI_G_1 = 0x7127, QK_MIDI_NOTE_G_1 = 0x7127,
MI_Gs_1 = 0x7128, QK_MIDI_NOTE_G_SHARP_1 = 0x7128,
MI_A_1 = 0x7129, QK_MIDI_NOTE_A_1 = 0x7129,
MI_As_1 = 0x712A, QK_MIDI_NOTE_A_SHARP_1 = 0x712A,
MI_B_1 = 0x712B, QK_MIDI_NOTE_B_1 = 0x712B,
MI_C_2 = 0x7130, QK_MIDI_NOTE_C_2 = 0x7130,
MI_Cs_2 = 0x7131, QK_MIDI_NOTE_C_SHARP_2 = 0x7131,
MI_D_2 = 0x7132, QK_MIDI_NOTE_D_2 = 0x7132,
MI_Ds_2 = 0x7133, QK_MIDI_NOTE_D_SHARP_2 = 0x7133,
MI_E_2 = 0x7134, QK_MIDI_NOTE_E_2 = 0x7134,
MI_F_2 = 0x7135, QK_MIDI_NOTE_F_2 = 0x7135,
MI_Fs_2 = 0x7136, QK_MIDI_NOTE_F_SHARP_2 = 0x7136,
MI_G_2 = 0x7137, QK_MIDI_NOTE_G_2 = 0x7137,
MI_Gs_2 = 0x7138, QK_MIDI_NOTE_G_SHARP_2 = 0x7138,
MI_A_2 = 0x7139, QK_MIDI_NOTE_A_2 = 0x7139,
MI_As_2 = 0x713A, QK_MIDI_NOTE_A_SHARP_2 = 0x713A,
MI_B_2 = 0x713B, QK_MIDI_NOTE_B_2 = 0x713B,
MI_C_3 = 0x7140, QK_MIDI_NOTE_C_3 = 0x7140,
MI_Cs_3 = 0x7141, QK_MIDI_NOTE_C_SHARP_3 = 0x7141,
MI_D_3 = 0x7142, QK_MIDI_NOTE_D_3 = 0x7142,
MI_Ds_3 = 0x7143, QK_MIDI_NOTE_D_SHARP_3 = 0x7143,
MI_E_3 = 0x7144, QK_MIDI_NOTE_E_3 = 0x7144,
MI_F_3 = 0x7145, QK_MIDI_NOTE_F_3 = 0x7145,
MI_Fs_3 = 0x7146, QK_MIDI_NOTE_F_SHARP_3 = 0x7146,
MI_G_3 = 0x7147, QK_MIDI_NOTE_G_3 = 0x7147,
MI_Gs_3 = 0x7148, QK_MIDI_NOTE_G_SHARP_3 = 0x7148,
MI_A_3 = 0x7149, QK_MIDI_NOTE_A_3 = 0x7149,
MI_As_3 = 0x714A, QK_MIDI_NOTE_A_SHARP_3 = 0x714A,
MI_B_3 = 0x714B, QK_MIDI_NOTE_B_3 = 0x714B,
MI_C_4 = 0x7150, QK_MIDI_NOTE_C_4 = 0x7150,
MI_Cs_4 = 0x7151, QK_MIDI_NOTE_C_SHARP_4 = 0x7151,
MI_D_4 = 0x7152, QK_MIDI_NOTE_D_4 = 0x7152,
MI_Ds_4 = 0x7153, QK_MIDI_NOTE_D_SHARP_4 = 0x7153,
MI_E_4 = 0x7154, QK_MIDI_NOTE_E_4 = 0x7154,
MI_F_4 = 0x7155, QK_MIDI_NOTE_F_4 = 0x7155,
MI_Fs_4 = 0x7156, QK_MIDI_NOTE_F_SHARP_4 = 0x7156,
MI_G_4 = 0x7157, QK_MIDI_NOTE_G_4 = 0x7157,
MI_Gs_4 = 0x7158, QK_MIDI_NOTE_G_SHARP_4 = 0x7158,
MI_A_4 = 0x7159, QK_MIDI_NOTE_A_4 = 0x7159,
MI_As_4 = 0x715A, QK_MIDI_NOTE_A_SHARP_4 = 0x715A,
MI_B_4 = 0x715B, QK_MIDI_NOTE_B_4 = 0x715B,
MI_C_5 = 0x7160, QK_MIDI_NOTE_C_5 = 0x7160,
MI_Cs_5 = 0x7161, QK_MIDI_NOTE_C_SHARP_5 = 0x7161,
MI_D_5 = 0x7162, QK_MIDI_NOTE_D_5 = 0x7162,
MI_Ds_5 = 0x7163, QK_MIDI_NOTE_D_SHARP_5 = 0x7163,
MI_E_5 = 0x7164, QK_MIDI_NOTE_E_5 = 0x7164,
MI_F_5 = 0x7165, QK_MIDI_NOTE_F_5 = 0x7165,
MI_Fs_5 = 0x7166, QK_MIDI_NOTE_F_SHARP_5 = 0x7166,
MI_G_5 = 0x7167, QK_MIDI_NOTE_G_5 = 0x7167,
MI_Gs_5 = 0x7168, QK_MIDI_NOTE_G_SHARP_5 = 0x7168,
MI_A_5 = 0x7169, QK_MIDI_NOTE_A_5 = 0x7169,
MI_As_5 = 0x716A, QK_MIDI_NOTE_A_SHARP_5 = 0x716A,
MI_B_5 = 0x716B, QK_MIDI_NOTE_B_5 = 0x716B,
MI_OCT_N2 = 0x7170, QK_MIDI_OCTAVE_N2 = 0x7170,
MI_OCT_N1 = 0x7171, QK_MIDI_OCTAVE_N1 = 0x7171,
MI_OCT_0 = 0x7172, QK_MIDI_OCTAVE_0 = 0x7172,
MI_OCT_1 = 0x7173, QK_MIDI_OCTAVE_1 = 0x7173,
MI_OCT_2 = 0x7174, QK_MIDI_OCTAVE_2 = 0x7174,
MI_OCT_3 = 0x7175, QK_MIDI_OCTAVE_3 = 0x7175,
MI_OCT_4 = 0x7176, QK_MIDI_OCTAVE_4 = 0x7176,
MI_OCT_5 = 0x7177, QK_MIDI_OCTAVE_5 = 0x7177,
MI_OCT_6 = 0x7178, QK_MIDI_OCTAVE_6 = 0x7178,
MI_OCT_7 = 0x7179, QK_MIDI_OCTAVE_7 = 0x7179,
MI_OCTD = 0x717A, QK_MIDI_OCTAVE_DOWN = 0x717A,
MI_OCTU = 0x717B, QK_MIDI_OCTAVE_UP = 0x717B,
MI_TRNS_N6 = 0x7180, QK_MIDI_TRANSPOSE_N6 = 0x7180,
MI_TRNS_N5 = 0x7181, QK_MIDI_TRANSPOSE_N5 = 0x7181,
MI_TRNS_N4 = 0x7182, QK_MIDI_TRANSPOSE_N4 = 0x7182,
MI_TRNS_N3 = 0x7183, QK_MIDI_TRANSPOSE_N3 = 0x7183,
MI_TRNS_N2 = 0x7184, QK_MIDI_TRANSPOSE_N2 = 0x7184,
MI_TRNS_N1 = 0x7185, QK_MIDI_TRANSPOSE_N1 = 0x7185,
MI_TRNS_0 = 0x7186, QK_MIDI_TRANSPOSE_0 = 0x7186,
MI_TRNS_1 = 0x7187, QK_MIDI_TRANSPOSE_1 = 0x7187,
MI_TRNS_2 = 0x7188, QK_MIDI_TRANSPOSE_2 = 0x7188,
MI_TRNS_3 = 0x7189, QK_MIDI_TRANSPOSE_3 = 0x7189,
MI_TRNS_4 = 0x718A, QK_MIDI_TRANSPOSE_4 = 0x718A,
MI_TRNS_5 = 0x718B, QK_MIDI_TRANSPOSE_5 = 0x718B,
MI_TRNS_6 = 0x718C, QK_MIDI_TRANSPOSE_6 = 0x718C,
MI_TRNSD = 0x718D, QK_MIDI_TRANSPOSE_DOWN = 0x718D,
MI_TRNSU = 0x718E, QK_MIDI_TRANSPOSE_UP = 0x718E,
MI_VEL_0 = 0x7190, QK_MIDI_VELOCITY_0 = 0x7190,
MI_VEL_1 = 0x7191, QK_MIDI_VELOCITY_1 = 0x7191,
MI_VEL_2 = 0x7192, QK_MIDI_VELOCITY_2 = 0x7192,
MI_VEL_3 = 0x7193, QK_MIDI_VELOCITY_3 = 0x7193,
MI_VEL_4 = 0x7194, QK_MIDI_VELOCITY_4 = 0x7194,
MI_VEL_5 = 0x7195, QK_MIDI_VELOCITY_5 = 0x7195,
MI_VEL_6 = 0x7196, QK_MIDI_VELOCITY_6 = 0x7196,
MI_VEL_7 = 0x7197, QK_MIDI_VELOCITY_7 = 0x7197,
MI_VEL_8 = 0x7198, QK_MIDI_VELOCITY_8 = 0x7198,
MI_VEL_9 = 0x7199, QK_MIDI_VELOCITY_9 = 0x7199,
MI_VEL_10 = 0x719A, QK_MIDI_VELOCITY_10 = 0x719A,
MI_VELD = 0x719B, QK_MIDI_VELOCITY_DOWN = 0x719B,
MI_VELU = 0x719C, QK_MIDI_VELOCITY_UP = 0x719C,
MI_CH1 = 0x71A0, QK_MIDI_CHANNEL_1 = 0x71A0,
MI_CH2 = 0x71A1, QK_MIDI_CHANNEL_2 = 0x71A1,
MI_CH3 = 0x71A2, QK_MIDI_CHANNEL_3 = 0x71A2,
MI_CH4 = 0x71A3, QK_MIDI_CHANNEL_4 = 0x71A3,
MI_CH5 = 0x71A4, QK_MIDI_CHANNEL_5 = 0x71A4,
MI_CH6 = 0x71A5, QK_MIDI_CHANNEL_6 = 0x71A5,
MI_CH7 = 0x71A6, QK_MIDI_CHANNEL_7 = 0x71A6,
MI_CH8 = 0x71A7, QK_MIDI_CHANNEL_8 = 0x71A7,
MI_CH9 = 0x71A8, QK_MIDI_CHANNEL_9 = 0x71A8,
MI_CH10 = 0x71A9, QK_MIDI_CHANNEL_10 = 0x71A9,
MI_CH11 = 0x71AA, QK_MIDI_CHANNEL_11 = 0x71AA,
MI_CH12 = 0x71AB, QK_MIDI_CHANNEL_12 = 0x71AB,
MI_CH13 = 0x71AC, QK_MIDI_CHANNEL_13 = 0x71AC,
MI_CH14 = 0x71AD, QK_MIDI_CHANNEL_14 = 0x71AD,
MI_CH15 = 0x71AE, QK_MIDI_CHANNEL_15 = 0x71AE,
MI_CH16 = 0x71AF, QK_MIDI_CHANNEL_16 = 0x71AF,
MI_CHD = 0x71B0, QK_MIDI_CHANNEL_DOWN = 0x71B0,
MI_CHU = 0x71B1, QK_MIDI_CHANNEL_UP = 0x71B1,
MI_ALLOFF = 0x71C0, QK_MIDI_ALL_NOTES_OFF = 0x71C0,
MI_SUS = 0x71C1, QK_MIDI_SUSTAIN = 0x71C1,
MI_PORT = 0x71C2, QK_MIDI_PORTAMENTO = 0x71C2,
MI_SOST = 0x71C3, QK_MIDI_SOSTENUTO = 0x71C3,
MI_SOFT = 0x71C4, QK_MIDI_SOFT = 0x71C4,
MI_LEG = 0x71C5, QK_MIDI_LEGATO = 0x71C5,
MI_MOD = 0x71C6, QK_MIDI_MODULATION = 0x71C6,
MI_MODSD = 0x71C7, QK_MIDI_MODULATION_SPEED_DOWN = 0x71C7,
MI_MODSU = 0x71C8, QK_MIDI_MODULATION_SPEED_UP = 0x71C8,
MI_BENDD = 0x71C9, QK_MIDI_PITCH_BEND_DOWN = 0x71C9,
MI_BENDU = 0x71CA, QK_MIDI_PITCH_BEND_UP = 0x71CA,
SQ_ON = 0x7200, SQ_ON = 0x7200,
SQ_OFF = 0x7201, SQ_OFF = 0x7201,
SQ_TOG = 0x7202, SQ_TOG = 0x7202,
@ -898,36 +898,180 @@ enum qk_keycode_defines {
EC_SWAP = MAGIC_SWAP_ESCAPE_CAPSLOCK, EC_SWAP = MAGIC_SWAP_ESCAPE_CAPSLOCK,
EC_NORM = MAGIC_UNSWAP_ESCAPE_CAPSLOCK, EC_NORM = MAGIC_UNSWAP_ESCAPE_CAPSLOCK,
EC_TOGG = MAGIC_TOGGLE_ESCAPE_CAPSLOCK, EC_TOGG = MAGIC_TOGGLE_ESCAPE_CAPSLOCK,
MI_Db = MI_Cs, MI_ON = QK_MIDI_ON,
MI_Eb = MI_Ds, MI_OFF = QK_MIDI_OFF,
MI_Gb = MI_Fs, MI_TOGG = QK_MIDI_TOGGLE,
MI_Ab = MI_Gs, MI_C = QK_MIDI_NOTE_C_0,
MI_Bb = MI_As, MI_Cs = QK_MIDI_NOTE_C_SHARP_0,
MI_Db_1 = MI_Cs_1, MI_Db = QK_MIDI_NOTE_C_SHARP_0,
MI_Eb_1 = MI_Ds_1, MI_D = QK_MIDI_NOTE_D_0,
MI_Gb_1 = MI_Fs_1, MI_Ds = QK_MIDI_NOTE_D_SHARP_0,
MI_Ab_1 = MI_Gs_1, MI_Eb = QK_MIDI_NOTE_D_SHARP_0,
MI_Bb_1 = MI_As_1, MI_E = QK_MIDI_NOTE_E_0,
MI_Db_2 = MI_Cs_2, MI_F = QK_MIDI_NOTE_F_0,
MI_Eb_2 = MI_Ds_2, MI_Fs = QK_MIDI_NOTE_F_SHARP_0,
MI_Gb_2 = MI_Fs_2, MI_Gb = QK_MIDI_NOTE_F_SHARP_0,
MI_Ab_2 = MI_Gs_2, MI_G = QK_MIDI_NOTE_G_0,
MI_Bb_2 = MI_As_2, MI_Gs = QK_MIDI_NOTE_G_SHARP_0,
MI_Db_3 = MI_Cs_3, MI_Ab = QK_MIDI_NOTE_G_SHARP_0,
MI_Eb_3 = MI_Ds_3, MI_A = QK_MIDI_NOTE_A_0,
MI_Gb_3 = MI_Fs_3, MI_As = QK_MIDI_NOTE_A_SHARP_0,
MI_Ab_3 = MI_Gs_3, MI_Bb = QK_MIDI_NOTE_A_SHARP_0,
MI_Bb_3 = MI_As_3, MI_B = QK_MIDI_NOTE_B_0,
MI_Db_4 = MI_Cs_4, MI_C1 = QK_MIDI_NOTE_C_1,
MI_Eb_4 = MI_Ds_4, MI_Cs1 = QK_MIDI_NOTE_C_SHARP_1,
MI_Gb_4 = MI_Fs_4, MI_Db1 = QK_MIDI_NOTE_C_SHARP_1,
MI_Ab_4 = MI_Gs_4, MI_D1 = QK_MIDI_NOTE_D_1,
MI_Bb_4 = MI_As_4, MI_Ds1 = QK_MIDI_NOTE_D_SHARP_1,
MI_Db_5 = MI_Cs_5, MI_Eb1 = QK_MIDI_NOTE_D_SHARP_1,
MI_Eb_5 = MI_Ds_5, MI_E1 = QK_MIDI_NOTE_E_1,
MI_Gb_5 = MI_Fs_5, MI_F1 = QK_MIDI_NOTE_F_1,
MI_Ab_5 = MI_Gs_5, MI_Fs1 = QK_MIDI_NOTE_F_SHARP_1,
MI_Bb_5 = MI_As_5, MI_Gb1 = QK_MIDI_NOTE_F_SHARP_1,
MI_G1 = QK_MIDI_NOTE_G_1,
MI_Gs1 = QK_MIDI_NOTE_G_SHARP_1,
MI_Ab1 = QK_MIDI_NOTE_G_SHARP_1,
MI_A1 = QK_MIDI_NOTE_A_1,
MI_As1 = QK_MIDI_NOTE_A_SHARP_1,
MI_Bb1 = QK_MIDI_NOTE_A_SHARP_1,
MI_B1 = QK_MIDI_NOTE_B_1,
MI_C2 = QK_MIDI_NOTE_C_2,
MI_Cs2 = QK_MIDI_NOTE_C_SHARP_2,
MI_Db2 = QK_MIDI_NOTE_C_SHARP_2,
MI_D2 = QK_MIDI_NOTE_D_2,
MI_Ds2 = QK_MIDI_NOTE_D_SHARP_2,
MI_Eb2 = QK_MIDI_NOTE_D_SHARP_2,
MI_E2 = QK_MIDI_NOTE_E_2,
MI_F2 = QK_MIDI_NOTE_F_2,
MI_Fs2 = QK_MIDI_NOTE_F_SHARP_2,
MI_Gb2 = QK_MIDI_NOTE_F_SHARP_2,
MI_G2 = QK_MIDI_NOTE_G_2,
MI_Gs2 = QK_MIDI_NOTE_G_SHARP_2,
MI_Ab2 = QK_MIDI_NOTE_G_SHARP_2,
MI_A2 = QK_MIDI_NOTE_A_2,
MI_As2 = QK_MIDI_NOTE_A_SHARP_2,
MI_Bb2 = QK_MIDI_NOTE_A_SHARP_2,
MI_B2 = QK_MIDI_NOTE_B_2,
MI_C3 = QK_MIDI_NOTE_C_3,
MI_Cs3 = QK_MIDI_NOTE_C_SHARP_3,
MI_Db3 = QK_MIDI_NOTE_C_SHARP_3,
MI_D3 = QK_MIDI_NOTE_D_3,
MI_Ds3 = QK_MIDI_NOTE_D_SHARP_3,
MI_Eb3 = QK_MIDI_NOTE_D_SHARP_3,
MI_E3 = QK_MIDI_NOTE_E_3,
MI_F3 = QK_MIDI_NOTE_F_3,
MI_Fs3 = QK_MIDI_NOTE_F_SHARP_3,
MI_Gb3 = QK_MIDI_NOTE_F_SHARP_3,
MI_G3 = QK_MIDI_NOTE_G_3,
MI_Gs3 = QK_MIDI_NOTE_G_SHARP_3,
MI_Ab3 = QK_MIDI_NOTE_G_SHARP_3,
MI_A3 = QK_MIDI_NOTE_A_3,
MI_As3 = QK_MIDI_NOTE_A_SHARP_3,
MI_Bb3 = QK_MIDI_NOTE_A_SHARP_3,
MI_B3 = QK_MIDI_NOTE_B_3,
MI_C4 = QK_MIDI_NOTE_C_4,
MI_Cs4 = QK_MIDI_NOTE_C_SHARP_4,
MI_Db4 = QK_MIDI_NOTE_C_SHARP_4,
MI_D4 = QK_MIDI_NOTE_D_4,
MI_Ds4 = QK_MIDI_NOTE_D_SHARP_4,
MI_Eb4 = QK_MIDI_NOTE_D_SHARP_4,
MI_E4 = QK_MIDI_NOTE_E_4,
MI_F4 = QK_MIDI_NOTE_F_4,
MI_Fs4 = QK_MIDI_NOTE_F_SHARP_4,
MI_Gb4 = QK_MIDI_NOTE_F_SHARP_4,
MI_G4 = QK_MIDI_NOTE_G_4,
MI_Gs4 = QK_MIDI_NOTE_G_SHARP_4,
MI_Ab4 = QK_MIDI_NOTE_G_SHARP_4,
MI_A4 = QK_MIDI_NOTE_A_4,
MI_As4 = QK_MIDI_NOTE_A_SHARP_4,
MI_Bb4 = QK_MIDI_NOTE_A_SHARP_4,
MI_B4 = QK_MIDI_NOTE_B_4,
MI_C5 = QK_MIDI_NOTE_C_5,
MI_Cs5 = QK_MIDI_NOTE_C_SHARP_5,
MI_Db5 = QK_MIDI_NOTE_C_SHARP_5,
MI_D5 = QK_MIDI_NOTE_D_5,
MI_Ds5 = QK_MIDI_NOTE_D_SHARP_5,
MI_Eb5 = QK_MIDI_NOTE_D_SHARP_5,
MI_E5 = QK_MIDI_NOTE_E_5,
MI_F5 = QK_MIDI_NOTE_F_5,
MI_Fs5 = QK_MIDI_NOTE_F_SHARP_5,
MI_Gb5 = QK_MIDI_NOTE_F_SHARP_5,
MI_G5 = QK_MIDI_NOTE_G_5,
MI_Gs5 = QK_MIDI_NOTE_G_SHARP_5,
MI_Ab5 = QK_MIDI_NOTE_G_SHARP_5,
MI_A5 = QK_MIDI_NOTE_A_5,
MI_As5 = QK_MIDI_NOTE_A_SHARP_5,
MI_Bb5 = QK_MIDI_NOTE_A_SHARP_5,
MI_B5 = QK_MIDI_NOTE_B_5,
MI_OCN2 = QK_MIDI_OCTAVE_N2,
MI_OCN1 = QK_MIDI_OCTAVE_N1,
MI_OC0 = QK_MIDI_OCTAVE_0,
MI_OC1 = QK_MIDI_OCTAVE_1,
MI_OC2 = QK_MIDI_OCTAVE_2,
MI_OC3 = QK_MIDI_OCTAVE_3,
MI_OC4 = QK_MIDI_OCTAVE_4,
MI_OC5 = QK_MIDI_OCTAVE_5,
MI_OC6 = QK_MIDI_OCTAVE_6,
MI_OC7 = QK_MIDI_OCTAVE_7,
MI_OCTD = QK_MIDI_OCTAVE_DOWN,
MI_OCTU = QK_MIDI_OCTAVE_UP,
MI_TRN6 = QK_MIDI_TRANSPOSE_N6,
MI_TRN5 = QK_MIDI_TRANSPOSE_N5,
MI_TRN4 = QK_MIDI_TRANSPOSE_N4,
MI_TRN3 = QK_MIDI_TRANSPOSE_N3,
MI_TRN2 = QK_MIDI_TRANSPOSE_N2,
MI_TRN1 = QK_MIDI_TRANSPOSE_N1,
MI_TR0 = QK_MIDI_TRANSPOSE_0,
MI_TR1 = QK_MIDI_TRANSPOSE_1,
MI_TR2 = QK_MIDI_TRANSPOSE_2,
MI_TR3 = QK_MIDI_TRANSPOSE_3,
MI_TR4 = QK_MIDI_TRANSPOSE_4,
MI_TR5 = QK_MIDI_TRANSPOSE_5,
MI_TR6 = QK_MIDI_TRANSPOSE_6,
MI_TRSD = QK_MIDI_TRANSPOSE_DOWN,
MI_TRSU = QK_MIDI_TRANSPOSE_UP,
MI_VL0 = QK_MIDI_VELOCITY_0,
MI_VL1 = QK_MIDI_VELOCITY_1,
MI_VL2 = QK_MIDI_VELOCITY_2,
MI_VL3 = QK_MIDI_VELOCITY_3,
MI_VL4 = QK_MIDI_VELOCITY_4,
MI_VL5 = QK_MIDI_VELOCITY_5,
MI_VL6 = QK_MIDI_VELOCITY_6,
MI_VL7 = QK_MIDI_VELOCITY_7,
MI_VL8 = QK_MIDI_VELOCITY_8,
MI_VL9 = QK_MIDI_VELOCITY_9,
MI_VL10 = QK_MIDI_VELOCITY_10,
MI_VELD = QK_MIDI_VELOCITY_DOWN,
MI_VELU = QK_MIDI_VELOCITY_UP,
MI_CH1 = QK_MIDI_CHANNEL_1,
MI_CH2 = QK_MIDI_CHANNEL_2,
MI_CH3 = QK_MIDI_CHANNEL_3,
MI_CH4 = QK_MIDI_CHANNEL_4,
MI_CH5 = QK_MIDI_CHANNEL_5,
MI_CH6 = QK_MIDI_CHANNEL_6,
MI_CH7 = QK_MIDI_CHANNEL_7,
MI_CH8 = QK_MIDI_CHANNEL_8,
MI_CH9 = QK_MIDI_CHANNEL_9,
MI_CH10 = QK_MIDI_CHANNEL_10,
MI_CH11 = QK_MIDI_CHANNEL_11,
MI_CH12 = QK_MIDI_CHANNEL_12,
MI_CH13 = QK_MIDI_CHANNEL_13,
MI_CH14 = QK_MIDI_CHANNEL_14,
MI_CH15 = QK_MIDI_CHANNEL_15,
MI_CH16 = QK_MIDI_CHANNEL_16,
MI_CHND = QK_MIDI_CHANNEL_DOWN,
MI_CHNU = QK_MIDI_CHANNEL_UP,
MI_AOFF = QK_MIDI_ALL_NOTES_OFF,
MI_SUST = QK_MIDI_SUSTAIN,
MI_PORT = QK_MIDI_PORTAMENTO,
MI_SOST = QK_MIDI_SOSTENUTO,
MI_SOFT = QK_MIDI_SOFT,
MI_LEG = QK_MIDI_LEGATO,
MI_MOD = QK_MIDI_MODULATION,
MI_MODD = QK_MIDI_MODULATION_SPEED_DOWN,
MI_MODU = QK_MIDI_MODULATION_SPEED_UP,
MI_BNDD = QK_MIDI_PITCH_BEND_DOWN,
MI_BNDU = QK_MIDI_PITCH_BEND_UP,
JS_0 = QK_JOYSTICK_BUTTON_0, JS_0 = QK_JOYSTICK_BUTTON_0,
JS_1 = QK_JOYSTICK_BUTTON_1, JS_1 = QK_JOYSTICK_BUTTON_1,
JS_2 = QK_JOYSTICK_BUTTON_2, JS_2 = QK_JOYSTICK_BUTTON_2,
@ -1151,7 +1295,7 @@ enum qk_keycode_defines {
#define IS_MODIFIERS_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI) #define IS_MODIFIERS_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI)
#define IS_SWAP_HANDS_KEYCODE(code) ((code) >= SH_TG && (code) <= SH_OS) #define IS_SWAP_HANDS_KEYCODE(code) ((code) >= SH_TG && (code) <= SH_OS)
#define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK) #define IS_MAGIC_KEYCODE(code) ((code) >= MAGIC_SWAP_CONTROL_CAPSLOCK && (code) <= MAGIC_TOGGLE_ESCAPE_CAPSLOCK)
#define IS_MIDI_KEYCODE(code) ((code) >= MI_ON && (code) <= MI_BENDU) #define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP)
#define IS_SEQUENCER_KEYCODE(code) ((code) >= SQ_ON && (code) <= SQ_SCLR) #define IS_SEQUENCER_KEYCODE(code) ((code) >= SQ_ON && (code) <= SQ_SCLR)
#define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31) #define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31)
#define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32) #define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32)
@ -1161,4 +1305,3 @@ enum qk_keycode_defines {
#define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING) #define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING)
#define IS_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE) #define IS_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE)
#define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_AUTOCORRECT_TOGGLE) #define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_AUTOCORRECT_TOGGLE)

View file

@ -52,7 +52,7 @@ inline uint8_t compute_velocity(uint8_t setting) {
} }
void midi_init(void) { void midi_init(void) {
midi_config.octave = MI_OCT_2 - MIDI_OCTAVE_MIN; midi_config.octave = QK_MIDI_OCTAVE_2 - MIDI_OCTAVE_MIN;
midi_config.transpose = 0; midi_config.transpose = 0;
midi_config.velocity = 127; midi_config.velocity = 127;
midi_config.channel = 0; midi_config.channel = 0;
@ -103,13 +103,13 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi octave %d\n", midi_config.octave); dprintf("midi octave %d\n", midi_config.octave);
} }
return false; return false;
case MI_OCTD: case QK_MIDI_OCTAVE_DOWN:
if (record->event.pressed && midi_config.octave > 0) { if (record->event.pressed && midi_config.octave > 0) {
midi_config.octave--; midi_config.octave--;
dprintf("midi octave %d\n", midi_config.octave); dprintf("midi octave %d\n", midi_config.octave);
} }
return false; return false;
case MI_OCTU: case QK_MIDI_OCTAVE_UP:
if (record->event.pressed && midi_config.octave < (MIDI_OCTAVE_MAX - MIDI_OCTAVE_MIN)) { if (record->event.pressed && midi_config.octave < (MIDI_OCTAVE_MAX - MIDI_OCTAVE_MIN)) {
midi_config.octave++; midi_config.octave++;
dprintf("midi octave %d\n", midi_config.octave); dprintf("midi octave %d\n", midi_config.octave);
@ -117,18 +117,18 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
return false; return false;
case MIDI_TRANSPOSE_MIN ... MIDI_TRANSPOSE_MAX: case MIDI_TRANSPOSE_MIN ... MIDI_TRANSPOSE_MAX:
if (record->event.pressed) { if (record->event.pressed) {
midi_config.transpose = keycode - MI_TRNS_0; midi_config.transpose = keycode - QK_MIDI_TRANSPOSE_0;
dprintf("midi transpose %d\n", midi_config.transpose); dprintf("midi transpose %d\n", midi_config.transpose);
} }
return false; return false;
case MI_TRNSD: case QK_MIDI_TRANSPOSE_DOWN:
if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - MI_TRNS_0)) { if (record->event.pressed && midi_config.transpose > (MIDI_TRANSPOSE_MIN - QK_MIDI_TRANSPOSE_0)) {
midi_config.transpose--; midi_config.transpose--;
dprintf("midi transpose %d\n", midi_config.transpose); dprintf("midi transpose %d\n", midi_config.transpose);
} }
return false; return false;
case MI_TRNSU: case QK_MIDI_TRANSPOSE_UP:
if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - MI_TRNS_0)) { if (record->event.pressed && midi_config.transpose < (MIDI_TRANSPOSE_MAX - QK_MIDI_TRANSPOSE_0)) {
const bool positive = midi_config.transpose > 0; const bool positive = midi_config.transpose > 0;
midi_config.transpose++; midi_config.transpose++;
if (positive && midi_config.transpose < 0) midi_config.transpose--; if (positive && midi_config.transpose < 0) midi_config.transpose--;
@ -141,7 +141,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi velocity %d\n", midi_config.velocity); dprintf("midi velocity %d\n", midi_config.velocity);
} }
return false; return false;
case MI_VELD: case QK_MIDI_VELOCITY_DOWN:
if (record->event.pressed && midi_config.velocity > 0) { if (record->event.pressed && midi_config.velocity > 0) {
if (midi_config.velocity == 127) { if (midi_config.velocity == 127) {
midi_config.velocity -= 10; midi_config.velocity -= 10;
@ -154,7 +154,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi velocity %d\n", midi_config.velocity); dprintf("midi velocity %d\n", midi_config.velocity);
} }
return false; return false;
case MI_VELU: case QK_MIDI_VELOCITY_UP:
if (record->event.pressed && midi_config.velocity < 127) { if (record->event.pressed && midi_config.velocity < 127) {
if (midi_config.velocity < 115) { if (midi_config.velocity < 115) {
midi_config.velocity += 13; midi_config.velocity += 13;
@ -170,48 +170,48 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi channel %d\n", midi_config.channel); dprintf("midi channel %d\n", midi_config.channel);
} }
return false; return false;
case MI_CHD: case QK_MIDI_CHANNEL_DOWN:
if (record->event.pressed) { if (record->event.pressed) {
midi_config.channel--; midi_config.channel--;
dprintf("midi channel %d\n", midi_config.channel); dprintf("midi channel %d\n", midi_config.channel);
} }
return false; return false;
case MI_CHU: case QK_MIDI_CHANNEL_UP:
if (record->event.pressed) { if (record->event.pressed) {
midi_config.channel++; midi_config.channel++;
dprintf("midi channel %d\n", midi_config.channel); dprintf("midi channel %d\n", midi_config.channel);
} }
return false; return false;
case MI_ALLOFF: case QK_MIDI_ALL_NOTES_OFF:
if (record->event.pressed) { if (record->event.pressed) {
midi_send_cc(&midi_device, midi_config.channel, 0x7B, 0); midi_send_cc(&midi_device, midi_config.channel, 0x7B, 0);
dprintf("midi all notes off\n"); dprintf("midi all notes off\n");
} }
return false; return false;
case MI_SUS: case QK_MIDI_SUSTAIN:
midi_send_cc(&midi_device, midi_config.channel, 0x40, record->event.pressed ? 127 : 0); midi_send_cc(&midi_device, midi_config.channel, 0x40, record->event.pressed ? 127 : 0);
dprintf("midi sustain %d\n", record->event.pressed); dprintf("midi sustain %d\n", record->event.pressed);
return false; return false;
case MI_PORT: case QK_MIDI_PORTAMENTO:
midi_send_cc(&midi_device, midi_config.channel, 0x41, record->event.pressed ? 127 : 0); midi_send_cc(&midi_device, midi_config.channel, 0x41, record->event.pressed ? 127 : 0);
dprintf("midi portamento %d\n", record->event.pressed); dprintf("midi portamento %d\n", record->event.pressed);
return false; return false;
case MI_SOST: case QK_MIDI_SOSTENUTO:
midi_send_cc(&midi_device, midi_config.channel, 0x42, record->event.pressed ? 127 : 0); midi_send_cc(&midi_device, midi_config.channel, 0x42, record->event.pressed ? 127 : 0);
dprintf("midi sostenuto %d\n", record->event.pressed); dprintf("midi sostenuto %d\n", record->event.pressed);
return false; return false;
case MI_SOFT: case QK_MIDI_SOFT:
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0); midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0);
dprintf("midi soft %d\n", record->event.pressed); dprintf("midi soft %d\n", record->event.pressed);
return false; return false;
case MI_LEG: case QK_MIDI_LEGATO:
midi_send_cc(&midi_device, midi_config.channel, 0x43, record->event.pressed ? 127 : 0); midi_send_cc(&midi_device, midi_config.channel, 0x44, record->event.pressed ? 127 : 0);
dprintf("midi legato %d\n", record->event.pressed); dprintf("midi legato %d\n", record->event.pressed);
return false; return false;
case MI_MOD: case QK_MIDI_MODULATION:
midi_modulation_step = record->event.pressed ? 1 : -1; midi_modulation_step = record->event.pressed ? 1 : -1;
return false; return false;
case MI_MODSD: case QK_MIDI_MODULATION_SPEED_DOWN:
if (record->event.pressed) { if (record->event.pressed) {
midi_config.modulation_interval++; midi_config.modulation_interval++;
// prevent overflow // prevent overflow
@ -219,13 +219,13 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi modulation interval %d\n", midi_config.modulation_interval); dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
} }
return false; return false;
case MI_MODSU: case QK_MIDI_MODULATION_SPEED_UP:
if (record->event.pressed && midi_config.modulation_interval > 0) { if (record->event.pressed && midi_config.modulation_interval > 0) {
midi_config.modulation_interval--; midi_config.modulation_interval--;
dprintf("midi modulation interval %d\n", midi_config.modulation_interval); dprintf("midi modulation interval %d\n", midi_config.modulation_interval);
} }
return false; return false;
case MI_BENDD: case QK_MIDI_PITCH_BEND_DOWN:
if (record->event.pressed) { if (record->event.pressed) {
midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000); midi_send_pitchbend(&midi_device, midi_config.channel, -0x2000);
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, -0x2000); dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, -0x2000);
@ -234,7 +234,7 @@ bool process_midi(uint16_t keycode, keyrecord_t *record) {
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0); dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0);
} }
return false; return false;
case MI_BENDU: case QK_MIDI_PITCH_BEND_UP:
if (record->event.pressed) { if (record->event.pressed) {
midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff); midi_send_pitchbend(&midi_device, midi_config.channel, 0x1fff);
dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff); dprintf("midi pitchbend channel:%d amount:%d\n", midi_config.channel, 0x1fff);

View file

@ -120,17 +120,17 @@ bool process_music(uint16_t keycode, keyrecord_t *record) {
return false; return false;
} }
if (keycode == MI_ON && record->event.pressed) { if (keycode == QK_MIDI_ON && record->event.pressed) {
midi_on(); midi_on();
return false; return false;
} }
if (keycode == MI_OFF && record->event.pressed) { if (keycode == QK_MIDI_OFF && record->event.pressed) {
midi_off(); midi_off();
return false; return false;
} }
if (keycode == MI_TOG && record->event.pressed) { if (keycode == QK_MIDI_TOGGLE && record->event.pressed) {
if (midi_activated) { if (midi_activated) {
midi_off(); midi_off();
} else { } else {

View file

@ -193,16 +193,16 @@
#define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF) #define QK_SWAP_HANDS_GET_TAP_KEYCODE(kc) ((kc)&0xFF)
// MIDI aliases // MIDI aliases
#define MIDI_TONE_MIN MI_C #define MIDI_TONE_MIN QK_MIDI_NOTE_C_0
#define MIDI_TONE_MAX MI_B_5 #define MIDI_TONE_MAX QK_MIDI_NOTE_B_5
#define MIDI_OCTAVE_MIN MI_OCT_N2 #define MIDI_OCTAVE_MIN QK_MIDI_OCTAVE_N2
#define MIDI_OCTAVE_MAX MI_OCT_7 #define MIDI_OCTAVE_MAX QK_MIDI_OCTAVE_7
#define MIDI_TRANSPOSE_MIN MI_TRNS_N6 #define MIDI_TRANSPOSE_MIN QK_MIDI_TRANSPOSE_N6
#define MIDI_TRANSPOSE_MAX MI_TRNS_6 #define MIDI_TRANSPOSE_MAX QK_MIDI_TRANSPOSE_6
#define MIDI_VELOCITY_MIN MI_VEL_0 #define MIDI_VELOCITY_MIN QK_MIDI_VELOCITY_0
#define MIDI_VELOCITY_MAX MI_VEL_10 #define MIDI_VELOCITY_MAX QK_MIDI_VELOCITY_10
#define MIDI_CHANNEL_MIN MI_CH1 #define MIDI_CHANNEL_MIN QK_MIDI_CHANNEL_1
#define MIDI_CHANNEL_MAX MI_CH16 #define MIDI_CHANNEL_MAX QK_MIDI_CHANNEL_16
// TODO: somehow migrate sequencer to DD? // TODO: somehow migrate sequencer to DD?
#include "sequencer.h" #include "sequencer.h"

View file

@ -138,6 +138,136 @@
#define MUV_IN QK_AUDIO_VOICE_NEXT #define MUV_IN QK_AUDIO_VOICE_NEXT
#define MUV_DE QK_AUDIO_VOICE_PREVIOUS #define MUV_DE QK_AUDIO_VOICE_PREVIOUS
#define MI_TOG QK_MIDI_TOGGLE
#define MI_C_1 QK_MIDI_NOTE_C_1
#define MI_Cs_1 QK_MIDI_NOTE_C_SHARP_1
#define MI_Db_1 QK_MIDI_NOTE_C_SHARP_1
#define MI_D_1 QK_MIDI_NOTE_D_1
#define MI_Ds_1 QK_MIDI_NOTE_D_SHARP_1
#define MI_Eb_1 QK_MIDI_NOTE_D_SHARP_1
#define MI_E_1 QK_MIDI_NOTE_E_1
#define MI_F_1 QK_MIDI_NOTE_F_1
#define MI_Fs_1 QK_MIDI_NOTE_F_SHARP_1
#define MI_Gb_1 QK_MIDI_NOTE_F_SHARP_1
#define MI_G_1 QK_MIDI_NOTE_G_1
#define MI_Gs_1 QK_MIDI_NOTE_G_SHARP_1
#define MI_Ab_1 QK_MIDI_NOTE_G_SHARP_1
#define MI_A_1 QK_MIDI_NOTE_A_1
#define MI_As_1 QK_MIDI_NOTE_A_SHARP_1
#define MI_Bb_1 QK_MIDI_NOTE_A_SHARP_1
#define MI_B_1 QK_MIDI_NOTE_B_1
#define MI_C_2 QK_MIDI_NOTE_C_2
#define MI_Cs_2 QK_MIDI_NOTE_C_SHARP_2
#define MI_Db_2 QK_MIDI_NOTE_C_SHARP_2
#define MI_D_2 QK_MIDI_NOTE_D_2
#define MI_Ds_2 QK_MIDI_NOTE_D_SHARP_2
#define MI_Eb_2 QK_MIDI_NOTE_D_SHARP_2
#define MI_E_2 QK_MIDI_NOTE_E_2
#define MI_F_2 QK_MIDI_NOTE_F_2
#define MI_Fs_2 QK_MIDI_NOTE_F_SHARP_2
#define MI_Gb_2 QK_MIDI_NOTE_F_SHARP_2
#define MI_G_2 QK_MIDI_NOTE_G_2
#define MI_Gs_2 QK_MIDI_NOTE_G_SHARP_2
#define MI_Ab_2 QK_MIDI_NOTE_G_SHARP_2
#define MI_A_2 QK_MIDI_NOTE_A_2
#define MI_As_2 QK_MIDI_NOTE_A_SHARP_2
#define MI_Bb_2 QK_MIDI_NOTE_A_SHARP_2
#define MI_B_2 QK_MIDI_NOTE_B_2
#define MI_C_3 QK_MIDI_NOTE_C_3
#define MI_Cs_3 QK_MIDI_NOTE_C_SHARP_3
#define MI_Db_3 QK_MIDI_NOTE_C_SHARP_3
#define MI_D_3 QK_MIDI_NOTE_D_3
#define MI_Ds_3 QK_MIDI_NOTE_D_SHARP_3
#define MI_Eb_3 QK_MIDI_NOTE_D_SHARP_3
#define MI_E_3 QK_MIDI_NOTE_E_3
#define MI_F_3 QK_MIDI_NOTE_F_3
#define MI_Fs_3 QK_MIDI_NOTE_F_SHARP_3
#define MI_Gb_3 QK_MIDI_NOTE_F_SHARP_3
#define MI_G_3 QK_MIDI_NOTE_G_3
#define MI_Gs_3 QK_MIDI_NOTE_G_SHARP_3
#define MI_Ab_3 QK_MIDI_NOTE_G_SHARP_3
#define MI_A_3 QK_MIDI_NOTE_A_3
#define MI_As_3 QK_MIDI_NOTE_A_SHARP_3
#define MI_Bb_3 QK_MIDI_NOTE_A_SHARP_3
#define MI_B_3 QK_MIDI_NOTE_B_3
#define MI_C_4 QK_MIDI_NOTE_C_4
#define MI_Cs_4 QK_MIDI_NOTE_C_SHARP_4
#define MI_Db_4 QK_MIDI_NOTE_C_SHARP_4
#define MI_D_4 QK_MIDI_NOTE_D_4
#define MI_Ds_4 QK_MIDI_NOTE_D_SHARP_4
#define MI_Eb_4 QK_MIDI_NOTE_D_SHARP_4
#define MI_E_4 QK_MIDI_NOTE_E_4
#define MI_F_4 QK_MIDI_NOTE_F_4
#define MI_Fs_4 QK_MIDI_NOTE_F_SHARP_4
#define MI_Gb_4 QK_MIDI_NOTE_F_SHARP_4
#define MI_G_4 QK_MIDI_NOTE_G_4
#define MI_Gs_4 QK_MIDI_NOTE_G_SHARP_4
#define MI_Ab_4 QK_MIDI_NOTE_G_SHARP_4
#define MI_A_4 QK_MIDI_NOTE_A_4
#define MI_As_4 QK_MIDI_NOTE_A_SHARP_4
#define MI_Bb_4 QK_MIDI_NOTE_A_SHARP_4
#define MI_B_4 QK_MIDI_NOTE_B_4
#define MI_C_5 QK_MIDI_NOTE_C_5
#define MI_Cs_5 QK_MIDI_NOTE_C_SHARP_5
#define MI_Db_5 QK_MIDI_NOTE_C_SHARP_5
#define MI_D_5 QK_MIDI_NOTE_D_5
#define MI_Ds_5 QK_MIDI_NOTE_D_SHARP_5
#define MI_Eb_5 QK_MIDI_NOTE_D_SHARP_5
#define MI_E_5 QK_MIDI_NOTE_E_5
#define MI_F_5 QK_MIDI_NOTE_F_5
#define MI_Fs_5 QK_MIDI_NOTE_F_SHARP_5
#define MI_Gb_5 QK_MIDI_NOTE_F_SHARP_5
#define MI_G_5 QK_MIDI_NOTE_G_5
#define MI_Gs_5 QK_MIDI_NOTE_G_SHARP_5
#define MI_Ab_5 QK_MIDI_NOTE_G_SHARP_5
#define MI_A_5 QK_MIDI_NOTE_A_5
#define MI_As_5 QK_MIDI_NOTE_A_SHARP_5
#define MI_Bb_5 QK_MIDI_NOTE_A_SHARP_5
#define MI_B_5 QK_MIDI_NOTE_B_5
#define MI_OCT_N2 QK_MIDI_OCTAVE_N2
#define MI_OCT_N1 QK_MIDI_OCTAVE_N1
#define MI_OCT_0 QK_MIDI_OCTAVE_0
#define MI_OCT_1 QK_MIDI_OCTAVE_1
#define MI_OCT_2 QK_MIDI_OCTAVE_2
#define MI_OCT_3 QK_MIDI_OCTAVE_3
#define MI_OCT_4 QK_MIDI_OCTAVE_4
#define MI_OCT_5 QK_MIDI_OCTAVE_5
#define MI_OCT_6 QK_MIDI_OCTAVE_6
#define MI_OCT_7 QK_MIDI_OCTAVE_7
#define MI_TRNS_N6 QK_MIDI_TRANSPOSE_N6
#define MI_TRNS_N5 QK_MIDI_TRANSPOSE_N5
#define MI_TRNS_N4 QK_MIDI_TRANSPOSE_N4
#define MI_TRNS_N3 QK_MIDI_TRANSPOSE_N3
#define MI_TRNS_N2 QK_MIDI_TRANSPOSE_N2
#define MI_TRNS_N1 QK_MIDI_TRANSPOSE_N1
#define MI_TRNS_0 QK_MIDI_TRANSPOSE_0
#define MI_TRNS_1 QK_MIDI_TRANSPOSE_1
#define MI_TRNS_2 QK_MIDI_TRANSPOSE_2
#define MI_TRNS_3 QK_MIDI_TRANSPOSE_3
#define MI_TRNS_4 QK_MIDI_TRANSPOSE_4
#define MI_TRNS_5 QK_MIDI_TRANSPOSE_5
#define MI_TRNS_6 QK_MIDI_TRANSPOSE_6
#define MI_TRNSD QK_MIDI_TRANSPOSE_DOWN
#define MI_TRNSU QK_MIDI_TRANSPOSE_UP
#define MI_VEL_0 QK_MIDI_VELOCITY_0
#define MI_VEL_1 QK_MIDI_VELOCITY_1
#define MI_VEL_2 QK_MIDI_VELOCITY_2
#define MI_VEL_3 QK_MIDI_VELOCITY_3
#define MI_VEL_4 QK_MIDI_VELOCITY_4
#define MI_VEL_5 QK_MIDI_VELOCITY_5
#define MI_VEL_6 QK_MIDI_VELOCITY_6
#define MI_VEL_7 QK_MIDI_VELOCITY_7
#define MI_VEL_8 QK_MIDI_VELOCITY_8
#define MI_VEL_9 QK_MIDI_VELOCITY_9
#define MI_VEL_10 QK_MIDI_VELOCITY_10
#define MI_CHD QK_MIDI_CHANNEL_DOWN
#define MI_CHU QK_MIDI_CHANNEL_UP
#define MI_ALLOFF QK_MIDI_ALL_NOTES_OFF
#define MI_MODSD QK_MIDI_MODULATION_SPEED_DOWN
#define MI_MODSU QK_MIDI_MODULATION_SPEED_UP
#define MI_BENDD QK_MIDI_PITCH_BEND_DOWN
#define MI_BENDU QK_MIDI_PITCH_BEND_UP
#define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.") #define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.")
#define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.") #define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.")
// #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.") // #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.")

View file

@ -371,14 +371,14 @@ void setUpMatrixScanSequencerTest(void) {
sequencer_config.resolution = SQ_RES_16; sequencer_config.resolution = SQ_RES_16;
// Configure the notes for each track // Configure the notes for each track
sequencer_config.track_notes[0] = MI_C; sequencer_config.track_notes[0] = QK_MIDI_NOTE_C_0;
sequencer_config.track_notes[1] = MI_D; sequencer_config.track_notes[1] = QK_MIDI_NOTE_D_0;
sequencer_config.track_notes[2] = MI_E; sequencer_config.track_notes[2] = QK_MIDI_NOTE_E_0;
sequencer_config.track_notes[3] = MI_F; sequencer_config.track_notes[3] = QK_MIDI_NOTE_F_0;
sequencer_config.track_notes[4] = MI_G; sequencer_config.track_notes[4] = QK_MIDI_NOTE_G_0;
sequencer_config.track_notes[5] = MI_A; sequencer_config.track_notes[5] = QK_MIDI_NOTE_A_0;
sequencer_config.track_notes[6] = MI_B; sequencer_config.track_notes[6] = QK_MIDI_NOTE_B_0;
sequencer_config.track_notes[7] = MI_C; sequencer_config.track_notes[7] = QK_MIDI_NOTE_C_0;
// Turn on some steps // Turn on some steps
sequencer_config.steps[0] = (1 << 0); sequencer_config.steps[0] = (1 << 0);
@ -389,7 +389,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldAttackFirstTrackOfFirstStep)
setUpMatrixScanSequencerTest(); setUpMatrixScanSequencerTest();
sequencer_task(); sequencer_task();
EXPECT_EQ(last_noteon, MI_C); EXPECT_EQ(last_noteon, QK_MIDI_NOTE_C_0);
EXPECT_EQ(last_noteoff, 0); EXPECT_EQ(last_noteoff, 0);
} }
@ -499,7 +499,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldReleaseFirstTrackFirstStep) {
sequencer_task(); sequencer_task();
EXPECT_EQ(last_noteon, 0); EXPECT_EQ(last_noteon, 0);
EXPECT_EQ(last_noteoff, MI_C); EXPECT_EQ(last_noteoff, QK_MIDI_NOTE_C_0);
} }
TEST_F(SequencerTest, TestMatrixScanSequencerShouldEnterPausePhaseAfterRelease) { TEST_F(SequencerTest, TestMatrixScanSequencerShouldEnterPausePhaseAfterRelease) {
@ -565,7 +565,7 @@ TEST_F(SequencerTest, TestMatrixScanSequencerShouldProcessSecondTrackOnTime) {
advance_time(SEQUENCER_TRACK_THROTTLE); advance_time(SEQUENCER_TRACK_THROTTLE);
sequencer_task(); sequencer_task();
EXPECT_EQ(last_noteon, MI_D); EXPECT_EQ(last_noteon, QK_MIDI_NOTE_D_0);
EXPECT_EQ(last_noteoff, 0); EXPECT_EQ(last_noteoff, 0);
} }

View file

@ -140,19 +140,19 @@
*/ */
// Not sure why, but this does not work (possibly due to the lowercase 's'?) // Not sure why, but this does not work (possibly due to the lowercase 's'?)
// #ifdef MIDI_ADVANCED // #ifdef MIDI_ADVANCED
// #define __GUITAR_1E_L______________________________ MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1 // #define __GUITAR_1E_L______________________________ MI_E1, MI_F1, MI_Fs1, MI_G1, MI_Gs1
// #define __GUITAR_2A_L______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2 // #define __GUITAR_2A_L______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
// #define __GUITAR_3D_L______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2 // #define __GUITAR_3D_L______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
// #define __GUITAR_4G_L______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 // #define __GUITAR_4G_L______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
// #define __GUITAR_5B_L______________________________ MI_B_2, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3 // #define __GUITAR_5B_L______________________________ MI_B2, MI_C3, MI_Cs3, MI_D3, MI_Ds3
// #define __GUITAR_6E_L______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3 // #define __GUITAR_6E_L______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3
// //
// #define __GUITAR_1E_R______________________________ MI_A_1, MI_As_1, MI_B_1, MI_C_2, MI_Cs_2 // #define __GUITAR_1E_R______________________________ MI_A1, MI_As1, MI_B1, MI_C2, MI_Cs2
// #define __GUITAR_2A_R______________________________ MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2 // #define __GUITAR_2A_R______________________________ MI_D2, MI_Ds2, MI_E2, MI_F2, MI_Fs2
// #define __GUITAR_3D_R______________________________ MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 // #define __GUITAR_3D_R______________________________ MI_G2, MI_Gs2, MI_A2, MI_As2, MI_B2
// #define __GUITAR_4G_R______________________________ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3 // #define __GUITAR_4G_R______________________________ MI_C3, MI_Cs3, MI_D3, MI_Ds3, MI_E3
// #define __GUITAR_5B_R______________________________ MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3 // #define __GUITAR_5B_R______________________________ MI_E3, MI_F3, MI_Fs3, MI_G3, MI_Gs3
// #define __GUITAR_6E_R______________________________ MI_A_3, MI_As_3, MI_B_3, MI_C_4, MI_Cs_4 // #define __GUITAR_6E_R______________________________ MI_A3, MI_As3, MI_B3, MI_C4, MI_Cs4
// #endif // #endif