User:Mineo: Difference between revisions
From MusicBrainz Wiki
Jump to navigationJump to search
mNo edit summary |
|||
Line 46: | Line 46: | ||
=== Picard file naming === |
=== Picard file naming === |
||
This needs the [https://github.com/mineo/mbstuff/tree/master/picard/plugins/iprefersnakes I Prefer Snakes] plugin. |
|||
<pre> |
<pre> |
||
m = metadata |
|||
$set(_theend, |
|||
$if( |
|||
at = u"{artist} - {title}".format(artist=m["artist"], title=m["title"]) |
|||
$gt(%totaldiscs%, 1), |
|||
Disc %_paddeddiscnumber%/, |
|||
if u"OC ReMix" in m["~filename"]: |
|||
) |
|||
return u"OverClocked ReMix/misc/" + at |
|||
$if(%_paddedtracknumber%,%_paddedtracknumber% - ,)%title% |
|||
) |
|||
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(%date%, |
|||
$set(_year,$left(%date%,4)), |
|||
) |
|||
if m["date"]: |
|||
$if($in(%_filename%,OC ReMix), |
|||
year = m["date"][:4] |
|||
OverClocked ReMix/misc/%artist% - %title% |
|||
paryear = u" (" + unicode(year) + u")" |
|||
$stop(1) |
|||
else: |
|||
,) |
|||
year = None |
|||
paryear = "" |
|||
try: |
|||
$if($eq(%albumartist%,OverClocked ReMix), |
|||
td = int(m["totaldiscs"]) |
|||
$set(albumartist,Various Artists), |
|||
if td > 1: |
|||
) |
|||
disc = u"Disc {disc}".format(disc=m["discnumber"]) |
|||
else: |
|||
disc = u"" |
|||
except: |
|||
disc = u"" |
|||
$if($in(%_dirname%,misc), |
|||
misc/tagged/%artist% - %title% |
|||
$stop(1) |
|||
,) |
|||
if m["~labelandcatno"]: |
|||
$if( |
|||
return u"{label}/{catno}{album}{year}/{disc}/{theend}".format( |
|||
$or($in(%_dirname%,Soundtracks),$inmulti(%releasetype%,soundtrack)), |
|||
label=m["~label"], |
|||
$set(_soundtrackprefix,Soundtracks), |
|||
catno=m["~catno"] + u" - " if m["~catno"] else u"", |
|||
) |
|||
album=m["album"], |
|||
year=paryear, |
|||
theend=theend, |
|||
disc=disc |
|||
) |
|||
split_path = m["~dirname"].split(u"_") |
|||
$if( |
|||
$in(%_dirname%,Soundtracks - Score), |
|||
$set(_soundtrackprefix,Soundtracks - Score), |
|||
) |
|||
for p in split_path: |
|||
$if( |
|||
if p.startswith(u"Soundtracks"): |
|||
$in(%_dirname%,Anime), |
|||
soundtrackprefix = p |
|||
$set(_soundtrackprefix,Soundtracks - Anime), |
|||
break |
|||
) |
|||
else: |
|||
soundtrackprefix = None |
|||
if soundtrackprefix is not None: |
|||
$noop(begin labelandcatno - for some labels it makes sense to give them their own folder - label/catno - album \(year\)) |
|||
return u"{prefix}/{album}{comment} - {albumartist}{year}/{disc}/{theend}".format( |
|||
$if(%_labelandcatno%, |
|||
prefix=soundtrackprefix, |
|||
%_label%/$if(%_catno%,%_catno% - )%album%$if(%_year%, \(%_year%\))/%_theend% |
|||
album=m["album"], |
|||
$stop(1), |
|||
comment=(u"(" + m["~releasecomment"] + u")") if m["~releasecomment"] else u"", |
|||
) |
|||
albumartist=m["albumartist"], |
|||
$noop(end labelandcatno) |
|||
year=paryear, |
|||
$noop(begin soundtrack) |
|||
theend=theend, |
|||
$if(%_soundtrackprefix%, |
|||
disc=disc |
|||
%_soundtrackprefix%/ |
|||
) |
|||
%album% $if(%_releasecomment%,\(%_releasecomment%\) ,)- $if2(%albumartist%,%albumartist%) |
|||
$if( |
|||
%date%, |
|||
\($left(%date%,4)\), |
|||
) |
|||
return u"{albumartist}/{year}{album}/{disc}/{theend}".format( |
|||
/%_theend% |
|||
albumartist=m["albumartist"] if m["albumartist"] else m["artist"], |
|||
$stop(1), |
|||
year=(year + u" - ") if year is not None else u"", |
|||
) |
|||
album=m["album"], |
|||
$noop(end soundtrack) |
|||
theend=theend, |
|||
$noop(begin normal - this is neither a soundtrack, nor an album from one of the special labels) |
|||
disc=disc) |
|||
$if2( |
|||
%albumartist%, |
|||
%artist% |
|||
)/ |
|||
$if(%_year%,%_year% - ) |
|||
%album%/%_theend% |
|||
$noop(end normal) |
|||
</pre> |
</pre> |
Revision as of 11:17, 26 September 2015
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
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)