]>
Commit | Line | Data |
---|---|---|
c4f4f2a1 IB |
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): | |
6a327173 | 22 | formats = [] |
c4f4f2a1 IB |
23 | message = "starting " |
24 | if music is not None: | |
6a327173 IB |
25 | message += "« {} »" |
26 | formats.append(music.name) | |
c4f4f2a1 IB |
27 | else: |
28 | message += "all musics" | |
29 | ||
30 | if start_at != 0: | |
6a327173 IB |
31 | message += " at {}s" |
32 | formats.append(start_at) | |
c4f4f2a1 IB |
33 | |
34 | if fade_in != 0: | |
6a327173 IB |
35 | message += " with {}s fade_in" |
36 | formats.append(fade_in) | |
c4f4f2a1 | 37 | |
6a327173 IB |
38 | message += " at volume {}%" |
39 | formats.append(volume) | |
c4f4f2a1 IB |
40 | |
41 | if loop > 0: | |
6a327173 IB |
42 | message += " {} times" |
43 | formats.append(loop + 1) | |
c4f4f2a1 IB |
44 | elif loop < 0: |
45 | message += " in loop" | |
46 | ||
47 | if restart_if_running: | |
48 | message += " (restarting if already running)" | |
49 | ||
6a327173 | 50 | return _(message).format(*formats) |