Yes, file tags are in general unavailable to scripting currently, as the scripting is performed against the data loaded from MusicBrainz. No file in play here. See the following ticket for details:
lyricist, mixer, producer etc. will be available. Do you see them in the metadata on a loaded track? If not, make sure you enable both “Use release relationships” and “Use track relationships” in Options > Metadata.
If you can see them in the metadata for a track the tags should be available in scripting as well.
Thanks for checking. (I tested on Windows too and had no joy).
Release is c8ff240f-844d-470c-9823-8b0c6685a0e0
Create a new script with the line:
$if(%TAG%,$set(album, banana))
For me the tags mentioned earlier to not match (track-sourced tags). When I use release-sourced tags the script works (sets the album name to banana). Singe or multi-value tags don’t make a difference.
Turn off all other scripts, and refresh the release. No need to add any files.
Oh that’s interesting. When using release-tags, the parent object changes name (and the tracks). When using track-tags, only the track object changes. I guess that makes sense. I normally don’t have the album column displayed so I was missing that.
Not really. Picard has no concept of track level and release level tags. It only has a set of tags set for e.g. a track. The difference is just that if a tag is only set for a track it is only available on this track. If it is set on the release it is set for all the tracks. The script executes just the same in both cases, but if all the tracks have the same tag set the result will be the same.
Yes, that’s what I tried to explain actually. The script gets executed against all tracks and also the release itself. There is no title tag on the release
In any case, given that tracks can be tagged with different albums titles, the parent object should either show the common album title (if all tracks agree), or Different across… if not.