]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler/action.py
wait actions are now pausable and resettable
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler / action.py
index 4b5a71d3806275b5bf16198be985fda052f7b61f..22a2bdc9feeb3231fa8a9c80f7b7d72f02c0d71a 100644 (file)
@@ -1,5 +1,5 @@
 from transitions.extensions import HierarchicalMachine as Machine
-from . import debug_print, error_print
+from .helpers import debug_print, error_print
 from . import actions
 
 class Action:
@@ -98,6 +98,24 @@ class Action:
             return getattr(getattr(actions, self.action), 'interrupt')(
                     self, **self.arguments)
 
+    def pause(self):
+        if getattr(actions, self.action, None) and\
+                hasattr(getattr(actions, self.action), 'pause'):
+            return getattr(getattr(actions, self.action), 'pause')(
+                    self, **self.arguments)
+
+    def unpause(self):
+        if getattr(actions, self.action, None) and\
+                hasattr(getattr(actions, self.action), 'unpause'):
+            return getattr(getattr(actions, self.action), 'unpause')(
+                    self, **self.arguments)
+
+    def reset(self):
+        if getattr(actions, self.action, None) and\
+                hasattr(getattr(actions, self.action), 'reset'):
+            return getattr(getattr(actions, self.action), 'reset')(
+                    self, **self.arguments)
+
     # Helpers
     def music_list(self, music):
         if music is not None:
@@ -110,4 +128,4 @@ class Action:
             return getattr(actions, self.action)\
                     .description(self, **self.arguments)
         else:
-            return "unknown action {}".format(self.action)
+            return _("unknown action {}").format(self.action)