digital-dj-tools / dj-data-converter

A command-line app for converting data files to and from different DJ software formats.
MIT License
170 stars 13 forks source link

dj-data-converter Build

A command-line app for converting data files to and from different DJ software formats, such as Traktor, Rekordbox and Serato DJ.

In addition to an automated test suite comprising specification-driven tests on expected input and output data, this app has been manually tested with Traktor Pro 2 and Rekordbox 5.7.0 on Windows 10.

Features

Feature Basic Edition Pro Edition
Convert from Traktor to Rekordbox Yes Yes
Convert from Rekordbox to Traktor Yes No (1)
Convert tempo (BPM) and beat grid Yes Yes
Convert cue points and loops Yes Yes
Convert multiple beat grid markers Yes Yes
Correct 26ms grid offset when converting mp3 files Yes Yes
Convert unsupported Traktor cue types using a colour mapping Yes Yes
Convert playlists No Yes
Runs on Windows Yes, download here Yes
Runs on Mac Yes, download here Yes
Price FREE! Contact me for pricing

(1) Will be released in a new version TBA

Motivation

Unlike other apps for handling this task, this app is open source and available on Windows, in addition to Mac OS.

Install

Download the Basic Edition from the releases page as a zip or tar.gz archive, and then extract the archive into a directory.

To download the Pro Edition, please contact me for pricing.

Usage

Windows

  1. Open a command prompt and change to the directory where the archive was extracted:
    cd <download-dir>
  2. Now execute the app, providing the location of the Traktor collection file, or an exported Rekordbox collection file:

    dj-data-converter-win.exe [options] <traktor-or-rekordbox-collection-file>

    For example, assuming Traktor is installed in the default location on Windows:

    dj-data-converter-win.exe "C:\Users\<your-user-name>\Documents\Native Instruments\Traktor <version-number>\collection.nml"

    A converted rekordbox.xml or collection.nml file will be created in the current directory.

    If the conversion fails due to an error, an error-report.edn file will be created, also in the current directory.

Mac

  1. Open a terminal and change to the directory where the archive was extracted:
    cd <download-dir>
  2. Now execute the app, providing the location of the Traktor collection file, or an exported Rekordbox collection file:

    ./dj-data-converter-macos [options] <traktor-or-rekordbox-collection-file>

    For example, assuming Traktor is installed in the default location on Mac OS:

    ./dj-data-converter-macos "/Users/<your-user-name>/Documents/Native Instruments/Traktor <version-number>/collection.nml"

    A converted rekordbox.xml or collection.nml file will be created in the current directory.

    If the conversion fails due to an error, an error-report.edn file will be created, also in the current directory.

Options

  -h, --help

Importing to Rekordbox

Importing to Traktor

Why a Command-Line App Instead of a GUI App?

This app is mostly concerned with availability, correctness and transparency, for which a command-line app is more than adequate.

However, usability is important, and lack of familiarity can be an problem for command-line apps; this will be addressed in good time!

Donations

Donations for the Basic Edition are most welcome! Becoming a sponsor will help to support more DJ software formats, add new features, improve performance and fix bugs.

Conversion Rules

From Traktor to Rekordbox

From Rekordbox to Traktor

Field Mapping

Field Traktor Rekordbox Copied?
Album Title Title Album Yes
Artist Artist Artist Yes
Bpm Bpm AverageBpm Yes
Comments Comment Comments Yes
Date Added Import Date Date Added Yes
Genre Genre Genre Yes
Label Label Label No
Total Time Playtime Total Time Yes
Play Count Playcount Play Count No
Track Number Track Track Number Yes
Track Title Title Name Yes
Year Release Date Year No

Current Limitations

Bug Reports

Please report any possible bugs as GitHub issues in this project, and remember to include the steps performed, what was expected and the actual result. If an error occurred during the conversion, please attach the generated error-report.edn file.

Roadmap

To see planned and upcoming features, refer to the Unreleased section at the top of the Changelog.

Feature Requests

Requests are welcome, please create them as GitHub issues in this project. However, before creating any new requests, please check the Unreleased section at the top of the Changelog first, to see if the feature is already planned for.

Developers

Developers will need to install Java, NodeJS and the Clojure command line tools.

Running the Tests

clj -Adev:test-cljs

Starting a CIDER-compatible NREPL Server

clj -Adev:nrepl-server

Credits

License

Copyright © 2018 Digital DJ Tools

Released under the MIT license.