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.xml
Export 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 --missing
Inspect 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-diff
Tracks 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:radiohead
Currently implemented for these rekordbox fields:
AverageBpm
Colour
DateAdded
DateModified
LastPlayed
Mix
PlayCount
Rating
Tonality
TrackID
: 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
beets
repo:python -m venv .venv
- Install
beets
into that environment pip install -e ../rkbeets
beet rkb-diff
and friends should work
See LICENSE.