SUGGESTION - JSON file to control settings of WS scripts

Ok, I guess that could work too but less customisable.

A restore defaults button somewhere?

And perhaps a method for a separator?

As you see there will be a lot of settings. EDIT: This may cause an issue with small monitors so a scrollbar may be needed.

I think all the remove fields settings should better be handled via the field checkboxes I’ve added to the adjust tag information dialog a while ago.

It doesn't stop people from editing the scripts and breaking them. Please see the latest few replies on the Beatport thread. So this is why I will be adding these global options.

In addition to what I've described above in #7, I've worked on dynamic adaptation of the dialog height to a size that shows the most options. I've also added a separator type that simple shows a line between controls and has an optional title:

{
  "type": "separator"
  "title": "Optional Separator Text"
}

If you're looking for a visually more distinctive header text, I've also added a heading type that creates a bold text control with different background:

{
  "type": "heading"
  "title": "Header Text"
}

This is now available with Mp3tag v3.21h.

This is now also available on macOS with Mp3tag for Mac v1.8.2.

This seem great, and seem to work fine in the script, except (at least on Mac) it does not actually save the settings to the settings.json file (or remember the settings). I had to manually create settings.json file as well, otherwise it would just complain about the file not existing.

1 Like

Thanks for pointing! It's getting created automatically on Windows and I'll fix that for macOS with the next release. I'll keep you posted.

I've just released Mp3tag for Mac v1.8.3 which should fix this issue. Thanks again for reporting — and for experimenting with the new features!

I'll think about a solution that doesn't require replicating the configuration schema for each language and keeps everything in one place.

1 Like

I'm experimenting with a dedicated localizations object in the .settings file, which lists all languages with localizations, where the individual localization items reference the key that is used at the control definition.

Example:

{
  "key": "test",
  "title": "Test Settings",
  "settings": [
    {
      "type": "string",
      "key": "testChoices",
      "title": "Something to choose from",
      "description": "Select the preferred item",
      "choices": [
        "Item 1",
        "Item 2",
        "Item 3"
      ],
      "default": "Item 1"
    },
    {
      "type": "bool",
      "key": "testCheck",
      "title": "Something to check",
      "description": "Check to enable",
      "default": false
    }
  ],
  "localizations": {
    "de": [
      {
        "key": "test",
        "title": "Test Einstellungen"
      },
      {
        "key": "testChoices",
        "title": "Etwas zur Auswahl",
        "description": "Wählen Sie den gewünschten Eintrag"
      },
      {
        "key": "testCheck",
        "title": "Etwas zum Abhaken",
        "description": "Häkchen setzen zum Aktivieren"
      }
    ]
  }
}

Please note that localization items are optional and are referenced using the key from the individual items in the settings definition. The window title is referenced using the root key from the settings definition.

The language keys are using the ISO-639-1 language code.

Localization of Tag Source configuration settings is now available with Mp3tag v3.21i and Mp3tag for Mac v1.8.4.

Thanks for that. I don't have much time to get the scripts updated but when I have them done I'll send them for testing to you. Esp for the mac version as I cannot test that.

I have to admit that I'm one of those users who will still see a need to edit Websource scripts myself.
This is not so much because the contents of superfluous tag fields bother me - my workflow for new albums already provides for an action "Remove fields except" which solves this problem.

But:
Many scripts provide much more information than is in my interest. For example, since I'm not interested in the specific tag content of MusicBrainz and Apple, these fields in the UI in the "Adjust tag information" window bother me because they distract from content that interests me and often also require horizontal and vertical scrolling to find the information for to keep an eye on essential tag fields.
Therefore, my routine of calling the editor with each new web source script version and appending a series of "Set Tagfeld" lines at the end of the script will unfortunately have to remain the same.

I would therefore be interested in settings that could also influence the appearance of the "Adjust tag information" window in the way I described it.

That will be in the settings for my BP scripts. A checkbox to remove X tag.

I just need to find the time to update them.

Just to better understand it:
Why is a checkbox to remove X tag better/faster/easier then uncheck it directly in the "Adjust tag information"?
@poster:
The last selection of tags (checked / unchecked) will be remembered, so you have to choose your preferred tags only once per script in "Adjust tag information".

Because people still edit the scripts and mess them up somehow. It's just and option not to have them clutter the UI with unwanted tags by the user.

But checking/unchecking in the UI of the "Adjust tag information"-window has only influence on the tag-fields that are saved in the file. I edit the script so that I don't even see unwanted fields in the UI because they take up unnecessary space, which in turn requires horizontal and vertical scrolling depending on the script. In addition, additional fields that do not interest you at all prevent you from having an immediate view of the essentials.

People editing the scripts are fine by me, but it is a problem when they share them and don’t follow up when they fail or contain bugs. It is a frustration when others come to me telling why it doesn’t work, and it is because they or someone else made changes that was the reason for the fails.

Another suggestion would be to add an option to be able to add settings into IndexUrl or other options, like $var(var_name) or similar?