Parses an Apple Music Library.xml
file and transforms it to m3u
files, JSON, JavaScript, or EcmaScript.
The command line app can watch for changes to an Apple Music Library.xml
file and write m3u
files to a destination directory.
Or, the component functions can be imported into your own application.
This packages implements @sequencemedia/music-library-parser
.
npm run start -- \
--jar "/usr/local/bin/saxon/SaxonPE10-6J/saxon-pe-10.6.jar" \
--xml "~/Music/Music/Library.xml" \
--destination "~/Documents/Music Library"
Paths will differ on your device.
Transforms the entire library.
import { toM3U } from './src/library/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/transform/index.mjs'
Requires the arguments jar
, xml
, and destination
.
jar
- the path to the Saxon binary on your devicexml
- the path to the Apple MusicLibrary.xml
filedestination
- the path for them3u
files to be written
Returns a Promise
resolving when all m3u
files are written.
Requires the arguments jar
, and xml
.
jar
- the path to the Saxon binary on your devicexml
- the path to the Apple MusicLibrary.xml
file
Returns a Promise
resolving to a JSON
string.
Requires the arguments jar
, and xml
.
jar
- the path to the Saxon binary on your devicexml
- the path to the Apple MusicLibrary.xml
file
Returns a Promise
resolving to a JavaScript object.
Requires the arguments jar
, and xml
.
jar
- the path to the Saxon binary on your devicexml
- the path to the Apple MusicLibrary.xml
file
Returns a Promise
resolving to a collection of JavaScript Map
and Set
instances.
Transforms the playlists.
import { toM3U } from './src/library/playlists/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/playlists/transform/index.mjs'
See Library.
Transforms the tracks.
import { toM3U } from './src/library/tracks/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/tracks/transform/index.mjs'
See Library.