Remove solo buttons, hide mute on mics, fix master volume, add mic_on MIDI, resize fonts

- Removed solo buttons from all mixer channels
- Mute button hidden on mic channels (0,1) — mic_on toggle replaces it
- Fixed master volume fader not being applied in audio _process()
- Added mixer_mic_on MIDI signal and learnable action
- Added CLEAR MIDI button to settings popup
- Increased settings popup fonts 7pt→9pt, popup size 460→620px
- Reduced deck fonts (header 24→16, elapsed 32→22, etc.) and spacing
- Increased mixer fonts (names 8→9, headers 9→11, etc.)
- Added missing MIDI learn entries (mute ch3-8, pfl ch3-8, mic_on ch1-2)
This commit is contained in:
2026-05-15 08:41:40 +10:00
parent 9e4315886d
commit 4d6a639c08
6 changed files with 129 additions and 99 deletions
+7 -6
View File
@@ -60,7 +60,7 @@ class RadioPanelWindow(QMainWindow):
self.deck4 = DeckWidget("deck4", "TURN_002", "#e17055", self.engine, mode='turn')
self.cart_bank = CartBankWidget(self.engine)
self.cart_bank.setFixedHeight(180)
self.cart_bank.setFixedHeight(150)
self.playlist_widget = PlaylistWidget(
engine=self.engine,
@@ -194,7 +194,6 @@ class RadioPanelWindow(QMainWindow):
'name': ch.name,
'volume': ch.volume,
'muted': ch.muted,
'solo': ch.solo,
'pfl': ch.pfl,
'mic_on': ch.mic_on,
})
@@ -240,8 +239,9 @@ class RadioPanelWindow(QMainWindow):
self.midi.cart_trigger.connect(self._on_midi_cart)
self.midi.mixer_volume.connect(self._on_midi_mixer_volume)
self.midi.mixer_mute.connect(self._on_midi_mixer_mute)
self.midi.mixer_solo.connect(self._on_midi_mixer_solo)
self.midi.mixer_pfl.connect(self._on_midi_mixer_pfl)
self.midi.mixer_mic_on.connect(self._on_midi_mixer_mic_on)
self.midi.mixer_mic_on.connect(self._on_midi_mixer_mic_on)
self.midi.master_control.connect(self._on_midi_master_control)
self.midi.master_volume.connect(self._on_midi_master_volume)
self.midi.controller_connected.connect(self._on_midi_status)
@@ -284,12 +284,13 @@ class RadioPanelWindow(QMainWindow):
def _on_midi_mixer_mute(self, channel: int, muted: bool):
self.engine.set_channel_mute(channel, muted)
def _on_midi_mixer_solo(self, channel: int, on: bool):
self.engine.set_channel_solo(channel, on)
def _on_midi_mixer_pfl(self, channel: int, on: bool):
self.engine.set_channel_pfl(channel, on)
def _on_midi_mixer_mic_on(self, channel: int, on: bool):
if channel < 2:
self.engine.set_channel_mic_on(channel, on)
def _on_midi_master_control(self, knob: str, val: float):
master = self.engine.mixer['master']
attrs = {