]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler/mixer.py
Improve error message and handling
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler / mixer.py
index c8ec907230712ca99a7a6e02e4ee3514ed664a9c..b290162a1fe7b22ff45e8b2c30c17c619bac936a 100644 (file)
@@ -2,15 +2,17 @@ import sounddevice as sd
 import audioop
 import time
 
-from .helpers import Config
+from .helpers import Config, error_print
 
 sample_width = Config.sample_width
 
-def sample_width_to_dtype(sample_width):
+def sample_width_to_dtype():
     if sample_width == 1 or sample_width == 2 or sample_width == 4:
         return 'int' + str(8*sample_width)
     else:
-        raise "Unknown sample width"
+        error_print("Unknown sample width, setting default value 2.")
+        Config.sample_width = 2
+        return 'int16'
 
 def _latency(latency):
     if latency == "high" or latency == "low":
@@ -23,7 +25,7 @@ class Mixer:
         self.stream = sd.RawOutputStream(
                 samplerate=Config.frame_rate,
                 channels=Config.channels,
-                dtype=sample_width_to_dtype(Config.sample_width),
+                dtype=sample_width_to_dtype(),
                 latency=_latency(Config.latency),
                 blocksize=Config.blocksize,
                 callback=self.play_callback)