diff options
Diffstat (limited to 'quantum/process_keycode/process_music.c')
| -rw-r--r-- | quantum/process_keycode/process_music.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/quantum/process_keycode/process_music.c b/quantum/process_keycode/process_music.c index 2d52e47a7..1e2648bff 100644 --- a/quantum/process_keycode/process_music.c +++ b/quantum/process_keycode/process_music.c | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | #include "process_music.h" | 1 | #include "process_music.h" |
| 2 | 2 | ||
| 3 | bool music_activated = false; | 3 | bool music_activated = false; |
| 4 | uint8_t starting_note = 0x0C; | 4 | uint8_t music_starting_note = 0x0C; |
| 5 | int offset = 7; | 5 | int music_offset = 7; |
| 6 | 6 | ||
| 7 | // music sequencer | 7 | // music sequencer |
| 8 | static bool music_sequence_recording = false; | 8 | static bool music_sequence_recording = false; |
| @@ -114,8 +114,18 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { | |||
| 114 | music_sequence_interval+=10; | 114 | music_sequence_interval+=10; |
| 115 | return false; | 115 | return false; |
| 116 | } | 116 | } |
| 117 | #define MUSIC_MODE_GUITAR | ||
| 118 | |||
| 119 | #ifdef MUSIC_MODE_CHROMATIC | ||
| 120 | float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(MATRIX_ROWS - record->event.key.row)); | ||
| 121 | #elif defined(MUSIC_MODE_GUITAR) | ||
| 122 | float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(float)(MATRIX_ROWS - record->event.key.row + 7)*5.0/12); | ||
| 123 | #elif defined(MUSIC_MODE_VIOLIN) | ||
| 124 | float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + record->event.key.col + music_offset)/12.0+(float)(MATRIX_ROWS - record->event.key.row + 5)*7.0/12); | ||
| 125 | #else | ||
| 126 | float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(music_starting_note + SCALE[record->event.key.col + music_offset])/12.0+(MATRIX_ROWS - record->event.key.row)); | ||
| 127 | #endif | ||
| 117 | 128 | ||
| 118 | float freq = ((float)220.0)*pow(2.0, -5.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)); | ||
| 119 | if (record->event.pressed) { | 129 | if (record->event.pressed) { |
| 120 | play_note(freq, 0xF); | 130 | play_note(freq, 0xF); |
| 121 | if (music_sequence_recording) { | 131 | if (music_sequence_recording) { |
