]> git.mxchange.org Git - simgear.git/commitdiff
silently clip pitch and gain to their maximum values
authorehofman <ehofman>
Sun, 1 Nov 2009 17:34:25 +0000 (17:34 +0000)
committerTim Moore <timoore@redhat.com>
Sun, 1 Nov 2009 20:52:37 +0000 (21:52 +0100)
simgear/sound/sample_openal.hxx

index 8f3102334e4cda6cdefebcde19dc89ba14487c06..a0fb812e75ae097edfa67506e2ae31f11e9da1e1 100644 (file)
@@ -230,7 +230,10 @@ public:
      * Should be between 0.0 and 2.0 for maximum compatibility.
      * @param p Pitch
      */
-    inline void set_pitch( float p ) { _pitch = p; _changed = true; }
+    inline void set_pitch( float p ) {
+        if (p > 2.0) p = 2.0; else if (p < 0.01) p = 0.01;
+        _pitch = p; _changed = true;
+    }
 
     /**
      * Get the current pitch value of this audio sample.
@@ -245,6 +248,7 @@ public:
      * @param v Volume
      */
     inline void set_master_volume( float v ) {
+        if (v > 1.0) v = 1.0; else if (v < 0.0) v = 0.0;
         _master_volume = v; _changed = true;
     }
 
@@ -254,7 +258,10 @@ public:
      * volume.
      * @param v Volume
      */
-    inline void set_volume( float v ) { _volume = v; _changed = true; }
+    inline void set_volume( float v ) {
+        if (v > 1.0) v = 1.0; else if (v < 0.0) v = 0.0;
+        _volume = v; _changed = true;
+    }
 
     /**
      * Get the final volume value of this audio sample.