When I lookup a CD, I’d like to have a few tags added for every album I’m tagging.
For example, I’d like to add session IDs (e.g. from my personal database) or the date I added the album to my archive.
I suspect this can be done with a tagger script, is that the case? If I understand properly, tagger scripts run when data is loaded from the MusicBrainz central site. Is it possible to manually run tagger scripts ‘on demand’?
You can run tagger script any time via the context menu “Run scripts…”.
This will work well for data you want to repeatably add the same. You can have multiple scripts, so you can run what you need.
But your question suggests that you also have tags that will be different for each album or maybe even file. You can also manually add and edit tags in the metadata view on the lower part of Picard’s window. This also works for multiple selected items at once.
1 Like
Actually - found your documentation, when read more carefully, provides the information I needed.
For those who missed it as I did, what I found on https://picard-docs.musicbrainz.org/v2.8/en/extending/scripting.html:
- Adding tags as accomplished simply by the $set(,) function
- Scripts can be run on demand via the context menu (assuming you’ve enabled scripting)
I added my custom tags to the “Preserve List” to ensure once they had been set, they were not overwritten by subsequent MusicBrainz lookups.
3 Likes
actually, I’ve got a script that’ll automatically add the current date to the tag date collected
if it’s processed from a directory called “Rip Folder”
$if($in(%_dirname%,\\Rip Folder),$set(date collected,$datetime(\%Y-\%m-\%d)))
it’s been working pretty well so far, but it could probably be improved too~
5 Likes
I appreciate that UltimateRiff.
Here’s the script I wrote (with help from examples, etc.) I use MediaMonkey, which maps in some non-obvious way the ‘Artist’ and ‘Artists’ tags to its database ‘Artist(s)’ field:
#-- Establish the current archive version – this helps me update the actual archive version and archive date tags when the I bump the version number
$set(_arch_version,v1.0)
#-- Map the recording’s first release date to the ‘date’ tag
$set(date,$if2(%_recording_firstreleasedate%,%originaldate%,%date%))
#-- Ensure ‘artists’ tag content exactly matches ‘artist’ tag contents
$set(artists,%artist%)
#-- Initialize custom sessiondb tag if it doesn’t already exist
$set(sessiondb,$if($not(%sessiondb%),TJD))
#-- Initialize custom sessions tag if it doesn’t already exist
$set(sessions,$if($not(%sessions%),Empty))
#-- Initialize archive date tag if it doesn’t exist or the version doesn’t match the current version
$set(archive_date,$if($ne(%archive_version%,%_arch_version%),$datetime(%B %d %Y)))
#-- Ensure archive version tag matches the current
$set(archive_version,$if($ne(%archive_version%,%_arch_version%),%_arch_version%))
1 Like