ListenBrainz

|||
-|-|-|
:information_source: | 概要 | プロフィールにユーザーのListenBrainzのリスニングを表示するDiscourseプラグイン
:hammer_and_wrench: | リポジトリリンク | \u003chttps://git.sr.ht/~phw/discourse-listenbrainz\u003e
:open_book: | インストールガイド | Discourseにプラグインをインストールする方法


機能

このDiscourseプラグインを使用すると、ユーザーはListenBrainzからの最近のリスニングをユーザープロフィールに表示できます。ユーザーは、最も最近のリスニングまたはListenBrainzプロフィールの一般的な統計情報を表示することを選択できます。

ListenBrainzは、音楽の再生状況を追跡し、リスニング習慣に関する洞察や推奨事項を提供するオンラインサービスです。このプロジェクトは完全にオープンソースであり、すべてのデータをオープンデータとして公開しています。

このプラグインは現在MusicBrainzコミュニティフォーラムで使用されていますが、他の音楽関連コミュニティにとっても興味深いものになる可能性があります。

設定

管理者設定

ListenBrainzプラグインは、Discourseの管理者インターフェースで設定できます。次のオプションが利用可能です。

  • listenbrainz enable: ユーザーがプロフィールにListenBrainzステータスを表示できるようにします。デフォルト: 有効。

  • listenbrainz username matches discourse: Discourseユーザーのユーザー名が通常ListenBrainzユーザー名と一致する場合は、これを有効にします。ユーザーは引き続き別のListenBrainzユーザー名を設定できますが、Discourseユーザー名が事前入力されます。このオプションは、主にMetaBrainzコミュニティフォーラムで使用することを目的としています。デフォルト: 無効。

  • listenbrainz poster icon: ユーザーが各投稿でユーザー名の横にListenBrainzプロファイルへのリンクを表示できるようにします。デフォルト: 有効。

  • listenbrainz_onebox_enabled: ListenBrainzプロファイルページへのURLのOneboxサポートを有効にします。デフォルト: 有効。

  • listenbrainz_onebox_range: ListenBrainz Oneboxの統計時間範囲。デフォルト: 今月。

ユーザー設定

各ユーザーは、ListenBrainzアクティビティがプロフィールに表示されるかどうかを制御できます。ユーザーはプロフィール設定でこれを設定できます。次の設定が利用可能です。

  • Show ListenBrainz information in my user profile: 有効にすると、ユーザーのListenBrainzプロフィールの詳細が記載されたインフォボックスが、ユーザーのユーザーカードとユーザープロフィールに表示されます。インフォボックスの内容は、以下のオプションで設定できます。デフォルト: 無効。

  • ListenBrainz username: ユーザーのListenBrainzユーザー名。ユーザーのListenBrainz詳細を表示するには、これを設定する必要があります。サイトでlistenbrainz username matches discourseが有効になっている場合、これはDiscourseユーザー名にデフォルト設定されます。それ以外の場合、デフォルトは空です。

  • Show a link to my ListenBrainz profile next to my Discourse username: 有効にすると、ユーザーのListenBrainzプロファイルへのリンクが、各投稿のユーザー名の横に表示されます。このオプションは、サイトでlistenbrainz poster iconが有効になっている場合にのみ利用可能です。デフォルト: 無効。

  • Display: ListenBrainzインフォボックスに表示されるコンテンツを設定します。次のオプションが利用可能です。

    • Most recent listen: ユーザーの現在再生中のトラックまたは最も最近再生されたトラックを表示します。

    • User profile statistics: リスニング回数、最も再生されたトラック、最も再生されたリリースのアートワークなど、ユーザーのListenBrainzプロフィールの一般的な統計情報を表示します。

    • Most recent listen with fallback to user profile statistics: 最近のリスニングを表示しようとしますが、利用できない場合はユーザープロフィールの統計情報にフォールバックします。これはデフォルト設定です。

  • Time range: ユーザープロフィールの統計情報が生成される時間範囲を選択します。デフォルト: 今月。

  • Fallback to larger time range if there are no listens in the selected range: 有効にすると、選択した時間範囲にリスニングがない場合、プロフィールの統計情報ビューは自動的により大きな時間範囲にフォールバックします。たとえば、「今週」を選択したが、現在の週にリスニングが記録されていない場合、統計情報は「今月」を表示するようにフォールバックします。デフォルト: 有効。

  • Show recent listen not older than: ユーザーの最後の再生トラックが指定された時間よりも古い場合は表示しません。デフォルト: 24時間。

TODO

未解決の問題や計画されている機能については、公式のissue trackerを参照してください。

「いいね!」 7

Spotifyで似たようなものはありますか?

私の知る限りではありません。誰かがこれをやりたいのであれば、ListenBrainz を基盤として構築できるかもしれません。

それは難しすぎますか?私にはできますか?

申し訳ありません、質問を見逃していました。この作業の難易度は、Webアプリケーション開発の経験、特にEmber.jsとRuby on Railsフレームワークの経験に大きく依存します。私自身はWeb開発の経験がかなり広いですが、Ember.jsの経験はそれほどありませんでした。そのため、プラグイン開発において、この部分が最も時間がかかることがよくありました。このフレームワークでやりたいことをどのように実現するかを理解する必要があったからです。

いずれにせよ、最初のステップは、開発用のローカルDiscourseをセットアップし、そこでLBプラグインを実行できるようにすることです。 https://git.sr.ht/~phw/discourse-listenbrainz/tree/develop/item/CONTRIBUTE.md に、私自身のメモをまとめましたが、非常に簡潔です。これが機能したら、コードの一部をいじったときに何が起こるかを実験し始めることができます。

しかし、これらすべてを言った上で、私は個人的にSpotify関連の作業に全く興味がありません。もしあなたがこれに取り組みたいのであれば、私のプラグインがどのように構成され、機能しているかについて質問があればお手伝いできますが、Spotify APIとその使用方法に関するすべては、Spotifyのドキュメントから取得する必要があります。

「いいね!」 1

ListenBrainz についてはご存知かと思いますが、このプラグインを作成されたとのことですので、last.fm とどのように連携するのでしょうか?個人的にはどちらも使用したことはありませんが、このプラグインの機能は素晴らしいと思います。しかし、私のユーザーのほとんど(あるいは全くいないかもしれませんが)は ListenBrainz を使用しておらず、すでに last.fm を使用しているユーザーは複数います。調べたところ、lastfm から ListenBrainz へのインポートは可能ですが、lastfm が Spotify などに連携するようなアクティブな接続ではないと推測しています(これは ListenBrainz が行っていることと同じだと推測していますか?)。

基本的に、ユーザーが ListenBrainz に登録し、このプラグインをインストールした場合、Spotify(または他のサービス)→ lastfm → ListenBrainz のように連携させることが可能かどうか、そしてこのプラグインが機能するかどうかをご存知でしょうか? lastfm のデータをインポートできるだけで、アクティブに監視しているわけではないように思えるので、おそらく不可能だと思います。

はい、それです。インポートを繰り返すことができ、新しいデータのみがインポートされます。しかし、これはlast.fmからListenBrainzへの移行を目的としたものであり、継続的な同期を目的としたものではありません。

ListenBrainzはSpotifyと直接接続でき、そこからすべてのリスニングを記録できます。

それ以外にも、このプラグインはユーザーが実際にLBを使用している場合に最も意味があります。

last.fmや、上記で提案されたSpotifyと同様のものがあると非常に興味深いでしょう。様々な理由で、私はこれに労力を費やすことに興味はありませんが、興味のある方は誰でも私のプラグインをそのようなプラグインの基盤として利用することを歓迎します。

はい、そうだと思います。私は開発者ではありませんが、複数のListenBrainzインテグレーションを行い、自身でも非常に積極的に使用しています。また、MusicBrainz関連のプロジェクト、主にMusicBrainz Picardにも多かれ少なかれ関わってきました。