diff options
Diffstat (limited to 'music_sampler/actions')
-rw-r--r-- | music_sampler/actions/__init__.py | 2 | ||||
-rw-r--r-- | music_sampler/actions/load_music.py | 12 | ||||
-rw-r--r-- | music_sampler/actions/unload_music.py | 10 |
3 files changed, 24 insertions, 0 deletions
diff --git a/music_sampler/actions/__init__.py b/music_sampler/actions/__init__.py index 7c812cb..e0671fe 100644 --- a/music_sampler/actions/__init__.py +++ b/music_sampler/actions/__init__.py | |||
@@ -1,4 +1,5 @@ | |||
1 | from . import interrupt_wait | 1 | from . import interrupt_wait |
2 | from . import load_music | ||
2 | from . import pause | 3 | from . import pause |
3 | from . import pause_wait | 4 | from . import pause_wait |
4 | from . import play | 5 | from . import play |
@@ -7,6 +8,7 @@ from . import run_command | |||
7 | from . import seek | 8 | from . import seek |
8 | from . import stop | 9 | from . import stop |
9 | from . import stop_all_actions | 10 | from . import stop_all_actions |
11 | from . import unload_music | ||
10 | from . import unpause | 12 | from . import unpause |
11 | from . import unpause_wait | 13 | from . import unpause_wait |
12 | from . import volume | 14 | from . import volume |
diff --git a/music_sampler/actions/load_music.py b/music_sampler/actions/load_music.py new file mode 100644 index 0000000..f3e02ba --- /dev/null +++ b/music_sampler/actions/load_music.py | |||
@@ -0,0 +1,12 @@ | |||
1 | import threading | ||
2 | |||
3 | def run(action, music=None, **kwargs): | ||
4 | for music in action.music_list(music): | ||
5 | if not music.is_loaded(allow_substates=True): | ||
6 | threading.Thread(name="MSMusicLoad", target=music.load).start() | ||
7 | |||
8 | def description(action, music=None, **kwargs): | ||
9 | if music is not None: | ||
10 | return "load music « {} » to memory".format(music.name) | ||
11 | else: | ||
12 | return "load all music to memory" | ||
diff --git a/music_sampler/actions/unload_music.py b/music_sampler/actions/unload_music.py new file mode 100644 index 0000000..b3de316 --- /dev/null +++ b/music_sampler/actions/unload_music.py | |||
@@ -0,0 +1,10 @@ | |||
1 | def run(action, music=None, **kwargs): | ||
2 | for music in action.music_list(music): | ||
3 | if music.is_unloadable(): | ||
4 | music.unload() | ||
5 | |||
6 | def description(action, music=None, **kwargs): | ||
7 | if music is not None: | ||
8 | return "unload music « {} » from memory".format(music.name) | ||
9 | else: | ||
10 | return "unload all music from memory" | ||