]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/audio/audio.c
Merge pull request #1007 from bryan4887/bryan
[qmk_firmware.git] / quantum / audio / audio.c
index ead5fbf3e9e595d0d341c8531a237043735817ac..2a315fd1688de7d0a4c61a23a66274c5006afb4d 100644 (file)
@@ -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) {