Compare commits
3 Commits
b176c11cc1
...
468e7974be
| Author | SHA1 | Date | |
|---|---|---|---|
| 468e7974be | |||
| a507916f1c | |||
| 306c8755eb |
3
knob.py
3
knob.py
@ -38,6 +38,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
|
||||
return self.name == other.name
|
||||
|
||||
53
knobs.py
53
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,39 @@ 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
|
||||
knob_index = knob.get_index(self.knobs)
|
||||
if self.is_left_side:
|
||||
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_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
|
||||
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_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_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
|
||||
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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user