]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - helpers/action.py
Add fading
[perso/Immae/Projets/Python/MusicSampler.git] / helpers / action.py
index 218c3167c934ada44a8213d22a5400d80215fe19..b8e44e6783267fcfd9781f3817cf1fbd58f550ee 100644 (file)
@@ -102,9 +102,9 @@ class Action:
     def stop_all_actions(self, **kwargs):
         self.mapping.stop_all_running()
 
-    def volume(self, music=None, value=100, delta=False, **kwargs):
+    def volume(self, music=None, value=100, fade=0, delta=False, **kwargs):
         if music is not None:
-            music.set_volume(value, delta=delta)
+            music.set_volume(value, delta=delta, fade=fade)
         else:
             self.mapping.set_master_volume(value, delta=delta)
 
@@ -192,22 +192,29 @@ class Action:
                 return "moving all musics to position {}s" \
                         .format(value)
 
-    def volume_print(self, music=None, value=100, delta=False, **kwargs):
+    def volume_print(self, music=None,
+            value=100, delta=False, fade=0, **kwargs):
+        message = ""
         if delta:
             if music is not None:
-                return "{:+d}% to volume of « {} »" \
+                message += "{:+d}% to volume of « {} »" \
                         .format(value, music.name)
             else:
-                return "{:+d}% to volume" \
+                message += "{:+d}% to volume" \
                         .format(value)
         else:
             if music is not None:
-                return "setting volume of « {} » to {}%" \
+                message += "setting volume of « {} » to {}%" \
                         .format(music.name, value)
             else:
-                return "setting volume to {}%" \
+                message += "setting volume to {}%" \
                         .format(value)
 
+        if music is not None and fade > 0:
+            message += " with {}s fade".format(fade)
+
+        return message
+
     def wait_print(self, duration=0, music=None, **kwargs):
         if music is None:
             return "waiting {}s" \