9e4315886d55b40f3c9ccad893e25161208bfb31
- Channels 0-1 are now dedicated Mic 1/Mic 2 with mic_on toggle - Mic audio only routes to main when mic_on=True, never to headphone - New headphone_out_L/R JACK ports (all channels except mics) - New studio_out_L/R JACK ports (copies main, mutes when any mic is on) - Mic ON/OFF toggle button in mixer UI (hidden on non-mic channels) - Session save/load includes mic_on state
VIBE CODED AS FUCK. DO WHAT YOU WANT. I DON'T OWN IT YOU DON'T | Feature | Status | Notes | |---|---|---| | **Dual Deck Player** | ✅ | Play/Pause, Stop/Eject, Cue, ±15s scrub, Start/End jump, Queue system | | **4-Slot CART Machine** | ✅ | Toggle play/stop+reset, per-slot LCD display | | **Playlist Manager** | ✅ | Drag/drop, Add files/folder, Load to deck, Queue, Right-click menu | | **CART Playlist** | ✅ | Separate playlist panel, auto-fills next free cart slot | | **MIDI Controller** | ✅ | Numark DJ2Go - Play/Pause, Cue, Jog wheels, 4 Cart buttons | | **Play History** | ✅ | Scrollable session history, file tags + MusicBrainz metadata | | **Top Bar** | ✅ | 24hr clock, full date display | | **Colour Themes** | ✅ | 4 themes - Green, Amber, Blue, Red - cycle with ◈ button | | **Resizable Columns** | ✅ | QSplitter on all 3 columns | radiopanel/ ├── main.py # Entry point, layout, wiring ├── audio_engine.py # JACK client, deck states, recording ├── deck_widget.py # CDJ-style deck UI + transport controls ├── cart_widget.py # 4-slot CART machine ├── playlist_widget.py # Playlist + CART playlist panels ├── midi_engine.py # Numark DJ2Go MIDI mapping ├── top_bar_widget.py # Clock, date, theme switcher ├── history_widget.py # Session play history └── requirements.txt # Dependencies
Languages
Python
100%