mirror of
https://github.com/LaokeQwQ/Mixboard.git
synced 2026-06-03 17:10:12 +08:00
a lightweight, real-time web monitor dashboard for Engine OS hardware.
- JavaScript 58%
- CSS 21.6%
- HTML 20.4%
| data | ||
| patches | ||
| public | ||
| .gitignore | ||
| device-history.js | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
| stagelinq-manager.js | ||
Mixboard
Mixboard is a lightweight, real-time web dashboard for Denon DJ Prime/Engine OS hardware. It connects to DJ devices over the network using the StageLinQ protocol and provides an elegant, responsive interface to monitor your currently playing tracks, BPM, waveform progress, playback speed, and sync status.
Features
- Real-Time Track Info: Displays Artwork, Track Title, Artist, and Time Remaining.
- Deck Synchronization: Multi-deck support (up to 4 decks). Active deck highlighting.
- Mixer Status: Visualizes Crossfader position and Channel assignments.
- Performance Details: Tracks BPM, Pitch % offset, Sync Mode, Master Deck status, and Hotcue pads.
- Connected Devices: USB and SD card presence detection.
- Dynamic Theming: Supports both Dark and Light modes. Fully responsive layout perfectly tailored for horizontal and vertical screens.
Requirements
- Node.js (v16+ recommended).
- A device running Engine OS (e.g., Denon Prime 4, Prime GO, SC6000) on the same local network.
Installation
- Clone the repository:
git clone https://github.com/yourusername/Mixboard.git - Navigate to the project folder and install dependencies:
cd Mixboard npm install
Usage
- Start the server:
npm start - Ensure your computer is connected to the same Wi-Fi or LAN as your Denon DJ hardware.
- Once a device is discovered, open your browser and navigate to the address shown in your terminal (usually
http://localhost:3000or your local IP address). - The dashboard will automatically update as you play tracks and manipulate the hardware.
Architecture
- Backend: Node.js with
expressto serve the UI andwsfor WebSocket communication. - StageLinQ: Utilizes a patched version of
stagelinqfor real-time UDP/TCP data extraction from the hardware. - Frontend: Vanilla JS (
app.js), HTML5, and pure CSS for low-latency DOM updates and beautiful aesthetics. The UI design heavily implements CSS Grids/Flexbox and dynamic SVG progress bar animations.
Contributors
- Chris Le (@chrisle) - Node.js (stagelinq package) maintainer
- Martijn Reuvers - Core development
- MarByteBeep (@MarByteBeep) - Original TypeScript implementation
- honusz - BeatInfo, TimeSync, Broadcast services
- Kalle Kirjalainen - Contributions
- docBliny - Contributions
License
MIT License. See LICENSE for details.