X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=helpers%2Fkey.py;h=34c51406e8d1ca9f35cd94d4e53ce3f85b2845d5;hb=2e4049036ec4d90a9daeff606d821d2ac2d023ce;hp=ca73b87a421701661a7f76434dc866da2b860fc1;hpb=65ec4d2a87bfe0dcf1250ec8dc61225d4ed66325;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/helpers/key.py b/helpers/key.py index ca73b87..34c5140 100644 --- a/helpers/key.py +++ b/helpers/key.py @@ -1,9 +1,11 @@ from kivy.uix.widget import Widget -from kivy.properties import AliasProperty, BooleanProperty, ListProperty, StringProperty +from kivy.properties import AliasProperty, BooleanProperty, \ + ListProperty, StringProperty from kivy.clock import Clock from kivy.uix.behaviors import ButtonBehavior from .action import * +from . import debug_print import time class Key(ButtonBehavior, Widget): @@ -55,7 +57,7 @@ class Key(ButtonBehavior, Widget): def set_description(self, description): if description[0] is not None: self.description_title = str(description[0]) - for desc in description[1:]: + for desc in description[1 :]: if desc is None: self.description.append("") else: @@ -79,27 +81,29 @@ class Key(ButtonBehavior, Widget): def add_action(self, action_name, **arguments): self.actions.append(Action(action_name, self, **arguments)) + def interrupt_action(self): + self.current_action.interrupt() + def do_actions(self): if not self.enabled: return None self.parent.parent.ids['KeyList'].append(self.key_sym) - print("running actions for {}".format(self.key_sym)) + debug_print("running actions for {}".format(self.key_sym)) start_time = time.time() self.parent.start_running(self, start_time) action_number = 0 - for action in self.actions: + for self.current_action in self.actions: if self.parent.keep_running(self, start_time): - self.list_actions(action_number = action_number + 0.5) - action.run() + self.list_actions(action_number=action_number + 0.5) + self.current_action.run() action_number += 1 - self.list_actions(action_number = action_number) + self.list_actions(action_number=action_number) self.parent.finished_running(self, start_time) - def list_actions(self, action_number = 0): + def list_actions(self, action_number=0): self.parent.parent.ids['ActionList'].update_list(self, action_number) def on_press(self): self.list_actions() - pass