This is my MusicBrainz Picard file naming scheme.
See this page for details.
$if($eq(%compilation%,1),
$noop(Various Artist Albums)
$if2(%albumartist%,%artist%)/
$left($if2(%originaldate%,%date%),4) %album%/
$if($gt(%totaldiscs%,1),
$noop(Various Artist Albums multiple discs)
CD %discnumber%$if(%discsubtitle%,: %discsubtitle%,)/,)
$num(%tracknumber%,2). %artist% - %title%,
$noop(Single Artist)
$firstalphachar($if2(%albumartistsort%,%artistsort%,%albumartist%,%artist%))/
$if2(%albumartist%,%artist%)/
$if(%album%,
$noop(It's An Album)
$if($eq($or(%originaldate%,%date%),1),
$left($if2(%originaldate%,%originalyear%,%date%,%year%),4) %album%/,%album%)/
$noop(Album Tracks multiple discs)
$if($gt(%totaldiscs%,1),
CD %discnumber%$if(%discsubtitle%,: %discsubtitle%,)/
$noop(Album Tracks single discs))
$num(%tracknumber%,2). %title%,
$noop(Non-Album Tracks)
%title%)
)
My car hi-fi makes a mess with with multi-disc albums because it doesn’t recognize discnumber tags. This script changes track numbers XX to include the disc numbers Y. The result is a 3 digit track number YXX:
$if($gt(%totaldiscs%,1),$set(tracknumber,%discnumber%$num(%tracknumber%,2)))