Skip to content

openDJ 0.5.0

Choose a tag to compare

@dj-nahuel dj-nahuel released this 05 Nov 15:45
· 180 commits to main since this release

openDJ 0.5 is about switching over and keeping your collection in shape. Bring your Traktor library in next to rekordbox, VirtualDJ and Mixxx, play from your own Plex, Navidrome or Jellyfin server, edit many tracks at once with your own tag groups, and see how clean your collection is on the new Collection Health dashboard. There's a Groove Box drum machine that takes the place of a deck, a Player layout that turns openDJ into a music player over Automix, hands-on tutorials inside the app, M3U8 playlist files in and out, a now-playing overlay for OBS, Mixcloud export for recorded mixes, and a tidier, lilac look throughout.

What's new

Switching over

  • Import from Traktor. Settings › Collection › Import reads Traktor's collection.nml: tracks, cues, loops, beat grids and nested playlist folders, kept as folders. It sits next to the rekordbox, VirtualDJ and Mixxx imports, and the same song in two apps becomes one track.
  • Your own tag groups. Tags are no longer shaped like VirtualDJ's User 1 and User 2 fields. Settings › Collection › Tags holds named groups (Mood, Vibe, Set…), each allowing one or several tags per track. Your old tag words move into groups on first start, VirtualDJ's User fields and rekordbox's My Tag categories import into groups, and searches like mood:dreamy find them. Each tag can have its own color, shown on its chip, and can be renamed, merged into another or deleted, and groups can be reordered.
  • Playlist files. Right-click any playlist, crate, folder, history session, album or mixed set for Export as M3U8…; a folder becomes a folder of files, and tracks beside the file get paths from there, so a USB stick works anywhere. Import Playlist File… in the Playlists + menu reads M3U, M3U8, PLS and XSPF from VLC, foobar2000, Serato and others, and finds each track in your collection.
  • Wanted only by hand. Imports no longer fill the Wanted list with every streamed track in your old app. Add to Wanted (and Add to Downloads, with a download add-on) is on streaming tracks and playlists, and Add to Wanted on a streaming playlist keeps adding the tracks that join it later.

Your music servers

  • Plex, Navidrome (and any Subsonic server) and Jellyfin (and Emby) are sources in the rail. Search and browse albums, artists and playlists, play a track straight onto a deck from a size-capped cache, download a song, album or playlist to that cache, or add it to your collection.
  • Settings › Sources lists every source with its status, an In rail switch and its settings. A server source shows its set-up form in its own panel until it's set up.
  • A fresh install shows a shorter rail: the local sources and Spotify, with the services that need an account or a server switched on in Settings › Sources.

Collection

  • Collection Health dashboard. Overview shows how much of your collection is clean, with Inbox, In Prep and Play Ready each on their own bar. The checks are grouped into five areas in the order they're best fixed: Files, Out of place, Duplicates, Info and Prep. Each area lists its tracks with a Problem and a Fix column and a progress bar, and the first area with work is marked Start here. Auto-fix applies the sure fixes of an area (relinking a missing file to its only match, easy duplicate merges, junk in names) in one step that Undo takes back, and Prep's Analyze queues every track not analysed yet. For the rest, Review goes through an area one track at a time on a card: Return applies the fix, → skips, I ignores, E opens Info, Space plays it in the headphones, and Next moves on to the next area with work. Tracks you told a check to leave alone are under Ignored, where Bring back lets the checks see them again.
  • Edit many tracks at once. Cmd-click (Ctrl-click) and shift-click pick any set of tracks, and every track-menu action works on all of them. The Info tab edits picked tracks together, tags are chips you add and remove on one or many tracks, and Fix Names… finds and replaces, changes case, removes brackets or swaps artist and title, with a preview first. All of it undoes in one step.
  • Track colours show as a dot column by default (or a strip, a tint or nothing, in Settings), and the track menu sets a colour on the picked tracks.
  • Stages in colour: Wanted, Inbox, In Prep and Play Ready each have their colour in the sidebar, and the stage strip tops the track menu.
  • Crates get a colour and an icon from their menu, and new playlists, crates and folders are named in place in the sidebar.
  • Albums are grouped by artist, then album, newest first, with the year under each cover.
  • Search is easier to reach and more forgiving: ⌘F (Ctrl+F) from anywhere, Esc clears, the box sits centred, and olafur, acdc or dont find "Ólafur", "AC/DC" and "Don't".
  • BPM and Key chips in the filter bar match the playing track in one click; their ▾ opens the full filter.
  • A hidden column comes back where it was, at its old width.
  • Collection always updates when openDJ starts, and the refresh button at the top of the Collection sidebar rescans.

Layouts and decks

  • Player layout replaces Simple: a music player over Automix. One tall bar with edge-to-edge cover art, the track overview, Order, Previous, Play, Next and Repeat (played tracks go to the end of the list), and what plays next. Its search box in the top bar plays a track next, adds it to the queue or plays it now.
  • Groove Box: a 16-step drum sequencer that takes the place of a deck and goes through its EQ, filter, FX and faders. It follows the sync leader (or Link), starts on the next downbeat and stays locked. Four synthesised kits (808-, 909- and 606-style and a dub kit) and six named grooves, with swing and per-row mute, solo, level, pitch and decay.
  • Instruments in the rail: drag a Groove Box kit, an instrument plugin, the Mic or the Aux input onto a deck.
  • SLIP is a small word in the jog's corner, lilac when on. Vinyl mode moved to Settings › Decks (on by default); controller VINYL buttons still work per deck.
  • Beat grids fitted near a whole or half BPM are rounded to it (60 instead of 59.96), and tracks are analysed again the next time they load.

Tutorials

  • Settings › Help › Tutorials has five hands-on lessons that ring the real controls and wait for you: Looping, Using FX, Filtering tracks, Automix and, with one plugged in, the DDJ-FLX4.

Recording and broadcasting

  • Recordings show up in Mixed Sets at once, with a tracklist file next to them.
  • Export for Mixcloud on a mixed set makes a 320 kbps MP3 with the tracklist and chapters, and you can sign in to Mixcloud and upload it from openDJ.
  • Now playing for OBS and Streamlabs. Settings › Broadcast can show the track the audience hears on your stream: an overlay page with a clear background in three styles (lower third, corner, ticker) for a Browser Source, plus now-playing.txt for a Text source and now-playing.json with the last ten tracks. It works without a radio station.
  • Settings › Broadcast has a Broadcasting switch, off by default; the ON AIR pill only shows once it's on and a station is set up. The loudness meter lives in the ON AIR panel.

Plugins

  • Settings › Plugins is its own page with Effects, Instruments and Folders tabs, plugins grouped by maker, CLAP/VST3/AU chips and search. Scans run several plugins at once, so they finish sooner.
  • EDIT opens a plugin's own window, with its presets and every setting.
  • Every FX menu has openDJ FX and Plugins tabs, with effects grouped by kind (Delay & Echo, Reverb, Filter & EQ, Modulation…).
  • On macOS, Audio Units open their own editor, VST3 editors sit in place, and plugin helpers run at real-time priority, so busy plugins no longer drop out.

Controllers

  • Allen & Heath Xone K2: openDJ's own two-deck mapping, picked automatically: filters, gain and loop size on the encoders, FX and EQ on the knobs, hot cues, beat jumps, SYNC and PLAY on the matrix, with Shift layers. openDJ now ships mappings in its own format, and they can be duplicated in the Controller Editor like any other.
  • Quick hot cue deletes and pressed browse buttons in openDJscript no longer get missed.
  • The Controller Editor's press-to-find finds the SHIFT row when you hold SHIFT.

A tidier look

  • One lilac accent everywhere, including Settings and the welcome dialog.
  • New coloured icons in the rail, all the same size.
  • Settings shows folders by name with + and −, short labels, and ⓘ for the longer help. Collection has General, Stages, Tags, Import and Health tabs.
  • The top bar loses the MIDI and Settings buttons (Map mode starts from the Controller Editor, Settings opens with ⌘, or Ctrl+,), the Remote button is an icon, and REC shows just the dot and the time.
  • The MIC panel shows the Mic and one Mic FX slot.
  • Side panel and sidebar tabs are words (Automix, Sidelist, Related, Info; Lists, History), and the sidebar's heading reads Library.
  • The sync MASTER badge only shows on loaded decks, the layout menu drops "Automix · Soon", the track menu's colour row fits, and the streaming footer just says who's signed in, with a refresh button at the top of the list.

Install

macOS (Apple Silicon and Intel, macOS 11 or newer): if you have 0.3.0 or newer, openDJ offers this update itself when it starts. Otherwise download openDJ-…-macos.zip, unzip it and move openDJ to Applications.

Windows (preview; 64-bit Windows 10 and 11):

  • openDJ-…-windows-x64-setup.exe: installs for your user, no administrator needed, and updates itself from now on.
  • opendj-…-windows-x64.zip: portable. Unzip anywhere and run openDJ.exe.

The Windows build isn't signed yet, so on first run SmartScreen says "Windows protected your PC": click More info, then Run anyway. ASIO drivers show next to Windows Audio devices in Settings › Audio. Windows on ARM runs it through emulation.

Linux (x86_64, glibc 2.35 or newer, e.g. Ubuntu 22.04+, Fedora 36+, Debian 12+):

  • opendj_…_amd64.deb (Ubuntu, Debian, Mint, Pop!_OS) or opendj-…x86_64.rpm (Fedora, openSUSE): open it to install with your software centre, or run sudo apt install ./opendj_…_amd64.deb / sudo dnf install ./opendj-…x86_64.rpm. openDJ then shows up with your other apps, Traktor Kontrol controllers work without extra setup, and when a new version is out openDJ offers the new package.
  • openDJ-…-x86_64.AppImage: make it executable (chmod +x) and run it. AppImages from 0.3.0 on update themselves.
  • opendj-…-linux-x86_64.tar.gz: unpack anywhere and run bin/opendj.

openDJ needs ALSA and a Vulkan driver, which most desktops already have.

Add your music folders in Settings › Collection, or let the guided tour do it the first time openDJ starts. MIDI controllers that Mixxx supports load their mapping when plugged in.

Known limits

  • Windows is a preview: unsigned, and less tested than macOS and Linux.
  • Streaming services are browse only, and stores are coming later.
  • Automix uses decks 1 and 2 only.
  • Controllers marked Beta, including the Xone K2 mapping, the Traktor Kontrol controllers and the XDJ-RX3 and Numark V7 mappings, haven't all been tried on the hardware yet.
  • Plugins: their latency isn't compensated, and changes made in a plugin's own window aren't kept when openDJ restarts it or quits. On Linux, plugin windows need X11 (XWayland on Wayland).
  • The phone remote works on your local network only.
  • Broadcasting: Icecast and Shoutcast only for now. Twitch, YouTube and Mixcloud Live streaming come later.
  • Some Settings descriptions are still cut short with "…".
  • USB export for Pioneer players is experimental.

What's Changed

New features

  • Batch editing: pick any set of tracks, Info tab in tabs, edit several tracks at once by @sebastian-beca in #248
  • Batch editing: tag fields as chips on one or many tracks, Add Tag in the track menu by @sebastian-beca in #252
  • Library search: ⌘F, Esc clears, centred bar, forgiving matching by @sebastian-beca in #254
  • Plugins: own Settings page, easier list, and plugin windows (EDIT) by @sebastian-beca in #256
  • Loudness only in the ON AIR panel; ON AIR only when broadcasting is set up by @sebastian-beca in #251
  • Xone K2: openDJ's own two-deck mapping, and Shift, Note Off and encoder fixes for script rows by @sebastian-beca in #258
  • Batch editing: Fix Names (find and replace, change case, remove brackets, swap) by @sebastian-beca in #259
  • Xone K2: SHIFT + hot cue deletes, bottom encoders load, SHIFT named on the picture by @sebastian-beca in #260
  • Xone K2: SHIFT + bottom encoders seek silently; editor finds the SHIFT row by @sebastian-beca in #264
  • Groove Box: a 16-step drum sequencer that takes the place of a deck by @sebastian-beca in #267
  • Filter bar: one-click BPM and Key match chips by @sebastian-beca in #269
  • FX menu grouped by kind with openDJ FX / Plugins tabs; fix frozen plugin menus on macOS by @sebastian-beca in #272
  • Side panel: word labels on the tabs instead of icons by @sebastian-beca in #273
  • Mixcloud: recordings show in Mixed Sets at once, Export for Mixcloud, sign in and upload by @sebastian-beca in #275
  • Plex and Navidrome (Subsonic) as sources in the rail by @sebastian-beca in #278
  • Collection stages in colour; stage strip tops the track menu by @sebastian-beca in #280
  • Batch editing: colour for picked tracks, picked count and time in the list heading by @sebastian-beca in #261
  • Plex and Navidrome: play from a cache, Download to it, + Collection by @sebastian-beca in #284
  • Instruments source in the rail: drag Groove Box kits, instrument plugins and inputs onto decks by @sebastian-beca in #286
  • Track colours as a dot column by default; Strip, Tint or Off in Settings by @sebastian-beca in #290
  • Wanted only by hand: imports stop filling it; Add to Wanted and Add to Downloads on streaming tracks and playlists by @sebastian-beca in #288
  • Albums: group the tree by artist, then album, newest first by @sebastian-beca in #282
  • Jellyfin (and Emby) as a source in the rail by @sebastian-beca in #296
  • Player layout: a music player over Automix in place of Simple by @sebastian-beca in #298
  • Import Traktor libraries from collection.nml, nested playlist folders kept by @sebastian-beca in #295
  • Sidebar: In Prep icon is a drawn half-filled circle by @sebastian-beca in #302
  • Settings › Sources: every rail source with status, In rail switch, settings and one shared cache by @sebastian-beca in #299
  • Crates: a colour and an icon, picked from the crate's menu by @sebastian-beca in #309
  • Server sources: set-up form in the source's own panel until it is set up by @sebastian-beca in #310
  • Prep layout: deck 1 alone for preparing tracks (step 1) by @sebastian-beca in #301
  • Add advanced tutorials in Settings › Help › Tutorials by @sebastian-beca in #307
  • Name new playlists, crates and folders in place in the sidebar by @sebastian-beca in #308
  • Player layout: search box in the top bar with Play next, Add to queue and Play now by @sebastian-beca in #311
  • Prep layout step 2: In Prep status columns, drag the grid, Cues tab by @sebastian-beca in #312
  • UI tidy-up: one accent colour, a shorter rail, cleaner sidebar and menus by @sebastian-beca in #319
  • Prep layout step 3: Checklist tab, score, quick review keys by @sebastian-beca in #320
  • Streaming sources: simpler sign-in footer, refresh icon, one Add to Wanted by @sebastian-beca in #329
  • Player bar: taller with edge-to-edge art, overview over the transport, Repeat, one search box by @sebastian-beca in #324
  • Prep layout: hide it until v0.6, keep the code by @sebastian-beca in #326
  • MIC panel: Mic only, one Mic FX slot by @sebastian-beca in #331
  • Collection Health: Overview dashboard and five areas by @sebastian-beca in #332
  • Player bar: overview on the bar colour, transport centred and further from it by @sebastian-beca in #333
  • Tidy up the top bar: no MIDI or Settings buttons, icon-only Remote, REC without LUFS by @sebastian-beca in #335
  • Deck SLIP as a text toggle in the jog corner; vinyl mode as a setting by @sebastian-beca in #337
  • Library rail: new coloured icons, even icon sizes by @sebastian-beca in #328
  • Settings clean-up: folder lists, Health tab, Storage, Controllers, Audio and Sources by @sebastian-beca in #321
  • Collection Health: Problem and Fix columns in each area by @sebastian-beca in #340
  • Tag groups: openDJ's own tag model, Settings › Collection › Tags by @sebastian-beca in #323

Fixes

  • Fix the 0.4.7 release: plugin helper in the .rpm, first broadcast title by @sebastian-beca in #245
  • Round fitted tempos that come within a tenth of a whole or half BPM by @sebastian-beca in #249
  • Plugins on a real Mac: editors at the top left, real-time helpers, AU view diagnostics by @sebastian-beca in #262
  • Audio Units: open their own editor (CocoaUI property id 31) by @sebastian-beca in #265
  • Library search: centre the search box on the window by @sebastian-beca in #263
  • Filter bar: keep BPM and Key chips at their natural width by @sebastian-beca in #271
  • Layout pill: drop the dropdown glyph that rendered as a striped box by @sebastian-beca in #291
  • Browser: show a hidden column again where it was by @sebastian-beca in #304
  • Sidebar lists: give the scrollbar its own gutter by @sebastian-beca in #339

Docs and website

  • Docs: every PR links its issue with Fixes #N or Part of #N by @sebastian-beca in #244
  • Docs: issues, PRs, commits and comments carry only technical details by @sebastian-beca in #246
  • OpenSpec: add-prep-layout (track preparation layout) by @sebastian-beca in #293
  • Roadmap: move DVS to v0.6 by @sebastian-beca in #318
  • Prepare openDJ 0.5.0, with playlist files and the now-playing feed by @sebastian-beca in #343
  • Release notes and guide: finished Collection Health for 0.5.0 by @sebastian-beca in #348

Other changes

  • Collection Health: Auto-fix in one undo step by @sebastian-beca in #342
  • Collection Health: Analyze on Prep, Ignored node, Health icon on Overview by @sebastian-beca in #344
  • Collection Health: review card, one track at a time by @sebastian-beca in #345
  • OpenSpec: review card suggestions move to v0.6 by @sebastian-beca in #347
  • Tags: rename, merge, delete and color single tags; move groups by @sebastian-beca in #349
  • Player: centre the overview, transport and search on the window by @sebastian-beca in #350

Full Changelog: v0.4.7...v0.5.0