MusicBrainz Picard for Haiku

I’m happy to announce that the MusicBrainz Picard audio file tagger is now available for Haiku. It can be installed directly from the HaikuPorts repository.

With MusicBrainz Picard you can tag and organize your audio files using data from the MusicBrainz music metadata database. It can be heavily customized using scripting and plugins.

The port provides the latest version 2.1.3 of Picard and is fully functional, including audio CD lookups and audio fingerprinting (using AcoustID).

Porting this was actually a very pleasent experience without major obstacles. Some smaller patches where required, but nothing big really. Kudos to everyone invloved in creating Haiku, great work. I’ve written a bit more about this port in the MusicBrainz community forums:

15 Likes

Cool! However, it looks like it uses Fusion Qt style. Can it be patched to use Haiku style instead?
See this example in KStars.

2 Likes

Thanks for your feedback.

Yes, I could try to use the Haiku Qt style. Actually Picard 2 originally was hard coded to use the fusion style everywhere, we just relaxed this for macOS a while back. This is still some cause for controversy, we might change back to the platform defined defaults.

But in this case I’ll give the Haiku style a try and patch the package accordingly.

1 Like

Thanks for the port and for the screenshot, i will try it for sure!
Here is some private opninions:

  • Haiku system UI style would be great.
  • Afaik Picard changes the ID3 tags, but would it be possibe to create a script/addon/etc to add/adjust the BFS attributes too in the same time?
  • The application icon should be recreated according to the Haiku icon guideline, but at least it should have a black outline.
1 Like

Here we go, the package is updated. Thanks to @Diver for the quick merge :slight_smile:

With the current release not easily, but the upcoming Picard 2.2.0 provides a on save hook that could be used for this. Alternatively we could of course also patch it directly into Picard, but having this as a plugin sounds somewhat saner :smiley: I would be interested of implementing this, can you give me some pointers how such metadata is handled in BFS?

If you are interested my main focus is actually providing patches against the development version of Picard, they are at https://github.com/phw/picard/commits/haiku-port

I backported them for the current release version 2.1.3 at https://github.com/phw/picard/commits/haiku-port-2.1.3

Picard currently uses the same icon on all platforms. I’m really not sure how this logo can be adapted to the isometric view of Haiku icons. Anyway, this is beyond my abilities :slight_smile: If someone can modify the icon to be more haikuesk help is welcome. The Icon-O-Matic version of the icon is at https://github.com/phw/picard/blob/haiku-port/resources/img-src/picard-icon-haiku

2 Likes

Maybe you can use Haiku icons for toolbar to make it look even more native?

See here https://github.com/haiku/haiku/tree/master/data/artwork/icons

Maybe you can check how ArmyKnife does it, sorry, it is C++: https://github.com/HaikuArchives/ArmyKnife
And:
https://www.haiku-os.org/docs/userguide/en/attributes.html

2 Likes

The functions for managing MIME types are documented here:

https://www.haiku-os.org/legacy-docs/bebook/AttributeFunctions_Overview.html
https://www.haiku-os.org/legacy-docs/bebook/TheStorageKit_Functions.html

2 Likes

Picard

I felt inspired and gave it a try. :slight_smile:
The IOM file: https://0x0.st/z97E.iom

13 Likes

Nah, that would be more customization then we do for any other platform :smiley: Also I tested it by checking if there is a system provided icon first before using Picard’s customized ones. The result was not very convincing, I ended up with default Haiku icons, icons I believe come from Qt and the custom icons of Picard for special actions. If this would be done it would require special Haiku icons for every non-standard icon.

Thanks. As a proof of concept I hacked together a plugin at https://github.com/phw/picard-plugins/blob/haikuattrs/plugins/haikuattrs/haikuattrs.py . It sets the attributes by calling addattr for now. That’s not super efficient and requires a lot of forking, but it works :smiley: But next step probably would be to use ctypes to actually use the proper interfaces directly.

Keep in mind that this only works with the development version of Picard, but there is a preliminary 2.2.0 recipe for this.

Nice, I’ll see how this looks :smiley:

I just noticed you are using WebPositive as the default browser. Why not use the open command instead, which will open a URL with the user’s preferred handler?

2 Likes

You guys are amazing, thanks for the feedback here.

@waddlesplash: I din’t know about open. But now I actually also found out how to change the default browser, this is of course way better. Updated the patches.

I also included @humdinger’s icon. All in https://github.com/haikuports/haikuports/pull/4023

2 Likes

I made some changes to your icon. Hopefully it is an improvement.
mbp
http://0x0.st/z9hW.iom

I guess the logo symbolizes the human brains left- and right halves, with the neurons connecting them. So I had an idea to illustrate a cube split in half, but since this was my first time using Icon-O-Matic it was more than I could manage.

4 Likes

Yes, that icon is a bit cleaner and better reflects the original. I will consider this in a future update. Thanks a lot :smiley:

1 Like

You may want to submit a patch to add it to artwork/icons in our tree :slight_smile:

1 Like

I agree, your changes do improve it. Good teamwork! :slight_smile:

What’s the policy here? Surely we can’t have every 3rdparty app icon in the tree?
Should we add a “3rdparty-icons” (or just “icons”?) folder at https://github.com/haiku/artwork and upload those there?

1 Like

If so a gallery would be great addition so the developers could easily browse the available icons, and the gifted art-craftsman could have an overview what kind of icons are missing.

Humdinger can decide what to do with the icon, since he did the majority of the work.

Yes, they are welcome in the separate artwork repo and we should consider moving some out of haiku sources as well, maybe?

I am an avid user of ArmyKnife, which I can use in 64-bit. Is this available in 64-bit–I do not see it in Haiku Depot?