Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 08:35
· 25 commits to main since this release

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, which tools/reel.py plays again on a fresh unit to make a reel. It needs ffmpeg.
  • 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 FRAMES is 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/emmc when that holds a PIONEER DJ SAMPLER folder.

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. --status shows 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 localhost waited 2 seconds on every new connection.

Docs

  • The README focuses on first use. docs/running.md covers 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.