]>
Commit | Line | Data |
---|---|---|
1 | def run(action, music=None, fade_in=0, start_at=0, | |
2 | restart_if_running=False, volume=100, | |
3 | loop=0, **kwargs): | |
4 | for music in action.music_list(music): | |
5 | if restart_if_running: | |
6 | if music.is_in_use(): | |
7 | music.stop() | |
8 | music.play( | |
9 | volume=volume, | |
10 | fade_in=fade_in, | |
11 | start_at=start_at, | |
12 | loop=loop) | |
13 | elif not music.is_in_use(): | |
14 | music.play( | |
15 | volume=volume, | |
16 | fade_in=fade_in, | |
17 | start_at=start_at, | |
18 | loop=loop) | |
19 | ||
20 | def description(action, music=None, fade_in=0, start_at=0, | |
21 | restart_if_running=False, volume=100, loop=0, **kwargs): | |
22 | formats = [] | |
23 | message = "starting " | |
24 | if music is not None: | |
25 | message += "« {} »" | |
26 | formats.append(music.name) | |
27 | else: | |
28 | message += "all musics" | |
29 | ||
30 | if start_at != 0: | |
31 | message += " at {}s" | |
32 | formats.append(start_at) | |
33 | ||
34 | if fade_in != 0: | |
35 | message += " with {}s fade_in" | |
36 | formats.append(fade_in) | |
37 | ||
38 | message += " at volume {}%" | |
39 | formats.append(volume) | |
40 | ||
41 | if loop > 0: | |
42 | message += " {} times" | |
43 | formats.append(loop + 1) | |
44 | elif loop < 0: | |
45 | message += " in loop" | |
46 | ||
47 | if restart_if_running: | |
48 | message += " (restarting if already running)" | |
49 | ||
50 | return _(message).format(*formats) |