aboutsummaryrefslogtreecommitdiff
path: root/helpers/music_file.py
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/music_file.py')
-rw-r--r--helpers/music_file.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/helpers/music_file.py b/helpers/music_file.py
index 7e5f978..5b0d0df 100644
--- a/helpers/music_file.py
+++ b/helpers/music_file.py
@@ -6,7 +6,7 @@ from transitions.extensions import HierarchicalMachine as Machine
6import os.path 6import os.path
7 7
8from .lock import Lock 8from .lock import Lock
9from . import Config, gain 9from . import Config, gain, debug_print, error_print
10from .mixer import Mixer 10from .mixer import Mixer
11 11
12file_lock = Lock("file") 12file_lock = Lock("file")
@@ -32,8 +32,6 @@ class MusicFile(Machine):
32 32
33 Machine.__init__(self, states=states, transitions=transitions, initial='initial') 33 Machine.__init__(self, states=states, transitions=transitions, initial='initial')
34 34
35 # FIXME: catch error here
36 self.mixer = mapping.mixer or Mixer()
37 self.volume = 100 35 self.volume = 100
38 self.mapping = mapping 36 self.mapping = mapping
39 self.filename = filename 37 self.filename = filename
@@ -49,18 +47,19 @@ class MusicFile(Machine):
49 def on_enter_loading(self): 47 def on_enter_loading(self):
50 with file_lock: 48 with file_lock:
51 try: 49 try:
52 print("Loading « {} »".format(self.name)) 50 debug_print("Loading « {} »".format(self.name))
51 self.mixer = self.mapping.mixer or Mixer()
53 db_gain = gain(self.volume_factor * 100) 52 db_gain = gain(self.volume_factor * 100)
54 self.audio_segment = pydub.AudioSegment.from_file(self.filename).set_frame_rate(Config.frame_rate).set_channels(Config.channels).set_sample_width(Config.sample_width).apply_gain(db_gain) 53 self.audio_segment = pydub.AudioSegment.from_file(self.filename).set_frame_rate(Config.frame_rate).set_channels(Config.channels).set_sample_width(Config.sample_width).apply_gain(db_gain)
55 self.audio_segment_frame_width = self.audio_segment.frame_width 54 self.audio_segment_frame_width = self.audio_segment.frame_width
56 self.sound_duration = self.audio_segment.duration_seconds 55 self.sound_duration = self.audio_segment.duration_seconds
57 except Exception as e: 56 except Exception as e:
58 print("failed to load « {} »: {}".format(self.name, e)) 57 error_print("failed to load « {} »: {}".format(self.name, e))
59 self.loading_error = e 58 self.loading_error = e
60 self.fail() 59 self.fail()
61 else: 60 else:
62 self.success() 61 self.success()
63 print("Loaded « {} »".format(self.name)) 62 debug_print("Loaded « {} »".format(self.name))
64 63
65 def check_is_loaded(self): 64 def check_is_loaded(self):
66 return self.state.startswith('loaded_') 65 return self.state.startswith('loaded_')