diff options
Diffstat (limited to 'helpers/music_file.py')
-rw-r--r-- | helpers/music_file.py | 11 |
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 | |||
6 | import os.path | 6 | import os.path |
7 | 7 | ||
8 | from .lock import Lock | 8 | from .lock import Lock |
9 | from . import Config, gain | 9 | from . import Config, gain, debug_print, error_print |
10 | from .mixer import Mixer | 10 | from .mixer import Mixer |
11 | 11 | ||
12 | file_lock = Lock("file") | 12 | file_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_') |