Initial commit: snapshot of current working state
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 468 KiB |
@@ -172,6 +172,7 @@ class MasterBus:
|
||||
self.lufs_long = -70.0
|
||||
self.volume = 1.0
|
||||
self.pfl_hp_blend = 0.5 # 0.0 = PFL only, 0.5 = equal, 1.0 = HP only
|
||||
self.headphone_volume = 0.7
|
||||
self._lufs_accum = 0
|
||||
|
||||
|
||||
|
||||
+49
-34
@@ -22,16 +22,16 @@ class LCDDisplay(QFrame):
|
||||
QFrame {
|
||||
background-color: #0a1a0a;
|
||||
border: 2px solid #1a2a1a;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
""")
|
||||
|
||||
layout = QVBoxLayout(self)
|
||||
layout.setContentsMargins(6, 6, 6, 6)
|
||||
layout.setContentsMargins(6, 4, 6, 4)
|
||||
layout.setSpacing(2)
|
||||
|
||||
self.track_btn = QPushButton("NO TRACK LOADED")
|
||||
self.track_btn.setFont(QFont("Courier New", 10, QFont.Bold))
|
||||
self.track_btn.setFont(QFont("Courier New", 9, QFont.Bold))
|
||||
self.track_btn.setStyleSheet("""
|
||||
QPushButton {
|
||||
color: #00ff41; background: transparent; border: none;
|
||||
@@ -46,12 +46,12 @@ class LCDDisplay(QFrame):
|
||||
time_row.setSpacing(4)
|
||||
|
||||
self.elapsed_label = QLabel("00:00")
|
||||
self.elapsed_label.setFont(QFont("Courier New", 22, QFont.Bold))
|
||||
self.elapsed_label.setFont(QFont("Courier New", 20, QFont.Bold))
|
||||
self.elapsed_label.setStyleSheet("color: #00ff41; background: transparent;")
|
||||
self.elapsed_label.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
|
||||
|
||||
self.remaining_label = QLabel("-00:00")
|
||||
self.remaining_label.setFont(QFont("Courier New", 13, QFont.Bold))
|
||||
self.remaining_label.setFont(QFont("Courier New", 12, QFont.Bold))
|
||||
self.remaining_label.setStyleSheet("color: #00cc33; background: transparent;")
|
||||
self.remaining_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
|
||||
|
||||
@@ -62,11 +62,11 @@ class LCDDisplay(QFrame):
|
||||
status_row = QHBoxLayout()
|
||||
|
||||
self.status_label = QLabel("STOPPED")
|
||||
self.status_label.setFont(QFont("Courier New", 9, QFont.Bold))
|
||||
self.status_label.setFont(QFont("Courier New", 8, QFont.Bold))
|
||||
self.status_label.setStyleSheet("color: #008822; background: transparent;")
|
||||
|
||||
self.queue_label = QLabel("QUEUE: EMPTY")
|
||||
self.queue_label.setFont(QFont("Courier New", 8))
|
||||
self.queue_label.setFont(QFont("Courier New", 7))
|
||||
self.queue_label.setStyleSheet("color: #008822; background: transparent;")
|
||||
self.queue_label.setAlignment(Qt.AlignRight)
|
||||
|
||||
@@ -113,24 +113,24 @@ class LCDDisplay(QFrame):
|
||||
self.remaining_label.setStyleSheet("color: #00cc33; background: transparent;")
|
||||
|
||||
|
||||
def make_icon_button(icon, color="#3a3a3a", icon_color="white",
|
||||
width=52, height=48):
|
||||
def make_icon_button(icon, color="#2a2a2a", icon_color="white",
|
||||
width=40, height=40):
|
||||
btn = QPushButton()
|
||||
btn.setFixedSize(width, height)
|
||||
btn.setIconSize(QSize(22, 22))
|
||||
btn.setIconSize(QSize(18, 18))
|
||||
btn.setIcon(icon)
|
||||
btn.setStyleSheet(f"""
|
||||
QPushButton {{
|
||||
background-color: {color};
|
||||
border: 1px solid #555;
|
||||
border-radius: 4px;
|
||||
border: 2px solid #444;
|
||||
border-radius: 0px;
|
||||
}}
|
||||
QPushButton:hover {{
|
||||
background-color: #555;
|
||||
}}
|
||||
QPushButton:pressed {{
|
||||
background-color: #222;
|
||||
border: 1px solid #888;
|
||||
border: 2px solid #888;
|
||||
}}
|
||||
""")
|
||||
return btn
|
||||
@@ -170,21 +170,21 @@ class DeckWidget(QWidget):
|
||||
QWidget {{
|
||||
background-color: #1c1c1c;
|
||||
border: 2px solid {self.accent_color};
|
||||
border-radius: 6px;
|
||||
border-radius: 0px;
|
||||
}}
|
||||
""")
|
||||
|
||||
root = QVBoxLayout(self)
|
||||
root.setContentsMargins(6, 6, 6, 6)
|
||||
root.setSpacing(4)
|
||||
root.setContentsMargins(4, 4, 4, 4)
|
||||
root.setSpacing(3)
|
||||
|
||||
self.header = QLabel(self.deck_label)
|
||||
self.header.setFont(QFont("Courier New", 16, QFont.Bold))
|
||||
self.header.setFont(QFont("Courier New", 13, QFont.Bold))
|
||||
self.header.setStyleSheet(f"""
|
||||
color: {self.accent_color};
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 2px;
|
||||
padding: 1px;
|
||||
""")
|
||||
self.header.setAlignment(Qt.AlignCenter)
|
||||
root.addWidget(self.header)
|
||||
@@ -193,14 +193,14 @@ class DeckWidget(QWidget):
|
||||
root.addWidget(self.lcd)
|
||||
|
||||
transport = QHBoxLayout()
|
||||
transport.setSpacing(4)
|
||||
transport.setSpacing(3)
|
||||
|
||||
self.btn_to_start = make_icon_button(icon_skip_start(), width=44, height=38)
|
||||
self.btn_back_15 = make_icon_button(icon_skip_back(), icon_color="#aaaaaa", width=44, height=38)
|
||||
self.btn_play = make_icon_button(icon_play(), "#1a6b3a", "#00ff41", 56, 38)
|
||||
self.btn_fwd_15 = make_icon_button(icon_skip_forward(), icon_color="#aaaaaa", width=44, height=38)
|
||||
self.btn_to_end = make_icon_button(icon_skip_end(), width=44, height=38)
|
||||
self.btn_stop = make_icon_button(icon_stop(), "#8a1a1a", "#ff4444", width=44, height=38)
|
||||
self.btn_to_start = make_icon_button(icon_skip_start())
|
||||
self.btn_back_15 = make_icon_button(icon_skip_back(), icon_color="#aaaaaa")
|
||||
self.btn_play = make_icon_button(icon_play(), "#1a5a2a", "#00ff41", 48, 40)
|
||||
self.btn_fwd_15 = make_icon_button(icon_skip_forward(), icon_color="#aaaaaa")
|
||||
self.btn_to_end = make_icon_button(icon_skip_end())
|
||||
self.btn_stop = make_icon_button(icon_stop(), "#6a1a1a", "#ff4444")
|
||||
|
||||
transport.addWidget(self.btn_to_start)
|
||||
transport.addWidget(self.btn_back_15)
|
||||
@@ -222,19 +222,34 @@ class DeckWidget(QWidget):
|
||||
self.current_theme = theme
|
||||
border_color = theme['border']
|
||||
bg_color = theme['bg2']
|
||||
|
||||
deck_accent = theme.get('deck_border', theme['accent'])
|
||||
self.accent_color = deck_accent
|
||||
self.setStyleSheet(f"""
|
||||
QWidget {{
|
||||
background-color: {bg_color};
|
||||
border: 2px solid {border_color};
|
||||
border-radius: 6px;
|
||||
border: 2px solid {deck_accent};
|
||||
border-radius: 0px;
|
||||
}}
|
||||
""")
|
||||
self.lcd.setStyleSheet(f"""
|
||||
QFrame {{
|
||||
background-color: {theme['lcd_bg']};
|
||||
border: 2px solid {theme['lcd_border']};
|
||||
border-radius: 0px;
|
||||
}}
|
||||
""")
|
||||
self.lcd.setStyleSheet(f"""
|
||||
QFrame {{
|
||||
background-color: {theme['lcd_bg']};
|
||||
border: 2px solid {theme['lcd_border']};
|
||||
border-radius: 0px;
|
||||
}}
|
||||
""")
|
||||
self.lcd.setStyleSheet(f"""
|
||||
QFrame {{
|
||||
background-color: {theme['bg']};
|
||||
border: 2px solid {border_color};
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}}
|
||||
""")
|
||||
|
||||
@@ -299,7 +314,7 @@ class DeckWidget(QWidget):
|
||||
QPushButton {
|
||||
background-color: #1a6b3a;
|
||||
border: 1px solid #555;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
QPushButton:hover { background-color: #2a7b4a; }
|
||||
""")
|
||||
@@ -324,7 +339,7 @@ class DeckWidget(QWidget):
|
||||
QPushButton {
|
||||
background-color: #1a6b3a;
|
||||
border: 1px solid #555;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
QPushButton:hover { background-color: #2a7b4a; }
|
||||
""")
|
||||
@@ -341,7 +356,7 @@ class DeckWidget(QWidget):
|
||||
QPushButton {
|
||||
background-color: #00aa33;
|
||||
border: 1px solid #00ff41;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
QPushButton:hover { background-color: #00cc44; }
|
||||
""")
|
||||
@@ -368,7 +383,7 @@ class DeckWidget(QWidget):
|
||||
QPushButton {
|
||||
background-color: #1a6b3a;
|
||||
border: 1px solid #555;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
QPushButton:hover { background-color: #2a7b4a; }
|
||||
""")
|
||||
@@ -431,7 +446,7 @@ class DeckWidget(QWidget):
|
||||
QPushButton {
|
||||
background-color: #1a6b3a;
|
||||
border: 1px solid #555;
|
||||
border-radius: 4px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
QPushButton:hover { background-color: #2a7b4a; }
|
||||
""")
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 134 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
Reference in New Issue
Block a user