Hi,

Another small nit. In SoftChannel.controlChange() the controller values
for least significant values (32-64) weren't reset to zero when the most
significant values were set. This showed up when calling
getController().

2008-05-01  Mark Wielaard  <[EMAIL PROTECTED]>

        * com/sun/media/sound/SoftChannel.java (controlChange):
        Reset least significant controller if necessary.

Let me know what you think. I added this patch to IcedTea.

Cheers,

Mark
--- com/sun/media/sound/SoftChannel.java	Thu May 01 10:57:58 2008 +0200
+++ com/sun/media/sound/SoftChannel.java	Fri May 02 01:29:20 2008 +0200
@@ -1170,7 +1170,13 @@ public class SoftChannel implements Midi
 				return;
 			}			
 
-			this.controller[controller] = value;
+			// Keep track of values (capped to 7 bit).
+			// Reset least significant (32 through 63)
+			// controller value when most significant
+			// (0 through 31) is set.
+			this.controller[controller] = value & 127;
+			if (controller < 32)
+				this.controller[controller + 32] = 0;
 
 			for (int i = 0; i < voices.length; i++)
 				if (voices[i].active)
_______________________________________________
audio-engine-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/audio-engine-dev

Reply via email to