From 7b3f212500210ae85063b043952b5b3ef6988ad6 Mon Sep 17 00:00:00 2001
From: Jack Humbert <jack.humb@gmail.com>
Date: Thu, 21 Apr 2016 23:10:47 -0400
Subject: [PATCH] adds more voices, fixes macro redefines

---
 quantum/audio/voices.c | 12 ++++++++----
 quantum/audio/voices.h |  1 +
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/quantum/audio/voices.c b/quantum/audio/voices.c
index 92ada47f7b..98631f0cb4 100644
--- a/quantum/audio/voices.c
+++ b/quantum/audio/voices.c
@@ -72,15 +72,19 @@ float voice_envelope(float frequency) {
             polyphony_rate = 0;
             switch (compensated_index) {
                 default:
-                    #define SPEED 10
-                    #define AMP   .75
+                    #define OCS_SPEED 10
+                    #define OCS_AMP   .25
                     // sine wave is slow
-                    // note_timbre = (sin((float)compensated_index/10000*SPEED) * AMP / 2) + .5;
+                    // note_timbre = (sin((float)compensated_index/10000*OCS_SPEED) * OCS_AMP / 2) + .5;
                     // triangle wave is a bit faster
-                    note_timbre = (float)abs((compensated_index*SPEED % 3000) - 1500) * ( AMP / 1500 ) + (1 - AMP) / 2;
+                    note_timbre = (float)abs((compensated_index*OCS_SPEED % 3000) - 1500) * ( OCS_AMP / 1500 ) + (1 - OCS_AMP) / 2;
                 break;
             }
         break;
+        case duty_octave_down:
+            polyphony_rate = 0;
+            note_timbre = (envelope_index % 2) * .125 + .375 * 2;
+        break;
     }
 
     return frequency;
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h
index 44c5066b55..5aa99f4b1d 100644
--- a/quantum/audio/voices.h
+++ b/quantum/audio/voices.h
@@ -15,6 +15,7 @@ typedef enum {
     butts_fader,
     octave_crunch,
     duty_osc,
+    duty_octave_down,
     number_of_voices // important that this is last
 } voice_type;