forked from mirrors/qmk_firmware
add different scales for music mode
This commit is contained in:
parent
cae269b08b
commit
273faa4d9c
1 changed files with 9 additions and 0 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue