0.1.0 • Published 1 year ago

@adahiya/music-library-scripts v0.1.0

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

adi's music library scripts

npm

Requirements: Node.js v19+

Getting started

Before you run the scripts, you'll need to make sure you have Node.js installed:

  • Install nvm
  • In a terminal, run nvm install 19 && nvm use 19

Next, you can install these scripts as a global NPM library:

npm install --global @adahiya/music-library-scripts

convert-swinsian-to-rekordbox-itunes-xml-library

Converts a Swinsian library to Rekordbox iTunes XML format.

1. Export your Swinsian library to an XML file

swinsian-export-1 swinsian-export-2

2. Run the Node.js script to generate a ModifiedLibrary.xml file

If you have your global node_modules configured on your shell's $PATH correctly, you can simply run the binary after installing the package:

music-library-scripts

If not, you can still run it via npm:

npm exec --global music-library-scripts

It will prompt you for a path to the exported SwinsianLibrary.xml file, and output something like this to the console:

> npm exec --global music-library-scripts

✔ Which script would you like to run? › Convert Swinsian library to Music.app/iTunes XML format
✔ Where is your exported SwinsianLibrary.xml located? … /Users/adi/Music/Swinsian export/Latest
Loading library at /Users/adi/Music/Swinsian export/Latest/SwinsianLibrary.xml
loadPlistFile: 8.220s
Building modified library
buildPlistOutput: 7.693s
Writing modified library to /Users/adi/Music/Swinsian export/Latest/ModifiedLibrary.xml

3. Point Rekordbox to the new modified library file

This configuration only needs to be done once!

rekordbox-itunes-xml

After the first time you configure Rekordbox to look for ModifiedLibrary.xml in this location, you can just hit the refresh button to load the library when you run this process again:

refresh

Automator workflow

There's an automator workflow in this repo which does most of the above steps for you. Here's an overview of its steps:

workflow-overview

Development

Tasks

  • Build from source: pnpm build
  • Run CLI: pnpm run-cli