]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - helpers/actions/volume.py
Move actions to separate files
[perso/Immae/Projets/Python/MusicSampler.git] / helpers / actions / volume.py
diff --git a/helpers/actions/volume.py b/helpers/actions/volume.py
new file mode 100644 (file)
index 0000000..7dda3c1
--- /dev/null
@@ -0,0 +1,28 @@
+def run(action, music=None, value=100, fade=0, delta=False, **kwargs):
+    if music is not None:
+        music.set_volume(value, delta=delta, fade=fade)
+    else:
+        action.mapping.set_master_volume(value, delta=delta, fade=fade)
+
+def description(action, music=None,
+        value=100, delta=False, fade=0, **kwargs):
+    message = ""
+    if delta:
+        if music is not None:
+            message += "{:+d}% to volume of « {} »" \
+                    .format(value, music.name)
+        else:
+            message += "{:+d}% to volume" \
+                    .format(value)
+    else:
+        if music is not None:
+            message += "setting volume of « {} » to {}%" \
+                    .format(music.name, value)
+        else:
+            message += "setting volume to {}%" \
+                    .format(value)
+
+    if fade > 0:
+        message += " with {}s fade".format(fade)
+
+    return message