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
git clonethe repocd piratengine
(optional) you can create a python virtual environnement to avoid the project python libraries to interfere with the ones already present on your system
- run
python -m venv venv - then
source venv/bin/activate(some IDEs can do this automatically)
pip install -r install/requirements.txt- in your installed library PyStageLinQ.py file, change the variable this way :
ANNOUNCE_IP = "224.0.0.251"`
- (optional) if you created a virtual environnement, run
source venv/bin/activate(some IDEs can do this automatically) python piratengine.py
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
WTFPL.
This stuff is provided as is with no warranty at all, take your own precautions before using it (database backup ...).