#musicbrainz-picard-development

/

      • julian45[m]
        interesting developments in, well, python development: astral (devs of uv and ruff) just released ty, "an extremely fast python type checker and language server written in rust" along with an accompanying vs code extension and playground. announcement is [here](https://astral.sh/blog/ty), repo is [here](https://github.com/astral-sh/ty)
      • 2025-12-17 35146, 2025

      • outsidecontext[m
        <julian45[m]> "interesting developments in..." <- Yes, that's been brewing for a while. Exciting that they now officially announced it as a beta.
      • 2025-12-17 35129, 2025

      • julian45[m]
        <julian45[m]> "https://gist.github.com/julian45..." <- gonna take the easy wayout and simply re-clone, then try building again
      • 2025-12-17 35135, 2025

      • julian45[m]
        * gonna take the easy way out and simply re-clone, then try building again
      • 2025-12-17 35128, 2025

      • julian45[m]
        that worked, but plugin is still misbehaving. i think [this part](https://github.com/metabrainz/picard/blob/m… of the v2-v3 plugin changes wasn't necessarily caught when running the script against the replaygain2 plugin files. zas what additional changes did you find necessary for the replaygainv2 plugin when running the migration script?
      • 2025-12-17 35156, 2025

      • outsidecontext[m
        julian45: as I wrote before, the migration script is not necessarily meant to cover all cases. It will give warnings about those changes. The migration script is supposed to help us migrate the scripts, and it does already a fairly good job at it. But specifically a plugin like replaygain2 is expected to have some manual changes.
      • 2025-12-17 35132, 2025

      • julian45[m]
        right, i'm just asking, based on the ["migration success rate" section of the migration guide](https://github.com/metabrainz/picard/blob/…, what changes were needed to reach good state in testing?
      • 2025-12-17 35141, 2025

      • julian45[m]
        * in testing of the plugin?
      • 2025-12-17 35123, 2025

      • outsidecontext[m
        Well, I don't know what it was, but very likely this plugin falls into the third, best case second category.
      • 2025-12-17 35119, 2025

      • zas[m]
        Simple plugins were all migrated without any warning, most are very simple, but not replaygain2. Without warnings doesn't mean they work, because for that we would need to have tests for them.
      • 2025-12-17 35131, 2025

      • outsidecontext[m
        I also don't think this section means the plugins have all been migrated, otherwise we would have them. Just that the script ran and the resulting code had fewer or more things todo.
      • 2025-12-17 35112, 2025

      • zas[m]
        So don't take those numbers as a guarantee, also those were produced in an earlier version, we did a lot of changes in API and plugin system since
      • 2025-12-17 35114, 2025

      • outsidecontext[m
        We have also changed the API in several ways again, and updated the migration script.
      • 2025-12-17 35130, 2025

      • outsidecontext[m
        A plugin that 100% workd after migration was https://github.com/metabrainz/picard-plugins/tree… (only registering script functions). I only did some cosmetic changes afterwards (result is in https://git.sr.ht/~phw/picard-plugin-losslessfuncs)
      • 2025-12-17 35117, 2025

      • outsidecontext[m
        julian45 replaygain2 would actually be one of the next plugins I'd port for real
      • 2025-12-17 35152, 2025

      • outsidecontext[m
        unless you want to give it a try, that is :)
      • 2025-12-17 35119, 2025

      • julian45[m]
        i'll poke at it, but it'd be best for you not to wait for me imo
      • 2025-12-17 35129, 2025

      • julian45[m]
        * but it'd probably be best
      • 2025-12-17 35147, 2025

      • julian45[m]
        also, idk if just a consequence of my build environment, but when starting picard, there's a log line mentioning ffmpeg 7.1 - ffmpeg 8.0 has been out for a bit, so maybe that could be used?
      • 2025-12-17 35151, 2025

      • outsidecontext[m
        julian45: we are not bundling this ourselves, it's part of Qt, and it uses whatever Qt has been built against
      • 2025-12-17 35158, 2025

      • julian45[m]
        ah, i see