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

export crates, cue points, and beatgrids to rekordbox - use Mixxx USB drives in Pioneer players #9463

Open
mixxxbot opened this issue Aug 23, 2022 · 11 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: iamcodemaker
Date: 2018-10-04T19:56:22Z
Status: Confirmed
Importance: Wishlist
Launchpad Issue: lp1796177


Add the ability to export your Mixxx library to a USB stick in a format Rekordbox understands. This would allow for Mixxx users to export their libraries in a format that can be understood by Pioneer CDJ devices which can be found in clubs across the world.

Related to bug #⁠1476290.

@mixxxbot
Copy link
Collaborator Author

Commented by: fkbreitl
Date: 2020-11-07T10:12:30Z


I very much support this very important feature request.
Mixxx 2.3 can already import Rekordbox databases.
If Mixxx will also able to export to Rekordbox databases a single shared library between Mixxx and Rekordbox is possible which will be a big step forward by allowing to easily switch and sync between both programs.

@mixxxbot
Copy link
Collaborator Author

Commented by: fkbreitl
Date: 2022-04-19T09:53:43Z

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@Holzhaus
Copy link
Member

If someone wants to move this forward, work on Holzhaus/rekordcrate#71 would be appreciated. This is a prerequisite for PDB export capabilities in Mixxx. When that works, the next step would be to replace the kaitai implementation with the rekordcrate library.

@TristanYoung
Copy link

I also support this feature request.

I very much prefer Mixxx, but I don't want to prepare playlists in Rekordbox for use on CDJ's when I don't really use Rekordbox.

Sorry I probably can't help with development of this.

@shanghaiultra
Copy link

Would love to see this feature. It would finally allow me to ditch the absolutely horrid Rekordbox forever. Thank you in advance.

@mr-smidge
Copy link
Contributor

Implementing this feature will naturally require code that interfaces between a canonical/Mixxx format for tracks/crates/etc, and the Rekordbox-specific format.

The libdjinterop library was created for exactly this purpose (disclaimer: I am the original author of libdjinterop). It currently supports only Denon/Engine format, but Rekordbox could be added to enhance its capabilities - there is an open issue for this: xsco/libdjinterop#15

Furthermore, libdjinterop is integrated into the main branch of Mixxx at present via a simple "Export to Engine Prime" dialog box. I don't think it would be especially difficult to adapt this UI into one that supports exporting to other library formats, such as Rekordbox.

But I can't do this myself, as I don't own any recent Pioneer equipment. However, perhaps someone reading this post with the skills and hardware might be able to help - if so, I'll assist in any way that I can!

@arximboldi
Copy link
Contributor

Thanks for the ping @mr-smidge ! That library looks fantastic.

Actually I just bought a Pioneer XDJ-XZ to get more used to club setups.

I still prefer Mixxx since I have already all my library organized there, prefer Linux, etc.

My workflow to make a Pioneer USB now involves this script I wrote: https://github.com/arximboldi/mixxx-db-tools/blob/master/export.py

It basically goes through all the playlists in Mixxx and puts all the songs referenced in them in a single folder, using some standard naming. Then it also exports all the playlists as .pls files. I have this export folder shared via Synchthing (a decentralized and free Dropbox-like service). Then in Rekordbox I can just click "import playlists" and select all the playlists. They get correctly imported and can super easy export them to USB. Whenever I change the the Mixxx playlists I just have to run export.py again, and in Rekordbox click "Remove all playlists" and then "Import playlists" again. It sounds aggressive but it takes no time and Rekordbox does not forget the tracks in between re-imports so it works incrementally without much hassle.

At some point I wanna actually clean up my mixxx-db-tools repo, since now there are some caveats to using those as they are taylored specifically for my workflow. But those tools have become a fundamental part of my workflow too (there are others that have saved me from database dysasters as well when moving files around too) and maybe they could be useful to others...

@kimtore
Copy link

kimtore commented Apr 17, 2023

@arximboldi care to try this rekordbox exporter with your XDJ-XZ, see what works or not? That could help speed up the process. https://github.com/ambientsound/rex

@arximboldi
Copy link
Contributor

@ambientsound that looks like a great step in the right direction. However, glancing over your code, it seems it just puts all files in one giant playlist and doesn't include other track metadata. In my case even though my workflow is a bit more tedious, it gets playlists as organized in Mixxx and it gets bpm and key information (as analysed by Rekordbox, which anyway seems to be a bit more accurante than Mixxx).

@kimtore
Copy link

kimtore commented Apr 25, 2023

Yes, this is only the first step, in order to figure out if it works on actual players.
The next step would be either to implement the exporting in Mixxx, or alternatively, read the Mixxx database and copy the data from there.

@arximboldi
Copy link
Contributor

I see. When I have time I will try see if the xdj can read the usb created with the tool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants