diff options
author | Damien <Dbroqua@users.noreply.github.com> | 2017-01-07 08:45:19 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-07 08:45:19 -0600 |
commit | 0fb82c15a5c9a69e17cff8dcd04c652d21381958 (patch) | |
tree | dd7a441ad7d086bb7cb4b093bd8d0cbd4d39d69d /quantum/audio/audio.c | |
parent | db48b28eeb5ebe5252cc04495d5eb326fa62dc26 (diff) | |
parent | e7df488a92da56cf160ac64c8cc7302ab717e145 (diff) | |
download | firmware-0fb82c15a5c9a69e17cff8dcd04c652d21381958.tar.gz firmware-0fb82c15a5c9a69e17cff8dcd04c652d21381958.tar.bz2 firmware-0fb82c15a5c9a69e17cff8dcd04c652d21381958.zip |
Merge pull request #15 from jackhumbert/master
Merge from qmk
Diffstat (limited to 'quantum/audio/audio.c')
-rw-r--r-- | quantum/audio/audio.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index ead5fbf3e..2a315fd16 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -77,6 +77,7 @@ static bool audio_initialized = false; audio_config_t audio_config; uint16_t envelope_index = 0; +bool glissando = true; void audio_init() { @@ -205,13 +206,17 @@ ISR(TIMER3_COMPA_vect) freq = frequencies[voice_place]; #endif } else { - if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) { - frequency = frequency * pow(2, 440/frequency/12/2); - } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) { - frequency = frequency * pow(2, -440/frequency/12/2); + if (glissando) { + if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) { + frequency = frequency * pow(2, 440/frequency/12/2); + } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) { + frequency = frequency * pow(2, -440/frequency/12/2); + } else { + frequency = frequencies[voices - 1]; + } } else { frequency = frequencies[voices - 1]; - } + } #ifdef VIBRATO_ENABLE if (vibrato_strength > 0) { |