Commit Graph

22 Commits

Author SHA1 Message Date
ComputerTech 8c3c2613b1 Fix broadcast broken: reconnect loop, listener stuck on waiting
- server.py: Increase ping_timeout 10->60, ping_interval 5->25 to prevent
  frequent socket disconnects during audio streaming
- server.py: Guard dj_start() against reconnect loops - only clear pre-roll
  and emit broadcast_started on a fresh broadcast, not on DJ reconnects
- listener.js: Add polling fallback to transports (websocket-only caused
  silent failure on upgrade error), set reconnectionAttempts to Infinity
- script.js: Same transport fallback fix for DJ panel socket
- techdj_qt.py: Add _broadcast_started flag to StreamingWorker.on_connect
  so streaming_started signal only fires once; reconnects resume silently.
  Reset flag in stop_streaming() for clean next session.
2026-03-09 20:47:52 +00:00
ComputerTech abf907ddfb Fix 6 bugs: remove dead listener code from DJ panel, fix StreamingWorker socket reuse, fix GUI-blocking time.sleep, fix abort import
- script.js: Remove ~500 lines of dead listener mode code (initListenerMode, enableListenerAudio, setListenerVolume, startListenerVUMeter, getMp3FallbackUrl, listener variables). Listener page now uses listener.js exclusively.
- script.js: Remove ?listen=true detection from DOMContentLoaded that could activate broken listener UI on DJ panel.
- script.js: Clean up initSocket() to remove dead listener mode detection logic.
- index.html: Remove dead #listener-mode div (now served by listener.html).
- server.py: Move 'abort' import to top-level Flask import instead of per-request import.
- techdj_qt.py: Fix StreamingWorker to create fresh socketio.Client on each streaming session, preventing stale socket state on reconnect.
- techdj_qt.py: Fix time.sleep(0.2) blocking GUI thread in stop_streaming() by removing it and using try/except for clean disconnect.
2026-03-09 19:16:42 +00:00
ComputerTech 7c33c678aa Fix listener serving DJ panel instead of listener page
- Block DJ-only files (index.html, script.js, style.css) on listener server
- Disable Flask built-in static handler on listener (static_folder=None)
  to prevent it from serving index.html before custom routes
- Add Cache-Control no-store headers to index route to prevent
  nginx/browser from caching stale index.html for listener URL
2026-03-09 19:01:42 +00:00
ComputerTech 5a7f4e81a4 Separate listener page from DJ panel
- Created standalone listener.html, listener.js, listener.css
- Listener server now serves listener.html instead of index.html
- Eliminates flash of DJ panel when loading listener page
- setup_shared_routes() accepts index_file parameter
2026-03-09 18:50:04 +00:00
ComputerTech df283498eb Add config.json system; fix bugs across server.py, script.js, techdj_qt.py
- Add config.example.json with all options: host, dj_port, listener_port,
  dj_panel_password, secret_key, music_folder, stream_bitrate, max_upload_mb,
  cors_origins, debug (copy to config.json to use)
- server.py: drive host/ports/secrets/CORS/upload limit from config.json;
  fix serve_static to use allowlist only; move re import to top-level;
  fix inconsistent indentation in login/logout/before_request handlers
- script.js: fix undefined decks.crossfader in updateUIFromMixerStatus;
  declare mediaRecorder as a proper let variable
- techdj_qt.py: replace blocking time.sleep poll in YTDownloadWorker with
  non-blocking QTimer; fix fragile or-chained lambda in recording reset
2026-03-09 18:02:47 +00:00
ComputerTech b5ea9e8d01 Final bug sweep: fix event param, remove dead code, dedupe CSS; add .gitignore recordings/ 2026-03-05 14:28:17 +00:00
ComputerTech 02f72e2372 Fix buffering issue and app bugs: improve stream delivery, fixed reset UI desync, and EQ naming 2026-01-20 18:14:50 +00:00
ComputerTech 6fc538336a Add remote server support with configurable ports and auto-refresh settings UI 2026-01-20 16:57:01 +00:00
ComputerTech 1606a3a83c Implement native PyQt5 DJ app with ultra-low latency broadcasting and stability fixes 2026-01-19 14:27:06 +00:00
ComputerTech 405efb6472 Add custom keyboard mapping and remove remote stream relay 2026-01-18 14:57:10 +00:00
ComputerTech 508b93125d Optimize Stream: YouTube removal, Latency improvements, Hotel Wi-Fi kit, and Listener sync 2026-01-18 14:16:06 +00:00
3nd3r 81120ac7ea Add remote stream relay feature: relay remote DJ streams to listeners
- Server-side: Added remote URL support in ffmpeg transcoder
- UI: Added relay controls in streaming panel with URL input
- Client: Added start/stop relay functions with socket communication
- Listener: Shows remote relay status in stream indicator
2026-01-03 10:29:10 -06:00
3nd3r 95b01fd436 Add optional DJ panel password 2026-01-03 09:12:57 -06:00
3nd3r 2db40e4547 Switch listener streaming to MP3-only 2026-01-03 08:14:03 -06:00
3nd3r 269da2c569 Fix ffmpeg transcoder timestamp crash 2026-01-02 22:29:32 -06:00
3nd3r 249b1cb210 Add /stream_debug and improve MP3 transcoder startup 2026-01-02 22:27:04 -06:00
3nd3r da7e1b7276 Add MP3 fallback stream when Opus unsupported 2026-01-02 22:17:45 -06:00
3nd3r e8163fb9a2 Improve downloading with yt-dlp fallback and fix listener streaming 2026-01-02 21:20:32 -06:00
computertech312 0fb7bc6f9e moo 2026-01-02 20:00:10 +00:00
Colby Lipsett c32caaf052 Upload files to "/" 2026-01-02 19:38:04 +00:00
Colby Lipsett c835d51824 Delete server.py 2026-01-02 19:37:34 +00:00
Colby Lipsett ec1735b9e3 Upload files to "/" 2026-01-02 18:31:55 +00:00