]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/process_keycode/process_music.h
Adds support for Planck Rev 6 (#2666)
[qmk_firmware.git] / quantum / process_keycode / process_music.h
index 8dfbf041f4a2b3a5c183ccb44aaeb433b28018b8..f6753d4f24dcf520432e1ec0d15103bc69188e28 100644 (file)
 
 #if defined(AUDIO_ENABLE) || (defined(MIDI_ENABLE) && defined(MIDI_BASIC))
 
+enum music_modes {
+  MUSIC_MODE_CHROMATIC,
+  MUSIC_MODE_GUITAR,
+  MUSIC_MODE_VIOLIN,
+  MUSIC_MODE_MAJOR,
+  NUMBER_OF_MODES
+};
+
+
+#ifdef MUSIC_MAP
+       extern const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS];
+#endif
+
 bool process_music(uint16_t keycode, keyrecord_t *record);
 
 bool is_music_on(void);
@@ -28,12 +41,23 @@ void music_toggle(void);
 void music_on(void);
 void music_off(void);
 
+bool is_midi_on(void);
+void midi_toggle(void);
+void midi_on(void);
+void midi_off(void);
+
 void music_on_user(void);
+void midi_on_user(void);
 void music_scale_user(void);
 void music_all_notes_off(void);
+void music_mode_cycle(void);
 
 void matrix_scan_music(void);
 
+bool music_mask(uint16_t keycode);
+bool music_mask_kb(uint16_t keycode);
+bool music_mask_user(uint16_t keycode);
+
 #ifndef SCALE
 #define SCALE (int8_t []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
                            0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \