+++ /dev/null
-def run(action, music=None, fade_out=0, wait=False,
- set_wait_id=None, **kwargs):
- previous = None
- for music in action.music_list(music):
- if music.is_loaded_paused() or music.is_loaded_playing():
- if previous is not None:
- previous.stop(fade_out=fade_out)
- previous = music
- else:
- music.stop(fade_out=fade_out)
-
- if previous is not None:
- action.waiting_music = previous
- previous.stop(
- fade_out=fade_out,
- wait=wait,
- set_wait_id=set_wait_id)
-
-def description(action, music=None, fade_out=0, wait=False,
- set_wait_id=None, **kwargs):
-
- message = "stopping "
- if music is not None:
- message += "music « {} »".format(music.name)
- else:
- message += "all musics"
-
- if fade_out > 0:
- message += " with {}s fadeout".format(fade_out)
- if wait:
- if set_wait_id is not None:
- message += " (waiting the end of fadeout, with id {})"\
- .format(set_wait_id)
- else:
- message += " (waiting the end of fadeout)"
-
- return message
-
-def interrupt(action, music=None, fade_out=0, wait=False,
- set_wait_id=None, **kwargs):
- if action.waiting_music is not None:
- action.waiting_music.wait_event.set()