The Basic Concepts of Picard and Scripting

From the first time I started trying out and using Picard, especially the scripting part was very confusing to me.
And if I am honest, it still is in some ways.
For that reason I am trying to avoid scripting as much as I can.
But that is a pity of course, because when you know what to do with it and understand how it works, it can be extremely helpful.

When I would try to describe why scripting with Picard is sometimes still difficult for me to grasp, it comes down to understanding some basic concepts about the workings of scripting within Picard.

Does scripting alter existing tags in my files?
Does scripting alter the filenames of my files?
Does scripting filter and change the way that content is retrieved form the MB database?
Are the fields displayed in the bottom panel of Picard pre-scripting, or post-scripting?
Do tagger scripts run after or before existing tags are loaded from the file?
Do settings in the Picard options pages overrule scripts? Or the other way around?
etc. etc.

To be clear, I am not summing these up with the intention to get these specific questions answered here.
Some I do understand by now, and some I don’t (always).

If you invest many, many hours, and scour the forum for answers it will all become a bit clearer, but you will often still have the need for some basic documentation to consult, and possibly refresh your understanding of the matter.
But I have not been able to find such.

I believe it would be very helpful if there was some documentation covering these basic concepts of how scripting works together with Picard.
Not just for me, but probably for anybody new to Picard and scripting.
Some basic tutorial in plain English, using full sentences and understandable (non coder) language would be really good to have.

If such documentation does exist at MusicBrainz, or if there are third party tutorials or documents covering this, could somebody provide some links to it?
If it doesn’t exist, is it feasible that it is added to the existing documentation pages?


Agreed, and I know of no good beginner friendly documentation for the scripting. There are a lot of details buried here in the forums, but it would be nice to have a proper tutorial. Some similar request was in Is there a tagging script tutorial?

I have seen it many times that users are overwhelmed with even simple tagging scripts. I think that’s sometimes easy to overlook for someone with a programming background, but if you have zero experience with this something like $num(%discnumber%,2) - %artist% - %title% can be frightening. And then even something like “I want to change this to not include the artist” can be a challenge :smiley:

I have tried a couple of times dissecting more complex scripts into it’s individual parts to help people actually understand the script, e.g. Help understanding Picard naming script system for noob or Help with script for filenaming scheme

I think a tutorial should look a bit like this, starting with a simple naming scheme, examples how the result will be, and then introducing more and more complex ideas. Now we just need someone to write it :thinking:


Also interesting: