diff --git a/knob.py b/knob.py index f8bce1d..ecda4a1 100644 --- a/knob.py +++ b/knob.py @@ -37,6 +37,9 @@ class Knob: def get_position(self): return self.position + + def get_index(self, knobs): + return knobs.index(self) def __eq__(self, other): if other is None: return False diff --git a/knobs.py b/knobs.py index 183b220..b29875c 100644 --- a/knobs.py +++ b/knobs.py @@ -92,16 +92,16 @@ class Knobs: def calculate_label_path(self, knob, label_x): if len(knob.label_path) == 0: knob.label_path.append(knob.get_position()) + knob_index = knob.get_index(self.knobs) 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]): + if knob_index in [0, 1, 4, 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]): + elif knob_index in [2, 3, 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 + 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)) @@ -110,11 +110,10 @@ class Knobs: 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]): + if knob_index in [1, 2, 4, 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]): + elif knob_index in [3, 6, 7]: x = knob.get_position()[0] + self.knobs_radius * 1.5 y = knob.get_position()[1] - self.knobs_radius * 1.5 else: # knob 0