Save custom tag to all saved files?

Tags: #<Tag:0x00007f2a5f672c90>

Running Picard v2.1.3 on Windows 10 1803

I am trying to find a way to keep track of whether a particular track in my library has been thru picard yet. I am using Mediamonkey for library management. Unfortunately, Mediamonkey ignores all of the musicbrainz and acoustid tags that are added by picard so I am forced to use a custom tag. I want to create a tag field called “comment:Songs-DB_Custom4” - which is supported by Mediamonkey - and set it with a value of “mbtagged”. I want this information saved to any file that is saved by Picard. If the tag already exists I want Picard to overwrite the value.

I tried creating the following tagger script:

$set(comment:Songs-DB_Custom4,mbtagged)

When i select the release in the right panel I can see “mbtagged (missing from 1 item)” listed in the bottom panel. However when I select the track itself in the right panel the newly created field isn’t visible at all. When I save the release or the individual track the new field is not there.

What am I doing wrong?

Are you putting this in your file naming script (File Naming section) or in a tagger script (Scripting section)? My understanding is that changes made in the file naming script are not written to the files.

2 Likes

Another question is what file formats you are trying to tag. Picard does not support writing custom tags for all formats.

2 Likes

I am only interested in modifying the tag information and not renaming the file therefore I am working with the “tagger script” section of the settings. Screenshot attached.

Good question. And I guess I do have a niche use case here. I am working with mp4 files using the “Video Tools” plugin.

… And I think you are onto something there! When I save mp3 files the custom tag shows up properly.

> Video tools plugin details:
> Improves the video support in Picard by adding support for Matroska, WebM, AVI, QuickTime and MPEG files (renaming and fingerprinting only, no tagging) and providing $is_audio() and $is_video() scripting functions.
> Name: Video tools
> Authors: Philipp Wolfer
> License: GPL-2.0-or-later
> Files: videotools.zip\videotools_init_.py

So i guess the next thing for me to figure out is which fields within an mp4 file (using the “video tools” plugin) that I can use within picard that will allow me to isolate the files in Mediamonkey.

Ok, that gives some background. MP4 to start with is not supported for writing custom tags.

Also the video tools plugin currently is unfortunately broken :frowning: I’m have started fixing this. But even if it works it does not add support for writing tags to files Picard does not already support. All it does is to allow you to load more formats into Picard and get some information from those formats.

I also noticed in the notes for the video tools plugin that the author mentions that the plugin “only works for fingerprinting and renaming and that tagging does not work”. However, I can attest that the picard is adding tag information to the file successfully - and that is a lifesaver. However I guess it does not yet support “custom” tags.

[update] I just realized that you ARE the author. Much thanks to you for this plugin. I would totally be willing to send you $20-$40 just to get this extra tagging functionality working. It would definitely help my workflow a lot.

I did finally find a workaround. Using the list of “Basic tags” supported by Picard and the list of tags supported by Mediamonkey within id3 tags. I was able to find a field I was not using for something else - the “copyright” tag. I am now using that to flag files that I have run thru Picard. I can now build smart playlists within Mediamonkey based on this tag.

If your videos are in MP4 format Picard does already support them, you don’'t need the plugin in this case. If all your videos are in MP4 format the only bonus the plugin provides are the $is_video() and $is_audio() tagger script functions.

For custom tags in MP4 there is a feature request at https://tickets.metabrainz.org/browse/PICARD-1098

1 Like