diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-12-23 20:59:00 -0500 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2016-12-23 20:59:00 -0500 |
commit | 273faa4d9cd5a84207548f83ba550c9efee90933 (patch) | |
tree | f846ce03205cf44581d473257800b42c427bc234 /quantum | |
parent | cae269b08b642b07ee06dec7120a784a3c3d7aab (diff) | |
download | qmk_firmware-273faa4d9cd5a84207548f83ba550c9efee90933.tar.gz qmk_firmware-273faa4d9cd5a84207548f83ba550c9efee90933.zip |
add different scales for music mode
Diffstat (limited to 'quantum')
-rw-r--r-- | quantum/process_keycode/process_music.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/quantum/process_keycode/process_music.c b/quantum/process_keycode/process_music.c index bae43943e0..ca68bef6c8 100644 --- a/quantum/process_keycode/process_music.c +++ b/quantum/process_keycode/process_music.c @@ -115,7 +115,16 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { return false; } + #ifdef MUSIC_MODE_CHROMATIC + 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)); + #elif defined(MUSIC_MODE_GUITAR) + 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); + #elif defined(MUSIC_MODE_VIOLIN) + 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); + #else 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)); + #endif + if (record->event.pressed) { play_note(freq, 0xF); if (music_sequence_recording) { |