Repository navigation
v0.1.0
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-armuser 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.
prootis 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.binin 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.txton 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.pyruns.
Tools
tools/regress.pyrecords a fixed session and compares it with a reference.tools/session.pyscripts the app.
Not yet
- MIDI.
- Real decks on a physical network. WSL2's default networking does not see them.
- macOS.