Browse code

Add minimum decay/release of 10ms

Bad Diode authored on 17/10/2023 19:01:18 • neauoire committed on 03/11/2023 00:30:14
Showing 1 changed files
... ...
@@ -93,12 +93,13 @@ env_on(Envelope *env) {
93 93
     }
94 94
     if (env->d > 0) {
95 95
         env->d = (SOUND_TIMER / AUDIO_BUFSIZE) / env->d;
96
-    } else if (env->stage == ENV_DECAY) {
97
-        env->stage = ENV_SUSTAIN;
98
-        env->vol = env->s;
96
+    } else {
97
+        env->d = (SOUND_TIMER / AUDIO_BUFSIZE) / 10.0f;
99 98
     }
100 99
     if (env->r > 0) {
101 100
         env->r = (SOUND_TIMER / AUDIO_BUFSIZE) / env->r;
101
+    } else {
102
+        env->r = (SOUND_TIMER / AUDIO_BUFSIZE) / 10.0f;
102 103
     }
103 104
 }
104 105