Repository navigation
v0.3.0
Tested on WSL2 with Ubuntu 24.04. The regression session comes out identical to the reference, the deck's self-test passes, and setup was run from scratch into a new folder.
The virtual deck
- REC (the first row of the TOOLS menu, or F7) records the window and its sound to
demo/captures. It writes the video, the sound alone, and a script of every command the deck sent, whichtools/reel.pyplays again on a fresh unit to make a reel. It needsffmpeg. - A TOOLS menu (F8) and a status line with readings: the master's level, how fast the sound arrives, and how much sound waits to be played. With the mouse over nothing the line shows your last action as a line for a script, and a click copies it.
- A right click on a pad or a step key holds it down until it is clicked again. The pad velocity can be set from the menu.
- The sound is buffered more and its cuts are counted (
--audio-buffer MS, default 150).--audio-block FRAMESis the block given to the sound card, and a bigger one rides out a busy deck. - The deck has a window icon (the CC mark) and a layout centred in the window. The status line's buttons light up under the mouse and show a hand cursor. A right-click-held key's ring is smoother. Held pads and step keys show only the unit's lamps, so a pad flashes only when the app flashes it.
- A DECKBENCH button in the status line, beside TOOLS. With deckbench running, its actions are recorded beside a REC and played back, and the INPUT SOURCE knob of LIVE SAMPLING picks which deckbench deck the app hears.
- The unit's internal storage is bound in from
$DJS_EMMC, or from~/djs/emmcwhen that holds aPIONEER DJ SAMPLERfolder.
Videos
- Resolutions (
--res hd,2k,4k), keyable backgrounds (--bg black,green,transparent) and a clean video without text. A reel is made as the website's hero shape at 2K unless the episode says another. The clean hero panels fill the height and line up with the unit's case. - The video is H.264 at a higher quality for editing. The sound is written whole beside it at 48 kHz with the pitch kept, as 320k AAC inside the video.
- A reel can replay a REC with its project and moving knobs and show the mods panel.
--statusshows the deck's status line, and REC videos keep it. A step can take# before:setup lines.
Setup
- Setup extracts into a staging folder before replacing an installation. An existing installation needs
--rebuild, which backs up its previous firmware files and settings. Unsafe or unrecognised destinations are rejected. - Unexpected archive extraction errors stop setup instead of leaving an incomplete installation marked ready.
- Setup's rejection and staging paths have firmware-free tests (
tools/test_setup.py), and a GitHub Action runs them.
Fixes
- The deck gives deckbench's address as 127.0.0.1, because from Windows to WSL
localhostwaited 2 seconds on every new connection.
Docs
- The README focuses on first use.
docs/running.mdcovers off-screen interaction, scripting and platform details. - Linux virtual machines on macOS are described as untested, not unsupported. The launcher does not manage the VM.
- The README says why the emulator is lightweight and how the app runs in user mode.