nickmin 0277089b2d Overhaul: 5-task implementation
- 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
2026-07-17 20:44:15 +10:00
2026-07-17 20:44:15 +10:00
2026-07-17 20:44:15 +10:00
2026-07-17 20:44:15 +10:00
2026-07-17 20:44:15 +10:00

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


S
Description
No description provided
Readme
859 KiB
Languages
Python 100%