Index: plugins/bseamplifier.cc
===================================================================
--- plugins/bseamplifier.cc	(revision 4374)
+++ plugins/bseamplifier.cc	(working copy)
@@ -26,7 +26,6 @@ class Amplifier : public AmplifierBase {
     double al1, al2, cl1, cl2;
     double ocs, bl;
     double base_level;
-    double master_volume;
     bool ctrl_mul, ctrl_exp;
   public:
     void
@@ -38,7 +37,9 @@ class Amplifier : public AmplifierBase {
       cl2 = params->clevel2 * 0.01;
       ctrl_mul = params->ctrl_mul;
       ctrl_exp = params->ctrl_exp;
-      ocs = params->ostrength * 0.5 * 0.01;
+      ocs = params->ostrength * 0.01;
+      if (!ctrl_mul)
+        ocs *= 0.5;
       bl = params->base_level * 0.01;
       double master = params->master_volume;
       al1 *= master;
Index: plugins/ChangeLog
===================================================================
--- plugins/ChangeLog	(revision 4374)
+++ plugins/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+Wed Sep  5 23:34:00 2007  Stefan Westerfeld  <stefan@space.twc.de>
+
+	* bseamplifier.cc: For control signals which are added up, it makes
+	sense to predivide the result by 2, so that the resulting signal will
+	be in the [0,1] range. However, for control signals which are
+	multiplied, this does not make sense, so I changed this.
+
 Sun Jun 24 00:18:52 2007  Stefan Westerfeld  <stefan@space.twc.de>
 
 	* artscompressor.cc: Moved constants to bse/bsemath.h.
