]>
Commit | Line | Data |
---|---|---|
c4f4f2a1 IB |
1 | def run(action, music=None, fade_out=0, wait=False, |
2 | set_wait_id=None, **kwargs): | |
3 | previous = None | |
4 | for music in action.music_list(music): | |
5 | if music.is_loaded_paused() or music.is_loaded_playing(): | |
6 | if previous is not None: | |
7 | previous.stop(fade_out=fade_out) | |
8 | previous = music | |
9 | else: | |
10 | music.stop(fade_out=fade_out) | |
11 | ||
12 | if previous is not None: | |
13 | action.waiting_music = previous | |
14 | previous.stop( | |
15 | fade_out=fade_out, | |
16 | wait=wait, | |
17 | set_wait_id=set_wait_id) | |
18 | ||
19 | def description(action, music=None, fade_out=0, wait=False, | |
20 | set_wait_id=None, **kwargs): | |
21 | ||
22 | message = "stopping " | |
23 | if music is not None: | |
24 | message += "music « {} »".format(music.name) | |
25 | else: | |
26 | message += "all musics" | |
27 | ||
28 | if fade_out > 0: | |
29 | message += " with {}s fadeout".format(fade_out) | |
30 | if wait: | |
31 | if set_wait_id is not None: | |
32 | message += " (waiting the end of fadeout, with id {})"\ | |
33 | .format(set_wait_id) | |
34 | else: | |
35 | message += " (waiting the end of fadeout)" | |
36 | ||
37 | return message | |
38 | ||
39 | def interrupt(action, music=None, fade_out=0, wait=False, | |
40 | set_wait_id=None, **kwargs): | |
41 | if action.waiting_music is not None: | |
42 | action.waiting_music.wait_event.set() |