]> git.0d.be Git - jack_mixer.git/commitdiff
Fixed pop when balance crosses zero.
authorDaniel Sheeler <dsheeler@pobox.com>
Thu, 11 Apr 2019 15:24:58 +0000 (10:24 -0500)
committerDaniel Sheeler <dsheeler@pobox.com>
Sun, 29 Mar 2020 14:49:48 +0000 (09:49 -0500)
On the last commit, I knew of the pop, and I knew my logic
before this change was suspect, and correcting the logic
fixed the pop.  Yay!

jack_mixer.c

index 750c94d7258819001b0e7a8e41d4703aca281e92..0a02d8fd765f8ada4eec2fdb2dab5f4ff65c5b4b 100644 (file)
@@ -158,17 +158,22 @@ calc_channel_volumes(
 
   if (channel_ptr->stereo)
   {
-    if (channel_ptr->balance_new > 0)
+    if (channel_ptr->balance > 0)
     {
       channel_ptr->volume_left = channel_ptr->volume * (1 - channel_ptr->balance);
       channel_ptr->volume_right = channel_ptr->volume;
-      channel_ptr->volume_left_new = channel_ptr->volume_new * (1 - channel_ptr->balance_new);
-      channel_ptr->volume_right_new = channel_ptr->volume_new;
     }
     else
     {
       channel_ptr->volume_left = channel_ptr->volume;
       channel_ptr->volume_right = channel_ptr->volume * (1 + channel_ptr->balance);
+    }
+    if (channel_ptr->balance_new > 0) {
+      channel_ptr->volume_left_new = channel_ptr->volume_new * (1 - channel_ptr->balance_new);
+      channel_ptr->volume_right_new = channel_ptr->volume_new;
+    }
+    else
+    {
       channel_ptr->volume_left_new = channel_ptr->volume_new;
       channel_ptr->volume_right_new = channel_ptr->volume_new * (1 + channel_ptr->balance_new);
     }