Last active
December 8, 2022 22:01
-
-
Save chrisvandergeld/b028fd6a5c4861ab795de5af8239ebe4 to your computer and use it in GitHub Desktop.
Musicbrainz Picard Rename Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$set(_separateByTypeInArtistFolder,1) | |
$set(_separateAlbum,0) | |
$set(_useMusicBrainzStyleForVinylTrack,1) | |
$set(_useSubDiscFolder,1) | |
$set(_mergeDiscWhenNotUsingSubfolder,0) | |
$set(_showDiscSubtitle,0) | |
$set(_nameForTypeCD,CD) | |
$set(_nameForTypeVinyl,Disc) | |
$set(_orderTypeForRoot,1) | |
$set(_orderTypeForArtist,1) | |
$set(_albumSubFolder,Albums/) | |
$set(_liveSubFolder,Live/) | |
$set(_singlesSubFolder,Singles/) | |
$set(_epSubFolder,EP/) | |
$set(_broadcastSubFolder,Broadcast/) | |
$set(_soundtracksSubFolder,Soundtracks/) | |
$set(_otherSubFolder,Others/) | |
$set(_compilationsSubFolder,Compilations/) | |
$set(_variousArtistsFolder,Various Artists/) | |
$if($in(%releasetype%,album), | |
$set(_isAlbum,1) | |
) | |
$if($in(%releasetype%,single), | |
$set(_isSingle,1) | |
) | |
$if($in(%releasetype%,ep), | |
$set(_isEP,1) | |
) | |
$if($in(%releasetype%,broadcast), | |
$set(_isBroadcast,1) | |
) | |
$if($in(%releasetype%,other), | |
$set(_isOther,1) | |
) | |
$if($in(%releasetype%,compilation), | |
$set(_isArtistCompil,1) | |
) | |
$if($in(%releasetype%,live), | |
$set(_isLive,1) | |
) | |
$if($in(%releasetype%,soundtrack), | |
$set(_isSoundtrack,1) | |
) | |
$if($eq(%artist%,Various Artists), | |
$set(_isVarious,1) | |
) | |
$if($eq(%compilation%,1), | |
$set(_isGlobalCompil,1) | |
) | |
$set(artist,$if($eq($left(%artist%,4), The),%artistsort%,%artist%)) | |
$set(album,$replace(%album%,...,…)) | |
$set(title,$replace(%title%,...,…)) | |
$set(discsubtitle,$replace(%discsubtitle%,...,…)) | |
$set(album,$replace(%album%, [Nn]o.\\s*\(\\d\), №\\1)) | |
$set(title,$rreplace(%title%, [Nn]o.\\s*\(\\d\), №\\1)) | |
$set(discsubtitle,$replace(%discsubtitle%, [Nn]o.\\s*\(\\d\), №\\1)) | |
$set(album,$rreplace(%album%,\(\\d\)",\\1″)) | |
$set(discsubtitle,$rreplace(%discsubtitle%,\(\\d\)",\\1″)) | |
$set(artist,$rreplace(%artist%,"\(.*?\)",“\\1”)) | |
$set(artist,$rreplace(%artist%,"\(.*?\)",“\\1”)) | |
$set(artistsort,$rreplace(%artistsort%,"\(.*?\)",“\\1”)) | |
$set(artistsort,$rreplace(%artistsort%,"\(.*?\)",“\\1”)) | |
$set(album,$rreplace(%album%,"\(.*?\)",“\\1”)) | |
$set(title,$rreplace(%title%,"\(.*?\)",“\\1”)) | |
$set(discsubtitle,$rreplace(%discsubtitle%,"\(.*?\)",“\\1”)) | |
$set(_titleForFilename,%title%) | |
$set(_albumForFilename,%album%) | |
$set(_discsubtitleForFilename,%discsubtitle%) | |
$set(_artistForFilename,%artist%) | |
$set(_artistForFilename,%artist%) | |
$set(_artistsortForFilename,%artistsort%) | |
$set(_artistsortForFilename,%artistsort%) | |
$set(_titleForFilename,$replace(%_titleForFilename%,#,♯)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,#,♯)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,#,♯)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,:,∶)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,:,∶)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,:,∶)) | |
$set(_artistForFilename,$replace(%_artistForFilename%,:,∶)) | |
$set(_artistForFilename,$replace(%_artistForFilename%,:,∶)) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,:,∶)) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,:,∶)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,_, )) | |
$set(_albumForFilename,$replace(%_albumForFilename%,_, )) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,_, )) | |
$set(_artistForFilename,$replace(%_artistForFilename%,_, )) | |
$set(_artistForFilename,$replace(%_artistForFilename%,_, )) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,_, )) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,_, )) | |
$set(_titleForFilename,$replace(%_titleForFilename%,?,⁇)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,?,⁇)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,?,⁇)) | |
$set(_artistForFilename,$replace(%_artistForFilename%,?,⁇)) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,?,⁇)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,|,│)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,|,│)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,|,│)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,>,>)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,>,>)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,>,>)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,<,<)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,<,<)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,<,<)) | |
$set(_titleForFilename,$replace(%_titleForFilename%,*,✱)) | |
$set(_albumForFilename,$replace(%_albumForFilename%,*,✱)) | |
$set(_discsubtitleForFilename,$replace(%_discsubtitleForFilename%,*,✱)) | |
$set(_artistForFilename,$replace(%_artistForFilename%,*,✱)) | |
$set(_artistForFilename,$replace(%_artistForFilename%,*,✱)) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,*,✱)) | |
$set(_artistsortForFilename,$replace(%_artistsortForFilename%,*,✱)) | |
$if(%_isVarious%,%_variousArtistsFolder%, | |
$if($eq(%_orderTypeForRoot%,2), | |
$if($eq(%_orderTypeForArtist%,1), | |
$upper($firstalphachar($if2(%_artistForFilename%, %_artistForFilename%),#)), | |
$if($eq(%_orderTypeForArtist%,2), | |
$upper($firstalphachar($if2(%_artistsortForFilename%, %_artistsortForFilename%),#)) | |
)) | |
)/ | |
$if($eq(%_orderTypeForArtist%,1), | |
$if2(%_artistForFilename%) | |
)/ | |
$if($eq(%_orderTypeForArtist%,2), | |
$if2(%_artistForFilename%) | |
)/ | |
$if($eq(%_separateByTypeInArtistFolder%,1), | |
$if($or(%_isArtistCompil%,%_isGlobalCompil%),%_compilationsSubFolder%, | |
$if($eq(%_isSoundtrack%,1),%_soundtracksSubFolder%, | |
$if($eq(%_isLive%,1),%_liveSubFolder%, | |
$if($eq(%_isAlbum%,1), | |
$if($eq(%_separateAlbum%,1),%_albumSubFolder%) | |
) | |
$if($eq(%_isSingle%,1),%_singlesSubFolder%) | |
$if($eq(%_isEP%,1),%_epSubFolder%) | |
$if($eq(%_isBroadcast%,1),%_broadcastSubFolder%) | |
$if($eq(%_isOther%,1),%_otherSubFolder%) | |
) | |
) | |
) | |
) | |
) | |
%_albumForFilename% | |
$if($gt(%totaldiscs%,1),$noop( | |
)$if($lt(%totaldiscs%,10),$set(_discnumber,%discnumber%),$set(_discnumber,$num(%discnumber%,2)))$noop( | |
)$if($in(%media%,Vinyl),$noop( | |
)$set(_nameForDiscFolder,@OSLASH@@OBRACKET@%_nameForTypeVinyl%%_discnumber%@CBRACKET@),$noop( | |
)$set(_nameForDiscFolder,@OSLASH@@OBRACKET@%_nameForTypeCD%%_discnumber%@CBRACKET@))$noop( | |
)$if($and(%_discsubtitleForFilename%,$eq(%_showDiscSubtitle%,1)),$set(_nameForDiscFolder,%_nameForDiscFolder%~%_discsubtitleForFilename%))$noop( | |
)$if($eq(%_useSubDiscFolder%,1),$noop( | |
)$set(_nameForDiscFolder,$replace(%_nameForDiscFolder%,@OSLASH@@OBRACKET@,/))$noop( | |
)$set(_nameForDiscFolder,$replace(%_nameForDiscFolder%,@CBRACKET@,)),$noop( | |
)$if($eq(%_mergeDiscWhenNotUsingSubfolder%,1),$noop( | |
)$unset(_nameForDiscFolder),$noop( | |
)$set(_nameForDiscFolder,$replace(%_nameForDiscFolder%,@OSLASH@@OBRACKET@,[))$noop( | |
)$set(_nameForDiscFolder,$replace(%_nameForDiscFolder%,@CBRACKET@,]))$noop( | |
))$noop( | |
))$noop( | |
)$if(%_nameForDiscFolder%, %_nameForDiscFolder%) | |
)/ | |
$if($in(%media%,Vinyl),$noop( | |
)$if($eq(%_useMusicBrainzStyleForVinylTrack%,1),$noop( | |
)$if(%_musicbrainz_tracknumber%,%_musicbrainz_tracknumber%. )$noop( | |
)),$noop( | |
)$if(%tracknumber%,$if($gt(%totaldiscs%,1),$if($and($eq(%_useSubDiscFolder%,0),$eq(%_mergeDiscWhenNotUsingSubfolder%,1)),%discnumber%))$num(%tracknumber%,2). ) | |
) | |
%_titleForFilename% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment