HörenBrainz

|||
-|-|-|
:information_source: | Zusammenfassung | Discourse-Plugin zur Anzeige der ListenBrainz-Hörgewohnheiten eines Benutzers in dessen Profil
:hammer_and_wrench: | Repository-Link | https://git.sr.ht/~phw/discourse-listenbrainz
:open_book: | Installationsanleitung | So installieren Sie Plugins in Discourse


Funktionen

Dieses Discourse-Plugin ermöglicht es Benutzern, ihre aktuellen Hörgewohnheiten von ListenBrainz in ihrem Benutzerprofil anzuzeigen. Die Benutzer können wählen, ob sie ihren zuletzt gehörten Titel oder allgemeine Statistiken ihres ListenBrainz-Profils anzeigen möchten.

ListenBrainz ist ein Online-Dienst, der verfolgt, welche Musik Sie hören, und Ihnen Einblicke in Ihre Hörgewohnheiten und Empfehlungen gibt. Das Projekt ist Open Source und veröffentlicht alle Daten als offene Daten.

Dieses Plugin wird derzeit in den Foren der MusicBrainz-Community verwendet, könnte aber auch für andere musikbezogene Communities interessant sein.

Konfiguration

Admin-Einstellungen

Sie können das ListenBrainz-Plugin in der Discourse-Admin-Oberfläche konfigurieren. Die folgenden Optionen sind verfügbar:

  • listenbrainz enable: Ermöglicht Benutzern, ihren ListenBrainz-Status in ihren Profilen anzuzeigen. Standard: aktiviert.

  • listenbrainz username matches discourse: Aktivieren Sie diese Option, wenn die Benutzernamen der Discourse-Benutzer normalerweise mit ihren ListenBrainz-Benutzernamen übereinstimmen. Die Benutzer können immer noch einen anderen ListenBrainz-Benutzernamen konfigurieren, aber er wird mit ihrem Discourse-Benutzernamen vorausgefüllt. Diese Option ist hauptsächlich für die MetaBrainz-Community-Foren gedacht. Standard: deaktiviert.

  • listenbrainz poster icon: Ermöglicht Benutzern, einen Link zu ihrem ListenBrainz-Profil neben ihrem Benutzernamen in jedem Beitrag anzuzeigen. Standard: aktiviert.

  • listenbrainz_onebox_enabled: Aktiviert die Onebox-Unterstützung für URLs zu ListenBrainz-Profilseiten. Standard: aktiviert.

  • listenbrainz_onebox_range: Statistikzeitraum für ListenBrainz-Oneboxen. Standard: Dieser Monat.

Benutzereinstellungen

Jeder Benutzer behält die Kontrolle darüber, ob seine ListenBrainz-Aktivität in seinem Profil angezeigt wird. Die Benutzer können dies in ihren Profileinstellungen konfigurieren. Die folgenden Einstellungen sind verfügbar.

  • ListenBrainz-Informationen in meinem Benutzerprofil anzeigen: Wenn aktiviert, wird eine Infobox mit Details zum ListenBrainz-Profil des Benutzers in der Benutzerkarte und im Benutzerprofil angezeigt. Der Inhalt der Infobox kann mit den unten stehenden Optionen konfiguriert werden. Standard: deaktiviert.

  • ListenBrainz-Benutzername: Der ListenBrainz-Benutzername des Benutzers. Muss festgelegt werden, damit die ListenBrainz-Details für den Benutzer angezeigt werden. Wenn listenbrainz username matches discourse für die Website aktiviert ist, wird hier standardmäßig der Discourse-Benutzername verwendet, andernfalls ist der Standard leer.

  • Link zu meinem ListenBrainz-Profil neben meinem Discourse-Benutzernamen anzeigen: Wenn aktiviert, wird ein Link zum ListenBrainz-Profil des Benutzers neben seinem Benutzernamen in jedem Beitrag angezeigt. Diese Option ist nur verfügbar, wenn die Website listenbrainz poster icon aktiviert hat. Standard: deaktiviert.

  • Anzeige: Konfiguriert den Inhalt, der in der ListenBrainz-Infobox angezeigt wird. Die folgenden Optionen sind verfügbar:

    • Zuletzt gehört: Zeigt den aktuell abgespielten Titel des Benutzers oder den zuletzt abgespielten Titel an.

    • Benutzerprofilstatistiken: Zeigt allgemeine Statistiken für das ListenBrainz-Profil des Benutzers an, wie z. B. die Anzahl der gehörten Titel, den meistgespielten Titel und das Coverbild der meistgespielten Veröffentlichungen.

    • Zuletzt gehört mit Fallback auf Benutzerprofilstatistiken: Versucht, den zuletzt gehörten Titel anzuzeigen, aber wenn keiner verfügbar ist, werden stattdessen die Benutzerprofilstatistiken angezeigt. Dies ist die Standardeinstellung.

  • Zeitraum: Wählt den Zeitraum aus, für den die Benutzerprofilstatistiken generiert werden. Standard: Dieser Monat.

  • Fallback auf größeren Zeitraum, wenn keine Hörgewohnheiten im ausgewählten Zeitraum vorhanden sind: Wenn aktiviert, greift die Anzeige der Profilstatistiken automatisch auf einen größeren Zeitraum zurück, wenn Sie im ausgewählten Zeitraum keine Hörgewohnheiten hatten. Wenn Sie z. B. “Diese Woche” ausgewählt haben, aber in der aktuellen Woche keine Hörgewohnheiten aufgezeichnet wurden, werden stattdessen die Statistiken für “Dieser Monat” angezeigt. Standard: aktiviert.

  • Zuletzt gehört nicht älter als: Zeigt den zuletzt abgespielten Titel des Benutzers nicht an, wenn er älter als die angegebene Zeit ist. Standard: 24 Stunden.

TODO

Bitte beachten Sie den offiziellen Issue-Tracker für offene Probleme und geplante Funktionen.

7 „Gefällt mir“

Gibt es etwas Ähnliches auf Spotify?

Soweit ich weiß nicht. Wenn jemand dies tun möchte, könnte ListenBrainz als Grundlage dienen, auf der aufgebaut werden kann.

Ist es zu schwierig? Ich frage mich, ob ich es schaffen kann?

Entschuldigung, ich habe Ihre Frage hier übersehen. Wie schwierig das sein wird, hängt davon ab, wie viel Erfahrung Sie mit der Entwicklung von Webanwendungen haben und insbesondere, ob Sie Erfahrung mit den Frameworks Ember.js und Ruby on Rails haben. Ich persönlich habe recht breite Erfahrung mit Webentwicklung, aber keine weitere Erfahrung mit Ember.js. Daher war dies oft der zeitaufwändigste Teil bei der Entwicklung des Plugins, da ich herausfinden musste, wie ich die Dinge tun kann, die ich in diesem Framework tun wollte.

Wie auch immer, der erste Schritt wäre, eine lokale Discourse-Instanz für die Entwicklung einzurichten und zu sehen, ob das LB-Plugin dort zum Laufen gebracht werden kann. Ich habe meine persönlichen Notizen dazu aufgeschrieben unter https://git.sr.ht/~phw/discourse-listenbrainz/tree/develop/item/CONTRIBUTE.md (aber sie sind sehr kurz). Sobald das funktioniert, könnten Sie anfangen zu experimentieren, was passiert, wenn Sie an Teilen des Codes herumspielen.

Aber all das gesagt, habe ich persönlich kein Interesse daran, die Spotify-Sache zu machen. Wenn Sie dies angehen möchten und Fragen dazu haben, wie mein Plugin strukturiert ist und funktioniert, kann ich Ihnen helfen, aber alles, was sich auf die Spotify-API und deren Verwendung bezieht, müssen Sie den Dokumenten von Spotify entnehmen.

1 „Gefällt mir“

Ich vermute, Sie haben Erfahrung mit ListenBrainz, da Sie das hier gemacht haben, lol. Wie funktioniert es mit last.fm? Ich persönlich habe weder noch benutzt, aber ich finde die Funktionalität dieses Plugins gut. Es klingt jedoch so, als ob die meisten meiner Benutzer (oder möglicherweise keine) ListenBrainz verwenden, aber mehrere bereits last.fm verwenden. Ich habe es mir angesehen und sehe, dass man von lastfm nach ListenBrainz importieren kann, aber ich gehe davon aus, dass dies keine aktive Verbindung ist, so wie lastfm mit Spotify verbunden ist. usw. (was ich vermute, dass ListenBrainz auch tut?).

Können Sie mir im Grunde sagen, ob sie sich für ListenBrainz angemeldet haben und ich dieses Plugin installiert habe, ob es möglich ist, Spotify (oder was auch immer) > lastfm > ListenBrainz zu verketten, und somit dieses Plugin funktionieren würde? Ich vermute nein, da es eher so aussieht, als ob man seine lastfm-Daten importieren kann, aber es nicht aktiv überwacht.

Ja, genau das. Man kann den Import wiederholen und es werden nur neue Daten importiert. Aber dies ist eher als Mittel zur Migration von last.fm zu ListenBrainz gedacht und nicht für eine kontinuierliche Synchronisierung.

ListenBrainz kann jedoch direkt mit Spotify verbunden werden und zeichnet alle Hörvorgänge von dort auf.

Abgesehen davon macht dieses Plugin natürlich am meisten Sinn, wenn Benutzer LB tatsächlich nutzen.

Es könnte durchaus interessant sein, etwas Ähnliches für last.fm oder, wie oben vorgeschlagen, für Spotify zu haben. Aus verschiedenen Gründen habe ich selbst kein Interesse daran, Arbeit in dieses Projekt zu stecken, aber ich lade jeden ein, der interessiert ist, mein Plugin als Grundlage für ein solches Plugin zu nehmen.

Das denke ich auch, ja. Ich gehöre nicht zu den Entwicklern, aber ich habe mehrere ListenBrainz-Integrationen durchgeführt und nutze es auch selbst sehr aktiv. Außerdem habe ich auf die eine oder andere Weise an mehreren MusicBrainz-bezogenen Projekten gearbeitet, hauptsächlich an MusicBrainz Picard.