Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 23:09
· 104 commits to main since this release

First release. Tested on Windows 11 with WSL2 and Ubuntu 24.04.

The emulator

  • The DJS-1000's own app (firmware 1.22) runs unmodified under qemu-arm user mode, in the unit's root filesystem. Its devices are stand-ins: the panel, the touch strip, the backlight and the sound card.
  • Several emulators can run side by side.
  • The guest runs in a chroot inside a user namespace, so it needs no root. proot is the fallback, about three times slower to start the app.

The virtual deck

  • Draws the machine: the screen, every lamp, and every control (buttons, pads, step keys, knobs, rotary selector, tempo slider, touch strip).
  • Master and headphone outputs, and a recording device as the input.
  • Lists the mods of the patch on the drive, grouped as on the mods' website, with a switch for each. Hover a row to read the mod's text.

USB drive and mods

  • A USB drive is a host folder. Samples load from it, and projects are saved, opened, deleted and rendered there.
  • An autoexec.bin in that folder runs as it does on a stick, which is how the mods are tried before a real unit.
  • The mods' settings are read from djs1000-mods.txt on the drive.

Pro DJ Link

  • Works with simulated decks. The unit announces itself as player 1 and sees the decks, so SYNC, MASTER and the mods that read the decks all work.
  • The decks are deckbench's, a separate project that start.py runs.

Tools

  • tools/regress.py records a fixed session and compares it with a reference.
  • tools/session.py scripts the app.

Not yet

  • MIDI.
  • Real decks on a physical network. WSL2's default networking does not see them.
  • macOS.