if getattr(self, self.action + "_interrupt", None):
return getattr(self, self.action + "_interrupt")(**self.arguments)
- # Actions
- def command(self, command = "", **kwargs):
- # FIXME: todo
- pass
-
def music_list(self, music):
if music is not None:
return [music]
else:
return self.mapping.open_files.values()
+ # Actions
+ def command(self, command = "", **kwargs):
+ # FIXME: todo
+ pass
+
def pause(self, music = None, **kwargs):
for music in self.music_list(music):
if music.is_loaded_playing():
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:
+ restart_if_running = False, volume = 100,
+ loop = 0,
+ **kwargs):
+ for music in self.music_list(music):
if restart_if_running:
if music.is_not_stopped():
music.stop()
- music.play(volume = volume, fade_in = fade_in, start_at = start_at)
+ music.play(volume = volume, fade_in = fade_in, start_at = start_at, loop = loop)
else:
if not music.is_not_stopped():
- music.play(volume = volume, fade_in = fade_in, start_at = start_at)
+ music.play(volume = volume, fade_in = fade_in, start_at = start_at, loop = loop)
def seek(self, music = None, value = 0, delta = False, **kwargs):
for music in self.music_list(music):
return "unpausing all musics"
def play_print(self, music = None, fade_in = 0, start_at = 0,
- restart_if_running = False, volume = 100, **kwargs):
+ restart_if_running = False, volume = 100, loop = 0, **kwargs):
message = "starting "
if music is not None:
message += "« {} »".format(music.name)
else:
- message += "music"
+ message += "all musics"
if start_at != 0:
message += " at {}s".format(start_at)
message += " at volume {}%".format(volume)
+ if loop > 0:
+ message += " {} times".format(loop + 1)
+ elif loop < 0:
+ message += " in loop"
+
if restart_if_running:
message += " (restarting if already running)"