diff --git a/knobs.py b/knobs.py index 2775688..183b220 100644 --- a/knobs.py +++ b/knobs.py @@ -6,7 +6,7 @@ import random class Knobs: - def __init__(self, gui): + def __init__(self, gui, is_left_side=True): self.gui = gui self.knobs_surface = pygame.Surface((gui.screenW, gui.screenH), pygame.SRCALPHA) @@ -16,6 +16,8 @@ class Knobs: self.fade_in = False self.fade_out = False + self.is_left_side = is_left_side + knob_names = [ 'Delay Time', 'Delay Vol', @@ -38,7 +40,7 @@ class Knobs: for i in range(len(knob_names)): self.knobs.append(Knob(self, knob_names[i], self.knobs_radius, (x, y), 0)) y += self.knobs_radius + knobs_spacing - if i == 3 or i == 6: + if i == 3 or (self.is_left_side and i == 6) or (not self.is_left_side and i == 0): x += self.knobs_radius + knobs_spacing y = knobs_y self.label_vanish_parameter = 0 @@ -90,24 +92,40 @@ class Knobs: def calculate_label_path(self, knob, label_x): if len(knob.label_path) == 0: knob.label_path.append(knob.get_position()) - if (knob == self.knobs[0] or knob == self.knobs[1] or - knob == self.knobs[4] or knob == self.knobs[5]): - x = knob.get_position()[0] + self.knobs_radius * 1.5 - y = knob.get_position()[1] + self.knobs_radius * 1.5 - knob.label_path.append((x, y)) - elif (knob == self.knobs[2] or knob == self.knobs[3] or knob == self.knobs[6]): - x = knob.get_position()[0] + self.knobs_radius * 1.5 - y = knob.get_position()[1] - self.knobs_radius * 1.5 - knob.label_path.append((x, y)) - elif (knob == self.knobs[7]): - x = knob.get_position()[0] - self.knobs_radius * 1.5 - y = knob.get_position()[1] + self.knobs_radius * 1.5 + if self.is_left_side: + if (knob == self.knobs[0] or knob == self.knobs[1] or + knob == self.knobs[4] or knob == self.knobs[5]): + x = knob.get_position()[0] + self.knobs_radius * 1.5 + y = knob.get_position()[1] + self.knobs_radius * 1.5 + elif (knob == self.knobs[2] or knob == self.knobs[3] or knob == self.knobs[6]): + x = knob.get_position()[0] + self.knobs_radius * 1.5 + y = knob.get_position()[1] - self.knobs_radius * 1.5 + else: # knob 7 + x = knob.get_position()[0] - self.knobs_radius * 1.5 + y = knob.get_position()[1] + self.knobs_radius * 1.5 knob.label_path.append((x, y)) - if (knob == self.knobs[0] or knob == self.knobs[3]): - knob.label_path.append((self.knobs[0].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) - elif (knob == self.knobs[4] or knob == self.knobs[6] or knob == self.knobs[7]): - knob.label_path.append((self.knobs[4].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) + if (knob == self.knobs[0] or knob == self.knobs[3]): + knob.label_path.append((knob.get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) + elif (knob == self.knobs[4] or knob == self.knobs[7]): + knob.label_path.append((self.knobs[4].get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) + else: + if (knob == self.knobs[1] or knob == self.knobs[2] or + knob == self.knobs[4] or knob == self.knobs[5]): + x = knob.get_position()[0] + self.knobs_radius * 1.5 + y = knob.get_position()[1] + self.knobs_radius * 1.5 + elif (knob == self.knobs[3] or knob == self.knobs[6] or knob == self.knobs[7]): + x = knob.get_position()[0] + self.knobs_radius * 1.5 + y = knob.get_position()[1] - self.knobs_radius * 1.5 + else: # knob 0 + x = knob.get_position()[0] + self.knobs_radius * 1.5 + y = knob.get_position()[1] + self.knobs_radius * 1.5 + knob.label_path.append((x, y)) + + if (knob == self.knobs[0] or knob == self.knobs[1]): + knob.label_path.append((knob.get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) + elif (knob == self.knobs[4] or knob == self.knobs[7]): + knob.label_path.append((knob.get_position()[0] + self.knobs_radius * 1.5, self.gui.screenH/2)) knob.label_path.append((label_x - 10, self.gui.screenH/2))