aboutsummaryrefslogtreecommitdiff
path: root/music_sampler/actions
diff options
context:
space:
mode:
Diffstat (limited to 'music_sampler/actions')
-rw-r--r--music_sampler/actions/__init__.py2
-rw-r--r--music_sampler/actions/load_music.py12
-rw-r--r--music_sampler/actions/unload_music.py10
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 @@
1from . import interrupt_wait 1from . import interrupt_wait
2from . import load_music
2from . import pause 3from . import pause
3from . import pause_wait 4from . import pause_wait
4from . import play 5from . import play
@@ -7,6 +8,7 @@ from . import run_command
7from . import seek 8from . import seek
8from . import stop 9from . import stop
9from . import stop_all_actions 10from . import stop_all_actions
11from . import unload_music
10from . import unpause 12from . import unpause
11from . import unpause_wait 13from . import unpause_wait
12from . import volume 14from . 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 @@
1import threading
2
3def 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
8def 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 @@
1def run(action, music=None, **kwargs):
2 for music in action.music_list(music):
3 if music.is_unloadable():
4 music.unload()
5
6def 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"