Simple music auto-tag, without the write part
npm install mediasticMediastic
constructor(): constructor. new is optional. No arguments needed.
use(middleware: function): adds a middleware function on top of the stack.
metadata object,
next function. This function has to be called once and only
call(path: string): call the middleware stack with {path: path} as metadata
js
{
artist: string, // Artist name
album: string, // Album name
title: string, // Track name
bitrate: int, // Bitrate, in bits
duration: int, // Duration in seconds,
track: string, // Track number on disc
[probed: Object] // FFprobe result, if ffprobe was found and succesful
}
`
loadDefaults([opts]): configure mediastic with default stack provided with
Mediastic (TagParser => FileNameParser => SpotifyAPI). opts is the options
passed to middlewares.
static tagParser(): TagParser middleware constructor. No arguments needed
static fileNameParser(): FileNameParser middleware.
static spotifyApi([opts]) SpotifyAPI middleware. Options is:
`js
const defaultOpts = {
// Duration treshold used to compare tracks
// When spotify returns several results for a given query,
// We can't know which track to choose
// So we filter them based on their duration
// Any result which exceeds Math.abs(resultDuration - fileDuration)
// by this value will be removed. Duration in seconds
durationTreshold: 2,
// When comparing durations, that comparison may only be relevant for
// long enough tracks: any result shorter than this value will be accepted
minimumDuration: 15,
// Any result which album name matches this
// will be filtered out if there are too many results
// WARNING: Do not set GLOBAL flag. This will break everything
albumKeywordBlacklist: /deluxe|renditions/i
}
``