A new version of foo_musicbrainz has been released

A minor release with the above change to the Preferences is now available…

https://github.com/marc2k3/foo_musicbrainz/releases

Anyone upgrading should read the changelog entry.

2 Likes

Are you sure it needs to be an option?
“Only when it differs” would not suit everyone?
This way it’s like the album artist, it seems all good.

I had a feature request to have an option to not write it. I then got a complaint about that change right here in this thread. Now it caters for everyone.

5 Likes

Thank you allow me in-a-your window, my only master!!

https://github.com/marc2k3/foo_musicbrainz/issues/6

Some may have noticed the github repo is no more. There is a final release available on the foobar forums here…

JScript Panel + other components

It has one last bugfix for TOC lookups/disc matching. Previously, any TOC lookup against a disc in multiple disc set would return all discs in a release with the same track count and you’d have to pick the correct one manually which was all sorts of wrong! Now it checks the discid actually matches.

5 Likes

Thanks for the update marc, great to see a final update on this. I’m sure you have your reasons to stop working on this, but any chance to make the sources available to someone to continue?

2 Likes

With the exception of that TOC fix I mentioned in the post above, this fork has the most recent changes…

GitHub - kbuffington/foo_musicbrainz: MusicBrainz tagger for foobar2000

I’ll see if I can generate a patch or something.

5 Likes

The patch has been provided to someone who has already expressed an interest in maintaining it…

foo_musicbrainz - Page 15

4 Likes

Ah, great. Looking forward to this. Is there also a fork for foo_listenbrainz2?

1 Like

Development will be continuing here.

Latest releases, including the v0.4.4 are on the release page.

6 Likes

0.4.5beta1 just released. Large speed improvements in pulling by artist/album. Let me know if you encounter any issues.

1 Like

Not tested yet but I have a bone to pick with this sentence in the release notes!!

This release removes an unneeded 1 second delay on the first request

It was needed because the initial request to get the list of matching releases doesn’t come for free. That was performed here…

foo_musicbrainz/src/request_thread.cpp at eb9238e2cefab10a7a07db89b337fce598d00a7b · kbuffington/foo_musicbrainz · GitHub

If you have N releases, the number of web requests performed is always N+1.

edited: I linked to the wrong bit of code

4 Likes

Haha, damn, you’re right. I’ll be adding it back in.

Edit: Beta 2 up at the same link.

2 Likes

Since adding that thread_pool, you need to implement an initquit class with this inside the on_quit method.

simple_thread_pool::instance().exit();

Example from that PR on your other component…

Use background thread task so there is no dialog when playing new tracks · Pull Request #2 · kbuffington/foo_enhanced_playcount · GitHub

I thought initially I was going to have to do that (was surprised to see this didn’t have an initquit class), but it looks like the abort object being passed down to the threads conveniently takes care of everything. Only potential I can see for delaying exit would be while waiting on a request to return (which is somewhat bad), unless I’m missing something else. I suppose I’ll go ahead and add it though.

Well I’ve always made it clear I didn’t create it - just copy/pasted as that is my speciality!!

2 Likes

0.4.5b4 released.

  • Adds an LRU cache to the requests with a 1 hour expiration.
  • Shrunk various sections of the tagger dialog to fit more information in a smaller area.
2 Likes

Thanks for continuing this add-on! There seems to be no section to add requests on the github project so I’ll try this here.

  1. The first one is kind of huge and it has to do with the fact that MusicBrainz decided way back then to name tags differently for different file formats: https://picard.musicbrainz.org/docs/mappings/

This makes tagging massively complicated when not using Picard. My biggest worries are DSD and SACD ISO files. SACD ISOs use their own xml format in foobar2000 so they can be tagged any which way the user feels like doing. BUT when converting to files, the most popular format is .DSF which will only accept id3v2 tags. Both id3v2.3 and id3v2.4 are possible but lead to slightly different tags. They are also very different from VORBIS comments or APEv2 tags which I need for FLAC files.

To cut a long story short, there is currently some limited support to work around issues for 2 tags but that doesn’t help much. The component needs to be made aware of the tag format that is required to be written. Possibly this could happen at foobar2000 core level but for that Peter needs to be on board.

  1. The second one is a request to ignore video files (on DVD and Blu-ray) when tagging. Those prevent matching when only music files are present in foobar2000.

The Discogs tagger already has a similar settings which works quite nicely.

Another request:

When I tag new files, I often find myself searching MB from foobar2000 with this plugin first, only to add or complete a release on MB itself. Then, when I want to import the changes through foobar2000 they are not shown because I get cached results. The workaround is to restart fb2k.

It would be nice to have a button somewhere - maybe in the results dialogue - to flush the cache and repeat the search.