]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blame - music_sampler/actions/play.py
Make music_sampler multilingual
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler / actions / play.py
CommitLineData
c4f4f2a1
IB
1def 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
20def 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)