- def ready(self):
- if 'music' in self.arguments:
- return self.arguments['music'].check_is_loaded()
- else:
- return True
-
- def run(self):
- print(self.description())
- getattr(self, self.action)(**self.arguments)
-
- def description(self):
- return getattr(self, self.action + "_print")(**self.arguments)
-
- def command(self, command = "", **kwargs):
- pass
-
- def pause(self, music = None, **kwargs):
- if music is not None:
- music.pause()
- else:
- for music in self.key.parent.open_files.values():
- if music.is_playing() and not music.is_paused():
- music.pause()
-
- def unpause(self, music = None, **kwargs):
- if music is not None:
- music.unpause()
- else:
- for music in self.key.parent.open_files.values():
- if music.is_playing() and music.is_paused():
- music.unpause()
-
- def play(self, music = None, fade_in = 0, start_at = 0,
- restart_if_running = False, volume = 100, **kwargs):
- if music is not None:
- if restart_if_running:
- if music.is_playing():
- music.stop()
- music.play(volume = volume, fade_in = fade_in, start_at = start_at)
- else:
- if not music.is_playing():
- music.play(volume = volume, fade_in = fade_in, start_at = start_at)
- else:
- pygame.mixer.unpause()