MIT License

项目介绍

phw/foo_listenbrainz2 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 MIT License 许可证,目前获得 88 个 Star、4 次 Fork。

仓库全名
phw/foo_listenbrainz2
开源许可证
MIT License
Star 数
88
Fork 数
4
未关闭 Issue
10

README 摘要

ListenBrainz 2 A foobar2000 component to submit the music you listened to to ListenBrainz or another ListenBrainz compatible scrobble server (for example Maloja). This component was originally written by marc2k3. This repository is an attempt to preserve the source code of this excellent component and hopefully to revive the development. Minimum requirements Windows 7 and foobar2000 v1.5 or later. This component is…

完整内容见 GitHub 原始 README 或本页 。

常见问题

foo_listenbrainz2 用什么语言开发?

主要使用 C++ 编写,采用 MIT License 许可证,目前有 88 个 Star。

foo_listenbrainz2 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 foo_listenbrainz2 的源码?

可以直接克隆仓库:git clone https://github.com/phw/foo_listenbrainz2.git,默认分支为 main;安装与运行步骤见仓库 README。

foo_listenbrainz2 最近还在维护吗?

仓库最近一次更新为 2025年5月19日,当前有 10 个未关闭 Issue;Star 数为 88,可作为社区活跃度的参考。

关于

A foobar2000 component to submit the music you listened to to ListenBrainz.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
99
价值分
53
活跃状态
活跃

README

ListenBrainz 2

A foobar2000 component to submit the music you listened to to ListenBrainz or another ListenBrainz compatible scrobble server (for example Maloja).

This component was originally written by marc2k3. This repository is an attempt to preserve the source code of this excellent component and hopefully to revive the development.

Minimum requirements

Windows 7 and foobar2000 v1.5 or later. This component is compatible with foobar2000 v2.0, both 32 and 64 bit.

Download & Installation

Download the component archive (.fb2k-component) from the release page. Follow the instructions How to install a component in the Foobar2000 Wiki.

What is ListenBrainz?

ListenBrainz keeps track of music you listen to and provides you with insights into your listening habits. For details see:

https://listenbrainz.org

Why foo_listenbrainz2?

There is already a component with the original name here: foo_listenbrainz

In contrast to the above version foo_listenbrainz2 does not block the main thread and does not freeze the UI when submitting. Also, this version submits artist/recording MBIDs if present in your files. This makes artist/title links on your recent listens page clickable and will lead you to the respective pages on musicbrainz.org

Preferences

Enter your ListenBrainz token and check the other options under File > Preferences > Tools > ListenBrainz 2.

Preferences

By default the component submits to the ListenBrainz server using the endpoint https://api.listenbrainz.org/1/submit-listens.

If you use another ListenBrainz compatible server, also adjust the URL and use a token provided by your server. Make sure to append /submit-listens to the standard API URL of your server. Otherwise you will get 500 response errors. For Maloja servers the API URL is in the form of https://{hostname}/apis/listenbrainz/1/submit-listens.

Now just listen to your music and watch the Console for server responses and/or check your recent listens page.

For convenience, submissions can be enabled/disabled via the main Playback menu. This option is only available after your token has been set. You can also configure a filter for tracks to never be submitted.

Submissions

The following conditions must be met for a track to be submitted:

  • The track must be at least 5 seconds long. Anything shorter or unknown will be ignored.
  • Like Last.fm, you must listen to at least half the track or 4 minutes - whichever comes first.
  • The submission must be enabled when the track begins AND at the time of submission during playback.
  • The track must contain ARTIST and TITLE tags as a bare minimum. Any tracks without them are silently ignored.

These additional tags are sent if present:

  • ALBUM ARTIST
  • ALBUM
  • DATE
  • TRACKNUMBER
  • TOTALTRACKS
  • DISCNUMBER
  • TOTALDISCS
  • ISRC
  • MUSICBRAINZ_ARTISTID / MUSICBRAINZ ARTIST ID
  • MUSICBRAINZ_TRACKID / MUSICBRAINZ TRACK ID
  • MUSICBRAINZ_ALBUMID / MUSICBRAINZ ALBUM ID
  • MUSICBRAINZ_RELEASEGROUPID / MUSICBRAINZ RELEASE GROUP ID
  • MUSICBRAINZ_RELEASETRACKID / MUSICBRAINZ RELEASE TRACK ID
  • MUSICBRAINZ_WORKID / MUSICBRAINZ WORK ID
  • The track’s duration in milliseconds

Note that foobar2000 does not support reading track id (recording) tags that are written to MP3s as UFID by MusicBrainz Picard.

By default details about the media player (“foobar2000” and version) and the submission client (“foo_listenbrainz2” and component version) will be submitted as well. If you dislike this behavior you can disable it in the preferences.

Multi-value tag handling

  • For artist/work MBIDs, all values are sent.
  • By default, only the first value of any multi-value ARTIST tag is sent. This can be changed in the preferences so all values are sent as a comma separated string. Before this option was added in v1.1.3, only the first value was sent.
  • For all other tags, only the first value is sent.

Caching of failed submissions

This happens automatically so you don’t need to do anything to trigger it. If you’re offline or ListenBrainz is down, the Console will report each time a listen is cached and the next time you submit a successful listen, an attempt will be made to submit all cached entries.

Limitations

  • Currently there is no support for streams or tracks of an unknown length.
  • foobar2000 does not support reading track id (recording) tags that are written to MP3s as UFID by MusicBrainz Picard.

License

foo_listenbrainz2 is published under the MIT license. See LICENSE.txt for details.

评论

暂无评论