shithub: dumb

Download patch

ref: 3bcbb6a94a73e0d782e63055a20e7d90860a8b70
parent: 4fcf162e992167d875978ce829f4d8347b1297f4
author: Chris Moeller <kode54@gmail.com>
date: Tue Mar 25 16:19:21 EDT 2014

Made disabling volume ramping actually work correctly

--- a/dumb/src/it/itrender.c
+++ b/dumb/src/it/itrender.c
@@ -3946,9 +3946,18 @@
 	playing->float_volume[1] *= vol;
 
     if (ramp_style == 0 || (ramp_style < 2 && playing->declick_stage == 2)) {
-        playing->ramp_volume[0] = playing->float_volume[0];
-        playing->ramp_volume[1] = playing->float_volume[1];
-        playing->ramp_delta[0] = 0;
+		if (playing->declick_stage < 2) {
+			playing->ramp_volume[0] = playing->float_volume[0];
+			playing->ramp_volume[1] = playing->float_volume[1];
+			playing->declick_stage = 2;
+		} else if (playing->declick_stage > 2) {
+			playing->float_volume[0] = 0;
+			playing->float_volume[1] = 0;
+			playing->ramp_volume[0] = 0;
+			playing->ramp_volume[1] = 0;
+			playing->declick_stage = 4;
+		}
+		playing->ramp_delta[0] = 0;
         playing->ramp_delta[1] = 0;
     } else {
         rampScale = 4;