Ouça oBrainz

|||
-|-|-|
:information_source: | Resumo | Plugin do Discourse para mostrar as audições do ListenBrainz de um usuário em seu perfil
:hammer_and_wrench: | Link do Repositório | \u003chttps://git.sr.ht/~phw/discourse-listenbrainz\u003e
:open_book: | Guia de Instalação | Como instalar plugins no Discourse


Funcionalidades

Este plugin do Discourse permite que os usuários exibam suas audições recentes do ListenBrainz em seu perfil de usuário. Os usuários podem optar por mostrar sua audição mais recente ou estatísticas gerais sobre seu perfil do ListenBrainz.

O ListenBrainz é um serviço online para acompanhar as músicas que você ouve e fornece insights sobre seus hábitos de audição e recomendações. O projeto é totalmente de código aberto e publica todos os dados como dados abertos.

Este plugin está atualmente em uso nos fóruns da comunidade MusicBrainz, mas pode ser interessante para outras comunidades relacionadas à música também.

Configuração

Configurações do Administrador

Você pode configurar o plugin ListenBrainz na interface de administração do Discourse. As seguintes opções estão disponíveis:

  • listenbrainz enable: Permite que os usuários mostrem seu status do ListenBrainz em seus perfis. Padrão: habilitado.

  • listenbrainz username matches discourse: Habilite isso se os nomes de usuário dos usuários do Discourse geralmente corresponderem aos seus nomes de usuário do ListenBrainz. Os usuários ainda podem configurar um nome de usuário ListenBrainz diferente, mas ele será preenchido com o nome de usuário do Discourse. Esta opção destina-se principalmente a ser usada nos fóruns da comunidade MetaBrainz. Padrão: desabilitado.

  • listenbrainz poster icon: Permite que os usuários mostrem um link para seu perfil do ListenBrainz ao lado de seu nome de usuário em cada postagem. Padrão: habilitado.

  • listenbrainz_onebox_enabled: Habilita o suporte a Onebox para URLs de páginas de perfil do ListenBrainz. Padrão: habilitado.

  • listenbrainz_onebox_range: Intervalo de tempo de estatísticas para Oneboxes do ListenBrainz. Padrão: Este mês.

Preferências do Usuário

Cada usuário permanece no controle se sua atividade do ListenBrainz será exibida em seu perfil. Os usuários podem configurar isso em suas preferências de perfil. As seguintes preferências estão disponíveis.

  • Show ListenBrainz information in my user profile: Quando habilitado, uma caixa de informações com detalhes do perfil do ListenBrainz do usuário será exibida no cartão de usuário e no perfil do usuário. O conteúdo da caixa de informações pode ser configurado com as opções abaixo. Padrão: desabilitado.

  • ListenBrainz username: O nome de usuário do ListenBrainz do usuário. Deve ser definido para que os detalhes do ListenBrainz apareçam para o usuário. Se listenbrainz username matches discourse estiver habilitado para o site, isso será preenchido com o nome de usuário do Discourse, caso contrário, o padrão é vazio.

  • Show a link to my ListenBrainz profile next to my Discourse username: Quando habilitado, um link para o perfil do ListenBrainz do usuário é exibido ao lado de seu nome de usuário em cada postagem. Esta opção só está disponível se o site tiver listenbrainz poster icon habilitado. Padrão: desabilitado.

  • Display: Configura o conteúdo exibido na caixa de informações do ListenBrainz. As seguintes opções estão disponíveis:

    • Most recent listen: Mostra a faixa que o usuário está ouvindo no momento ou a faixa tocada mais recentemente.

    • User profile statistics: Mostra estatísticas gerais para o perfil do ListenBrainz do usuário, como contagem de audições, faixa mais tocada e arte da capa dos lançamentos mais tocados.

    • Most recent listen with fallback to user profile statistics: Tenta mostrar a audição recente, mas se nenhuma estiver disponível, recorre à exibição das estatísticas do perfil do usuário. Esta é a configuração padrão.

  • Time range: Seleciona o intervalo de tempo para o qual as estatísticas do perfil do usuário são geradas. Padrão: Este mês.

  • Fallback to larger time range if there are no listens in the selected range: Se habilitado, a visualização de estatísticas do perfil recorrerá automaticamente a um intervalo de tempo maior se você não tiver audições no intervalo de tempo selecionado. Por exemplo, se você selecionou “Esta semana”, mas não tem audições registradas na semana atual, as estatísticas voltarão para mostrar “Este mês”. Padrão: habilitado.

  • Show recent listen not older than: Não mostra a última faixa tocada do usuário se ela for mais antiga que o tempo especificado. Padrão: 24 horas.

TODO

Por favor, consulte o rastreador de issues oficial para issues abertas e funcionalidades planejadas.

7 curtidas

existe algo semelhante que aparece no Spotify?

Pelo que sei, não. Se alguém quiser fazer isso, o ListenBrainz pode servir de base para construir.

É muito difícil de fazer? Será que consigo?

Desculpe, perdi sua pergunta aqui. Quão difícil isso será depende de quanta experiência você tem no desenvolvimento de aplicações web e, mais especificamente, se você tem alguma experiência com os frameworks Ember.js e Ruby on Rails. Pessoalmente, tenho uma experiência bastante ampla com desenvolvimento web, mas não tinha mais experiência com Ember.js. Então, essa foi muitas vezes a parte mais demorada ao desenvolver o plugin, pois tive que descobrir como fazer as coisas que queria fazer nesse framework.

De qualquer forma, o primeiro passo seria configurar um discourse local para desenvolvimento e tentar fazer o plugin LB funcionar lá. Anotei minhas notas pessoais sobre o que fazer em https://git.sr.ht/~phw/discourse-listenbrainz/tree/develop/item/CONTRIBUTE.md (mas é muito breve). Uma vez que isso esteja funcionando, você pode começar a experimentar o que acontece quando você mexe em partes do código.

Mas, dito tudo isso, eu pessoalmente não tenho nenhum interesse em fazer a coisa do Spotify. Se você quiser encarar isso e tiver algumas perguntas sobre como meu plugin é estruturado e funciona, posso ajudar, mas tudo relacionado à API do Spotify e como usá-la você precisará obter da documentação do Spotify.

1 curtida

Eu imagino que você tenha alguma experiência com o ListenBrainz, já que você fez isso, lol, como ele funciona com o last.fm? Pessoalmente, nunca usei nenhum dos dois, mas acho a funcionalidade deste plugin interessante, no entanto, parece que a maioria dos meus usuários (ou possivelmente nenhum) usa o ListenBrainz, mas vários já usam o last.fm. Eu dei uma olhada e vi que você pode importar do lastfm para o ListenBrainz, mas estou assumindo que esta não é uma conexão ativa como o lastfm se conecta ao Spotify. etc (que eu presumo que seja a mesma coisa que o ListenBrainz faz?).

Basicamente, você sabe se eles se inscreveram no ListenBrainz e eu instalei este plugin, se é possível encadear Spotify (ou o que quer que seja) > lastfm > ListenBrainz, e assim este plugin funcionaria? Eu presumo que não, pois parece mais que você pode importar seus dados do lastfm, mas ele não está monitorando ativamente.

Sim, isso. Você pode repetir a importação e ele importará apenas novos dados. Mas isso é mais para migrar do last.fm para o ListenBrainz e não para sincronização contínua.

O ListenBrainz pode ser conectado diretamente ao Spotify, e registrará todas as audições de lá.

Além disso, este plugin, é claro, faz mais sentido quando os usuários realmente usam o LB.

Poderia ser bastante interessante ter algo semelhante para o last.fm ou, como sugerido acima, para o Spotify. Por várias razões, eu mesmo não tenho interesse em dedicar trabalho a isso, mas convido a todos que estiverem interessados a usar meu plugin como base para tal plugin.

Imagino que sim. Não sou um dos desenvolvedores, mas fiz várias integrações com o ListenBrainz e também o uso ativamente. Além disso, trabalhei de uma forma ou de outra em vários projetos relacionados ao MusicBrainz, principalmente no MusicBrainz Picard.