diff --git a/CAPITOL-IP-PLUS-PLATA2_SF-1024x706-350949840.png b/CAPITOL-IP-PLUS-PLATA2_SF-1024x706-350949840.png new file mode 100644 index 0000000..1947648 Binary files /dev/null and b/CAPITOL-IP-PLUS-PLATA2_SF-1024x706-350949840.png differ diff --git a/audio_engine.py b/audio_engine.py index 385d9f8..b3265e1 100644 --- a/audio_engine.py +++ b/audio_engine.py @@ -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 diff --git a/deck_widget.py b/deck_widget.py index ad3be56..640fd0f 100644 --- a/deck_widget.py +++ b/deck_widget.py @@ -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; } """) diff --git a/mixerlayout.jpg b/mixerlayout.jpg new file mode 100644 index 0000000..0fc77ad Binary files /dev/null and b/mixerlayout.jpg differ diff --git a/panel_issues.jpg b/panel_issues.jpg new file mode 100644 index 0000000..31d7fcd Binary files /dev/null and b/panel_issues.jpg differ