A beets plugin for simple integration with rekordbox.
Python 3.10. Be careful - use a copy of your database - there are no confirmation flows.
Tested only on recent macos, case-insensitive fs with beets library on a vfat drive.
- The plugin will export data for import into rekordbox using the option
--export-file. - Some commands use data from rekordbox, provided to beets via the option
--rekordbox-file. - Setting these in the configuration file cleans up the command line:
.config/beets/config.yaml:
rkbeets:
export-file: ~/Documents/rekordbox/rekordbox.xml
rekordbox-file: ~/Documents/rekordbox/export.xmlExport your beets library for import into rekordbox with rkb-export:
# beets library -exported-to-> rekordbox
beet rkb-export
# only export files missing from rekordbox, requires `rekordbox-file`
beet rkb-export --missing
# export only missing files further filtered by a query
beet rkb-export artist:radiohead --missingInspect how many tracks are shareed between the two libraries (and a list of those that aren't) with rkb-diff:
# rekordbox exported xml -compared-to-> beets library
beet rkb-diffTracks are matched between the two only by using file paths.
The rkb-sync command lets you pull metadata from rekordbox into beets.
# rekordbox metadata -written-to-> beets library
beet rkb-sync
# dump to console instead of updating
beet rkb-sync --dry-run
# only consider shared tracks that satisfy a query
beet rkb-sync artist:radioheadCurrently implemented for these rekordbox fields:
AverageBpmColourDateAddedDateModifiedLastPlayedMixPlayCountRatingTonalityTrackID: This is rekordbox internal and isn't exported but we save it anyway.
Import files using beets import.
Since it is under development, use source:
- Clone beets and rkbeets next to each other
- Create a virtual environment or similar in
beetsrepo:python -m venv .venv - Install
beetsinto that environment pip install -e ../rkbeetsbeet rkb-diffand friends should work
See LICENSE.