Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New in 2.3: Add Rekordbox post #88

Merged
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
9fbda08
Add ehendrikd as author
ehendrikd May 12, 2020
a84b72a
1st draft 2.3 Rekordbox removable device support
ehendrikd May 13, 2020
15f008e
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
6872934
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
0010e19
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
31cdafa
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
123eccd
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
4ddc2ac
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 14, 2020
6e6b599
Address feedback
ehendrikd May 15, 2020
bab9e9b
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
ac401ac
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
b645b7b
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
316d159
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
7fc358a
Address feedback, add CDJ HID info
ehendrikd May 19, 2020
9efa447
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
43f7220
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
a735b80
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
a49b6a4
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd May 19, 2020
60e13a9
Correct number hotcues
ehendrikd May 20, 2020
87f0360
Add screenshots
ehendrikd Jul 13, 2020
7bde9c2
Remove .orig file
ehendrikd Jul 13, 2020
d859a35
Full res screenshots
ehendrikd Jul 13, 2020
65de8c9
Adjust beatgrid screenshot
ehendrikd Jul 13, 2020
e35f365
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd Jul 13, 2020
4a5f635
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd Jul 13, 2020
25fff55
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd Jul 13, 2020
c022490
Update pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
ehendrikd Jul 13, 2020
f7e7a89
Update list
ehendrikd Jul 13, 2020
3c3876b
Change HTML images to markdown, update TODO
ehendrikd Jul 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions pages/news/2020-XX-XX-new-in-2-3-rekordbox-support.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
title: New in 2.3: Importing tracks and cues from Rekordbox removable devices
author: ehendrikd
date: 2020-05-15 20:00:00

{% extends "post.html" %}

{% block post %}

{% load markup %}
{% filter markdown %}

Do you rock your gigs armed only with your cans and a Rekordbox prepared USB flash drive? Ever been tempted to play your carefully curated tracks on something other than a CDJ or Rekordbox, on something that is free and open-source? We have news for you!

Mixxx 2.3 now supports reading the following from Rekordbox prepared removable devices on all Mixxx’s supported platforms:
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

* Folders
* Playlists
* Beatgrids
* Hotcues
* Memory cues
* Loops

This includes importing the key and BPM analyzed by Rekordbox, and comments and colors for tracks, cues and loops. **We have to be clear however:** this feature *only* reads Rekordbox prepared removable devices, such as USB flash drives or external hard drives. It *will not* read your locally stored Rekordbox collection if you also have Rekordbox installed. The main Rekordbox database (both for Rekordbox 5 and Rekordbox 6) use completely different formats from the USB drives, so reading those databases would be a whole other project.

## Using the Rekordbox removable device library feature
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

Assuming you already have a Rekordbox prepared removable device, simply plug it in while Mixxx is running. Click on Rekordbox in the library, and all found compatible removable devices will be visible (attach as many as you like!). Then click on the desired removable device, and all your folders and playlist that you have so tirelessly prepared will be revealed for you to play from.
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

{# TODO: Insert screenshot of Rekordbox library feature once the skins are finalized. #}
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

Some notes to keep in mind on how Rekordbox hotcues memory cues and loops are imported: Mixxx currently has one main cue point, one loop, and 36 hotcues. As such, all Rekordbox hotcues are mapped to Mixxx hotcues as expected, the first chronological Rekordbox memory cue is mapped to the Mixxx main cue, and the first chronological Rekordbox loop mapped to the Mixxx loop. All loops (including the first loop), and all subsequent Rekordbox memory cues are appended as Mixxx hotcues following the previously mapped actual hotcues. A little confusing? Perhaps, but hopefully all will make sense as you give it a whirl. Rest assured the hotcue and memory cue colors you assigned in Rekorbox are also imported, assisting in distinguishing between them. Also note that whilst the additional imported Rekordbox loops only appear in Mixxx 2.3 as hotcues, their loop details are preserved, ready for the multiple loop feature proposed for Mixxx 2.4!
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

{# TODO: Insert side-by-side screenshot of hotcues in Mixxx and Rekordbox once the skins are finalized. #}
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

Also note that as with the Serato library feature{# TODO: Add link to serato blogpost #}, we have tried our best to mitigate against certain edge cases of audio files encoded in lossy formats, where different decoders can interpret conflicting timing information, leading to inaccurate time dependent features (eg. beatgrids and cue points). We hope these are all correct, but may in rare cases be milliseconds out, and if you find any of these, please let us know on [Zulip](https://mixxx.zulipchat.com).
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

We probably didn't get every case perfect, so we have added some buttons by the beatgrid editing buttons to shift all cue points in a track by 1 ms (left click) or 0.1 ms (right click) so you can correct the timing yourself. This only shifts cue points, not the beatgrid (because the same problem happens with Serato and Mixxx does not yet import the beatgrid from Serato). If you want to shift the beatgrid too, you can shift the cue points, then go to a cue point and press the beatgrid shift button.
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

{# TODO: insert screenshot when #2737 is merged. #}
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

## Can I prepare a Rekordbox removable device from Mixxx to use in a CDJ?

Sadly no, however this would be super cool! If you are so inclined to look at how to implement this and contribute back to Mixxx, it would be most welcome. A great to place to start would be looking into [Kaitai Struct serialization](https://doc.kaitai.io/faq.html#writing) which is a prerequisite for writing the [PDB file format](https://github.com/Deep-Symmetry/crate-digger/blob/master/src/main/kaitai/rekordbox_pdb.ksy).

## Shoutouts

As is often the case in open-source, the development of this new functionality was not possible without input from others. The new Mixxx Rekordbox removable device library feature builds upon the hard work already completed by [Deep Symmetry](https://github.com/Deep-Symmetry) for the [Crate Digger](https://github.com/Deep-Symmetry/crate-digger) library and [Pedro Estrela's](https://github.com/pestrela)[research about MP3 timing shifts](https://github.com/digital-dj-tools/dj-data-converter/issues/3) for [DJ Data Converter](https://github.com/digital-dj-tools/dj-data-converter). Kudos and keep up the great work!
ehendrikd marked this conversation as resolved.
Show resolved Hide resolved

ehendrikd marked this conversation as resolved.
Show resolved Hide resolved
{% endfilter %}
{% endblock %}
4 changes: 4 additions & 0 deletions plugins/news.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
'Pegasus': {
'github': 'Pegasus-RPG',
},
'ehendrikd': {
'name': 'Evan',
'github': 'ehendrikd',
},
}


Expand Down