This repository aims to provide 'low' level open source tools for Denon DJ hardware, in particular those using Engine DJ OS.
The first objective is to have simple tools to interact with m.db database.
Some features about StageLinQ will also be explored.
- Qt GUI
- make a backup of the currently edited database
- read track, playlist info, ...
- test database modified with 2.20 schema
- test database modified with >=3 schema
- track edit
- track add
- track IDV3 fill
- delete playlist/track/playlist track
- change track position in playlist
- change playlist index
- playlist create
- playlist to txt/json/m3u file
- playlist add track
- playlist add track from txt/json/m3u file
- scan files on engine dj music files storage
- update Track table from file scan
- support different database versions ( in 3.3.0 track table has 1 more parameter ) (to be tested fully assessed )
- basic implementation of PyStageLinQ
- grab stagelinq data
- use fileTransfer service
- act as an instance of EngineDJ software
- python 3
- pip
- Qt 6
- download release or build binary
- extract files in the desired folder (binary and data files must stay in the same directory)
- you can edit some options in
data/config.json
- double click on
piratengine
. - Runnng
piratengine --nogui
will run the program in interactive terminal mode (no Qt Gui)
git clone
the repocd piratengine
Linux
- run
./utils/build_linux.sh
Windows
- In a powershell, run
.\utils\build_windows.ps1
- A zip file will be created with all needed application files. You can destroy all other files/folder.
Some useful ressources:
- SQL3 database editor to manually read/edit databases
- Denon stuff
- Wireshark for network packet capture & analysis
- StageLinq python Implementation
- StageLinq nodeJs Implementation
- StageLinq Beatinfo
Linux, Mac, Windows (as in python)
Tested systems:
Fedora Linux, Archlinux, Windows 11
WTFPL.
This stuff is provided as is with no warranty at all, take your own precautions before using it (database backup ...).