I also wonder if there is a need of having Enginius basic functionality be extended to the other apps, like Serato DJ or Rekordbox
I think they just want an automated sync of all their Music playlists into Engine DJ, as Engine DJ doesn’t let you import a playlist from another software if a playlist with that name already exists in your Engine collection. So you of have to go through each playlist by hand and drag the new tracks into the corresponding Engine playlist.
Not sure if other software like Lexicon DJ can already do this.
Exactly - I just want to automate the update process
Cool, was actually working on the same project a while back. Also added the option to convert spotify playlists to engine playlists with my existing music.
would love to have my playlists from engine synced to rekordbox, i occasunally have to play on pioneer hardware and it is a pain to update the music on there. i know there is lexicon, but don’t want to pay a subscription for 1 or 2 time sync per year. But the recordbox database is antoher level i found out
Library conversion in Lexicon DJ is free these days though.
Enginius v0.5.0 — multi-platform DJ sync, now with Rekordbox
Hey DJs and developers,
Excited to ship Enginius v0.5.0 — a major update that turns Enginius from “a sync tool for Engine DJ” into a genuinely multi-platform library manager for the DJs.
What’s new:
Rekordbox as a first-class peer target
Engine DJ and Rekordbox now flow through the same pipeline. Enable both, point at one watched folder, get identical playlist trees in both apps. No duplicates, no drift.
Rekordbox target runs through a Python sidecar (pyrekordbox) with auto-bootstrap of a portable CPython runtime into a venv, WAL-aware backups, and graceful failure recovery. Stable on macOS and Linux.
Drift detection & repair
Before: if you manually edited something in Engine DJ or Rekordbox under a managed root, it silently drifted from your filesystem.
Now: Enginius periodically compares the playlist tree in each target DB against what state.db says it should be. If it differs, the affected root is rebuilt from the filesystem. Throttled (every 5 minutes by default), backup of the target DB happens before the repair (so it’s recoverable). Track reordering inside a leaf playlist is preserved — Enginius compares sorted checksums, not order.
Smart sidecar backups
WAL already gives you crash safety, so per-event backups were just wasted I/O. Now both m.db (Engine DJ) and master.db (Rekordbox) are backed up only when there are real changes, throttled to one backup per 30 minutes by default. Force-bypass on bulk import (50+ files) and on drift repair. No startup backups.
NAS-friendly watcher
The old flat “2 seconds of silence after the last event” was a footgun on SMB/NFS: half-copied files would surface as tracks. The new watcher is signal-based: every candidate is held until (size, mtime) is stable for settleWindow (default 2s) OR maxHold is reached (default 30s). Plus a poll_interval_min fallback (default 2 min) for when fsnotify drops events on network shares.
enginius sanitize CLI
state.db corrupted or drifted from reality? enginius sanitize rebuilds it from disk + m.db scan, without touching the platform databases. Recovery in a minute.
Genericity under the hood
All sync logic now lives in internal/synctarget + internal/sync. The SyncTarget interface is everything you need to integrate a new platform. The reconciler is fully target-agnostic — pure orchestration. Each platform implements ReconcileTarget (ReconcileScan + ReconcileFix) and (optionally) DriftChecker. No hardcoded engine or RB logic in the common code.
What hasn’t changed
Everything you liked in v0.4.0 is still there: folders, content-hash stuff (cue points, beatgrids, loops preserved), real-time daemon with system tray, symlinks and Windows .lnk as real playlist entries, native Tauri v2 GUI, dry-run, unmount detection.
Downloads
- macOS (Apple Silicon): Enginius_0.5.0_aarch64.dmg ( Releases · Semyon / Enginius · GitLab )
- Linux: Enginius_0.5.0_amd64.AppImage ( Releases · Semyon / Enginius · GitLab )
- Windows: Enginius_0.5.0_x64_en-US.msi ( Releases · Semyon / Enginius · GitLab )
macOS one-liner: bash <(curl -fsSL https://gitlab.com/uoziod/enginius/-/raw/main/scripts/install-macos.sh)
Full changelog: CHANGELOG.md (CHANGELOG.md · main · Semyon / Enginius · GitLab).