@sequencemedia/music-library
v1.1.73
Published
Watch Apple Music Library XML and parse to JSON, JS, ES, or M3U
Downloads
1,865
Readme
@sequencemedia/music-library
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
.
Command line app
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.
Library
Transforms the entire library.
import { toM3U } from './src/library/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/transform/index.mjs'
toM3U
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.
toJSON
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.
toJS
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.
toES
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.
Playlists
Transforms the playlists.
import { toM3U } from './src/library/playlists/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/playlists/transform/index.mjs'
See Library.
Tracks
Transforms the tracks.
import { toM3U } from './src/library/tracks/index.mjs'
import {
toJSON,
toJS,
toES
} from './src/library/tracks/transform/index.mjs'
See Library.