Skip to content

voigtjr/rkbeets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rkbeets

A beets plugin for simple integration with rekordbox.

Python 3.10. Be careful - use a copy of your database - there are no confirmation flows.

Quick tour

Tested only on recent macos, case-insensitive fs with beets library on a vfat drive.

Data input and output

  • 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 beets to rekordbox with rkb-export

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 beets and rekordbox differences with rkb-diff

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.

Copy metadata from rekordbox into beets with rkb-sync

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.

Importing from rekordbox to beets

Import files using beets import.

Installation

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

License

See LICENSE.

About

rekordbox and beets.io integration utility

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages