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.xmlfiledestination- the path for them3ufiles 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.xmlfile
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.xmlfile
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.xmlfile
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.