diff --git a/knob.py b/knob.py index 021a391..12b3182 100644 --- a/knob.py +++ b/knob.py @@ -29,7 +29,7 @@ class Knob: else: self.focused = False self.color = color_primary - self.fade_count_down = 300 + self.fade_count_down = 150 if not self.vanish_label_path: self.label_path = [] def get_position(self): diff --git a/knobs.py b/knobs.py index f0fcf0b..6cb4fa8 100644 --- a/knobs.py +++ b/knobs.py @@ -39,21 +39,38 @@ class Knobs: if i == 3 or i == 6: x += self.knobs_radius + knobs_spacing y = knobs_y + self.label_vanish_parameter = 0 + self.label_border_height = 0 def display_label(self, knob): + if not knob.vanish_label_path: self.label_vanish_parameter = 0 + if len(knob.label_path) == 2: + if self.label_vanish_parameter > 0: + self.label_vanish_parameter -= 1 + elif knob.vanish_label_path: self.label_vanish_parameter = 5 label_fx_name = font_helvetica.render(knob.name, False, color_primary_light) label_fx_value = font_helvetica.render('[ ' + str(int(round(knob.value * 100, 0))) + '% ]', False, color_primary_light) min_x = self.knobs[5].get_position()[0] + self.knobs_radius * 1.5 label_x = min_x + (self.gui.screenW - min_x - label_fx_name.get_width()) / 2 label_y = (self.gui.screenH - label_fx_name.get_height() - label_fx_value.get_height()) / 2 - self.gui.screen.blit(label_fx_name, (label_x, label_y)) - self.gui.screen.blit(label_fx_value, (label_x, self.gui.screenH / 2)) + + if self.label_vanish_parameter == 0: + self.gui.screen.blit(label_fx_name, (label_x, label_y)) + self.gui.screen.blit(label_fx_value, (label_x, self.gui.screenH / 2)) + + if knob.vanish_label_path: + if self.label_border_height < self.gui.screenH / 2: + self.label_border_height += 2 + else: self.label_border_height = self.gui.screenH / 2 + else: + self.label_border_height = label_y + pygame.draw.line( self.gui.screen, color_primary_dark, - (label_x - 10, label_y), - (label_x - 10, self.gui.screenH - label_y), + (label_x - 10, self.label_border_height), + (label_x - 10, self.gui.screenH - self.label_border_height), 2 ) @@ -115,6 +132,8 @@ class Knobs: def set_focused(self, knob): for k in self.knobs: k.set_focused(k == knob) + if knob is None: + k.vanish_label_path = False def display(self): for knob in self.knobs: