A proper foobar2000 submission component

By the way, most scrobblers submit a scrobble after 3 minutes or 50% of the song, foo_listenbrainz2 is configured to scrobble after 4 minutes or 50%. Any possibility of adding adjustable time for scrobbling? Otherwise we might get inconsistent scrobbling history between Last.fm and ListenBrainz, say, if a song is 8 minutes and I switch to the next song after 3:30 minutes or so, which means the song would be scrobbled to Last.fm but not to ListenBrainz. Just a suggestion :slight_smile:

Marc2k3 may be very touchy but I do sympathise when he’s faced with so much entitlement and callousness. Learn some tact; it generally gets you much further.

6 Likes

Well, that escalated quickly and unexpectedly.

@EliasAlucard I think you know quite well that your last post at Marc went way over the top, escalated the heated debate to the next level and violated the code of conduct. Someone flagged it now, and I think rightly so.

Not excusing Marc’s behavior, though, which also was inappropriate.

But maybe a few words from me as maintainer of open source projects: I kind of get were Marc’s feelings and reactions are coming from. If you have an open source project people actually use, there will be people telling you how you really should support feature X, how easy this would be, that others do this and hence should you etc. etc. At times that can feel really demanding or patronizing; you feel people try to educate you on things you know about well and asking you for stuff you have explained already a trillion times. More than once I read comments on my projects that really made me feel angry, even though there was probably no ill intention on the person who wrote it. But the way they formulated their requests just felt demanding and/or patronizing. Let’s give a recent example: When you answered me with explaining the merits of the GPL my gut reaction to it was “this guy for sure does not need to educate me on the GPL”. That’s partly because of my experience that small seemingly harmless questions about “why license XY” usually is a sneaky way to drag one into a often point- and endless licensing discussion. I think I most of the time manage to get some distance to situations like these and either ignore it or answer neutrally. But small things like this can build up. I don’t know why Marc reacted as he did, but there likely is some history behind it.


Anyway, enough of this and back to topic: Great you had the code and thanks for preserving it. But the repository now is based upon an older fork of mine I created to preserve the code after Marc’s last rage quit and contains some obsolete parts. Marc in the meantime had set up a fresh repository, and I had setup a fresh fork for it. Unfortunately it had been a while since my last sync, so the changes for 1.1.2 and 1.1.3 had not been included. I have now updated the fork with the changes from your repo:

I think this is now the most accurate representation of the previous repository we have.

I still have no real interest in actively developing this further myself, but I’m happy to give this minor maintenance or merge pull requests until someone stands up and continues to properly develop this.

9 Likes

I’d like to bring up the topic of ID3v2 UFID again. Marc2k3 didn’t seem interested in making any attempt to address it, but it is a pretty big gap in functionality. If true that foobar2000 doesn’t support reading UFID at all, and there is no possible workaround, then it seems like we should petition the foobar2000 devs to add the required functionality. Anyone know the best way to go about that?

1 Like

You have 3 realistic options:

  1. Choose a different music player
  2. Continue using foobar2000 but choose a different music file format
  3. Develop your own Picard code to save certain fields to TXXX frames instead of poorly supported fields from the ID3 standard.

There are a dozen other ID3 interoperability issues between Picard and foobar2000 anyway.

4 Likes

yindesu summarized it pretty well. Here is some reading material:

For the UFID issue try something like $copy(_id3:TXXX:MUSICBRAINZ TRACK ID,musicbrainz_recordingid)
BTW, this has been discussed before in the old thread.

If you still want to petition foobar200 devs they can also be reached on IRC

2 Likes

Since I haven’t acheived nearly the same functionality out of any other player, this suggestion isn’t so realistic. :slight_smile:

About 77% of my library is Vorbis or Opus. So, you see, I’ve already chosen a different codec a very long time ago. It’s not so easy to get rid of the remaining MP3s.

I already said this myself earlier in the thread. For reasons I won’t get into, retagging the files is a bigger problem than you might think. Besides, that only solves the problem for one person. I’m trying to find a solution that works for everyone with default settings.

Very true. Changes to handling of composer sort name in foobar2000 is a recent example that I haven’t solved to my satisfaction. Many I’ve solved myself by using my own tagging tools and avoiding foobar2000 for tagging. But that’s beside the point. There is no interoperability issue between Picard and foobar2000 here. The issue is with foo_listenbrainz2 and the foobar2000 component API, if I understand correctly.

1 Like

Thanks for wealth of information. I will read it when I have more time.

I’ve been getting a “ListenBrainz 2: The function requested is not supported” error when submitting listens since I first tried using this in December. Any idea what’s causing it?

I need to look, but that’ll take a while. Maybe something changed in foobar2000 and the plugin needs updating. I can’t really promise anything as I’m not that deep into f2k plugin development and my C++ skills are pretty rusty :smiley: But I’ll take a look. It likely will take some time for me to get to it, though, currently low on available time :confused:

1 Like

@Comrade_Mike I just gave this a quick test with foobar2000 1.6.12 and the component downloaded from Release 1.1.3 · phw/foo_listenbrainz2 · GitHub , and submission seems to work just fine.

What version of foobar2000 do you use and from where did you install the plugin?

1 Like

False alarm, I’m on Windows 7 with Foobar 1.6.11 and it turns out I didn’t have TLS 1.2 enabled. I followed the steps here and now it’s working properly. Thanks for checking anyway.

2 Likes

As @Comrade_Mike made me look into the foo_listenbrainz2 sources this triggered me into doing some updates. So here is a fresh new release:

The primary change is the update to the latest foobar2000 SDK and compatibility with the new foobar2000 v2.0 beta. There is also a 64 bit build for foo_listenbrainz2 for use with the 64 bit version of foobar2000 2.0.

5 Likes

I just found out that foobar2000 2.0 will support combined packages that contain the code for all supported architecture. That’s nice. I’ll do an update :slight_smile:

3 Likes

Here we go: Version 1.3 with unified package for 32/64 bit and some changes to the data being submitted to incorporate some changes to the LB API docs (submission of listening client / media player details and audio duration):

Update: Fixed some issue with the release script not properly putting all files in the package.

Update 2022-11-22: New minor release:

It fixes some layout issues in the preferences dialog and provides smaller DLL size by improvements in the latest foobar2000 SDK and by excluding the debug symbols from the release package. Have fun.

7 Likes

Just found out about this component but I seem to be having some issues getting it to work, I don’t mind troubleshooting it myself but the error I’m getting is a rather nondescript ‘Network Error’. I tried reentering the token to see if that was the issue but no luck. On version 1.3.2

Any ideas for how to approach this?

image

Could it be foobar2000 is blocked by Windows firewall (or any other such security tool you might have installed)? Maybe try to verify other plugins doing network requests work.

I can look into that but my last.fm scrobbler component hasn’t had any issues at all so I’m not sure that would be it.

1 Like

I guess that’s a good verification that it should work. No issues here, though. What version of foobar2000 is it? I see the 2.0 final just came out, I have not yet tested with this (only with some of the pre-release versions). Maybe it’s related.

UPDATE: No, all versions work for me the same (2.0 32 and 64 bit, and 1.6)

1 Like

You know, I thought I was on 2.0 as I’m using dark mode but my about still says v1.6.6… I wonder if that is related. I can troubleshoot that. Thanks for the help

2 Likes