User:Mineo: Difference between revisions
From MusicBrainz Wiki
Jump to navigationJump to search
No edit summary |
|||
Line 19: | Line 19: | ||
</pre> |
</pre> |
||
to download the files to the current directory |
to download the files to the current directory |
||
==ListenBrainz == |
|||
===submit via curl=== |
|||
<pre>curl -X POST -d @foo.json -H "Authorization: Token aebacb47-a7a2-4b71-ac77-424883c920dc" http://10.1.2.3:8080/1/submit-listens</pre> |
|||
===transform a JSON document from the GET listens API for import=== |
|||
<pre>jq "{listen_type: \"import\", payload: [.payload.listens[]|del(.recording_msid)]}" < foo.json > foo2.json</pre> |
|||
== Picard == |
== Picard == |
||
Latest revision as of 13:32, 28 March 2016
Websites with catalogues of classical music
aria2c download list for MB dumps
ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump.tar.bz2 ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 ftp://mirrors.dotsrc.org/MusicBrainz/data/fullexport/LATEST/mbdump-editor.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2 ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport/LATEST/mbdump-derived.tar.bz2
Those are tabs (\t) separating the URLs, not spaces! Replace latest with the real folder name. Then save all the URLs to a file and run aria2c like so:
aria2c -j 6 -i <filename>
to download the files to the current directory
ListenBrainz
submit via curl
curl -X POST -d @foo.json -H "Authorization: Token aebacb47-a7a2-4b71-ac77-424883c920dc" http://10.1.2.3:8080/1/submit-listens
transform a JSON document from the GET listens API for import
jq "{listen_type: \"import\", payload: [.payload.listens[]|del(.recording_msid)]}" < foo.json > foo2.json
Picard
For the following to work, you'll need all plugins except cue.py from my plugin repository.
Picard scripting
$if($eq(%label%,8bitpeoples), $set(_labelandcatno,yes) $set(_label,%label%) $set(_catno,%catalognumber%) $add_to_collection(56cd604b-c02a-4f4a-9b75-400692624831) , ) $if($eq(%label%,OverClocked ReMix), $set(_labelandcatno,yes) $set(_label,%label%) $set(_catno,%catalognumber%) $add_to_collection(450a79e3-73ba-44a0-9d99-64651e7b65ff) , ) $keep(artist,album,title,albumartist,date,discsubtitle,,tracknumber,totaltracks,discnumber,totaldiscs,releasetype,composer)
Picard file naming
This needs the I Prefer Snakes plugin.
m = metadata at = u"{artist} - {title}".format(artist=m["artist"], title=m["title"]) if u"OC ReMix" in m["~filename"]: return u"OverClocked ReMix/misc/" + at if m["albumartist"] == "OverClocked ReMix": m["albumartist"] = "Various Artists" if u"_misc_" in m["~dirname"]: return u"misc/tagged/" + at theend = u"{tn} - {title}".format(tn=m["~paddedtracknumber"], title=m["title"]) if m["date"]: year = m["date"][:4] paryear = u" (" + unicode(year) + u")" else: year = None paryear = "" try: td = int(m["totaldiscs"]) if td > 1: disc = u"Disc {disc}".format(disc=m["discnumber"]) else: disc = u"" except: disc = u"" if m["~labelandcatno"]: return u"{label}/{catno}{album}{year}/{disc}/{theend}".format( label=m["~label"], catno=m["~catno"] + u" - " if m["~catno"] else u"", album=m["album"], year=paryear, theend=theend, disc=disc ) split_path = m["~dirname"].split(u"_") for p in split_path: if p.startswith(u"Soundtracks"): soundtrackprefix = p break else: soundtrackprefix = None if soundtrackprefix is not None: return u"{prefix}/{album}{comment} - {albumartist}{year}/{disc}/{theend}".format( prefix=soundtrackprefix, album=m["album"], comment=(u"(" + m["~releasecomment"] + u")") if m["~releasecomment"] else u"", albumartist=m["albumartist"], year=paryear, theend=theend, disc=disc ) return u"{albumartist}/{year}{album}/{disc}/{theend}".format( albumartist=m["albumartist"] if m["albumartist"] else m["artist"], year=(year + u" - ") if year is not None else u"", album=m["album"], theend=theend, disc=disc)