diff options
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; | |||
| 77 | audio_config_t audio_config; | 77 | audio_config_t audio_config; |
| 78 | 78 | ||
| 79 | uint16_t envelope_index = 0; | 79 | uint16_t envelope_index = 0; |
| 80 | bool glissando = true; | ||
| 80 | 81 | ||
| 81 | void audio_init() | 82 | void audio_init() |
| 82 | { | 83 | { |
| @@ -205,13 +206,17 @@ ISR(TIMER3_COMPA_vect) | |||
| 205 | freq = frequencies[voice_place]; | 206 | freq = frequencies[voice_place]; |
| 206 | #endif | 207 | #endif |
| 207 | } else { | 208 | } else { |
| 208 | if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) { | 209 | if (glissando) { |
| 209 | frequency = frequency * pow(2, 440/frequency/12/2); | 210 | if (frequency != 0 && frequency < frequencies[voices - 1] && frequency < frequencies[voices - 1] * pow(2, -440/frequencies[voices - 1]/12/2)) { |
| 210 | } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) { | 211 | frequency = frequency * pow(2, 440/frequency/12/2); |
| 211 | frequency = frequency * pow(2, -440/frequency/12/2); | 212 | } else if (frequency != 0 && frequency > frequencies[voices - 1] && frequency > frequencies[voices - 1] * pow(2, 440/frequencies[voices - 1]/12/2)) { |
| 213 | frequency = frequency * pow(2, -440/frequency/12/2); | ||
| 214 | } else { | ||
| 215 | frequency = frequencies[voices - 1]; | ||
| 216 | } | ||
| 212 | } else { | 217 | } else { |
| 213 | frequency = frequencies[voices - 1]; | 218 | frequency = frequencies[voices - 1]; |
| 214 | } | 219 | } |
| 215 | 220 | ||
| 216 | #ifdef VIBRATO_ENABLE | 221 | #ifdef VIBRATO_ENABLE |
| 217 | if (vibrato_strength > 0) { | 222 | if (vibrato_strength > 0) { |
