- def volume(self, music = None, value = 100, **kwargs):
- pass
-
- def wait(self, duration = 0, **kwargs):
- time.sleep(duration)
-
- def command_print(self, command = "", **kwargs):
- return "running command {}".format(command)
-
- def pause_print(self, music = None, **kwargs):
- if music is not None:
- return "pausing {}".format(music.filename)
- else:
- return "pausing all musics"
-
- def play_print(self, music = None, fade_in = 0, start_at = 0,
- restart_if_running = False, volume = 100, **kwargs):
- message = "starting "
- if music is not None:
- message += music.filename
- else:
- message += "music"
-
- if start_at != 0:
- message += " at {}s".format(start_at)
-
- if fade_in != 0:
- message += " with {}s fade_in".format(fade_in)
-
- message += " at volume {}%".format(volume)
-
- if restart_if_running:
- message += " (restarting if already running)"
-
- return message
-
- def stop_print(self, music = None, fade_out = 0, **kwargs):
- if music is not None:
- if fade_out == 0:
- return "stopping music {}".format(music.filename)
+ # Machine states / events
+ def on_enter_loading(self):
+ if hasattr(actions, self.action):
+ if 'music' in self.arguments:
+ self.arguments['music'].subscribe_loaded(self.callback_music_loaded)