Specific reason why MB Picard writes Release Type in lowercase?

I just detected that MB Picard writes the Release Type in all lowercase:

image
where the website shows it as
image

Is there a specific reason why this content is set to lowercase?
Can I tell MB Picard not to do this conversion with an option?
Or is there a script I could use to make the first letter of each word start with an uppercase letter, to get for the above example: Album/Mixtape/Street?

I’ve also been wondering about this. Personally I revert the casing using a tagger script:

$setmulti(releasetype,$map(%releasetype%,$if($eq(%_loop_value%,ep),$upper(%_loop_value%),$title(%_loop_value%))))
1 Like

It would be scary if Picard suddenly “fixed” this as it would cause updates to EVERY release you put into Picard. (Bit like when they alpha sorted artists).

I’d suggest it was an optional change as many external apps will rely on that text.

1 Like

Actually there was, but the exact reason is lost to history. See changes in version 0.9.0alpha3:

Release type and status should be in lower case. (#2489)

“#2489” refers to the ticket requesting this, but this is from the very old MB ticket system that has been gone for a long time.

Can I tell MB Picard not to do this conversion with an option?

Not so keen on adding an option just for this. That seems like such an edge case that it is not really worth increasing the complexity of code, tests and scripts. Better solved by scripting or if someone wants to with a plugin.

4 Likes

Thank you for your explanation @outsidecontext

Can you think of a command that would help me to capitalise the first letter of every “word”, including the first one and all the ones after a slash?

The script from @kellnerd seems only to work for the “ep-case”.
But I would like to see all the release types exactly as written here:
https://musicbrainz.org/doc/Release_Group/Type
Especially:

Mixtape/Street
DJ-mix
EP

Try the following tagger script and see if it does what you want.

$setmulti(releasetype,$map(%releasetype%,
$if($eq(%_loop_value%,ep),EP,
$if($eq(%_loop_value%,audio drama),Audio drama,
$if($eq(%_loop_value%,dj-mix),DJ-mix,
$if($eq(%_loop_value%,mixtape/street),Mixtape/Street,
$if($eq(%_loop_value%,field recording),Field recording,
$title(%_loop_value%))))))))
3 Likes

Thanks for your idea @rdswift !
It seems to work if you do not break up the lines (for better readability).

This is the 1-liner that we can copy & paste 1:1 for all current Release Types:

$setmulti(releasetype,$map(%releasetype%,$if($in(%_loop_value%,album),Album,$if($in(%_loop_value%,single),Single,$if($in(%_loop_value%,ep),EP,$if($in(%_loop_value%,broadast),Broadcast,$if($in(%_loop_value%,compilation),Compilation,$if($in(%_loop_value%,soundtrack),Soundtrack,$if($in(%_loop_value%,spokenword),Spokenword,$if($in(%_loop_value%,interview),Interview,$if($in(%_loop_value%,audiobook),Audiobook,$if($in(%_loop_value%,audio drama),Audio drama,$if($in(%_loop_value%,live),Live,$if($in(%_loop_value%,remix),Remix,$if($in(%_loop_value%,dj-mix),DJ-mix,$if($in(%_loop_value%,mixtape/street),Mixtape/Street,$if($in(%_loop_value%,demo),Demo,$if($in(%_loop_value%,field recording),Field recording,))))))))))))))))))

2 Likes