0277089b2d12c347fae91a71732122c56a572443
- Remove TURN decks (3/4), clean up MIDI, layout - Single cart player with 3-item autoload queue + continue toggle - Event logging (SessionLogger), mic tracking, large mic timer widget - LUFS metering moved from external ports to internal master mix - Master output WAV recording with top-bar REC toggle - Music mix output (ch 3-8 only, no mics) - Preview bar for playlist auditioning - Merged show log with [SONG][CART][TALK] prefixes - Live CSV writer for OBS song display (~/live_songs.csv) - Misc fixes: preview race condition, datetime import for recording
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%