Leitor de música sem GUI com biblioteca de atualização automática

6

Cheguei ao ponto em que quero escrever meu próprio music player (ele é para todos nós). No entanto, todas as coisas que quero fazer são baseadas na interface do usuário; seria tolice ter que reimplementar o gerenciamento de uma biblioteca, ler tags ID3, criar listas de reprodução e assim por diante. Portanto, o que estou procurando é um player de música que não apresente uma interface do usuário (ou possa ter essa interface do usuário oculta) para que eu possa implementar minha própria interface de usuário totalmente personalizada sem ter que construir toda a infraestrutura também. Esse tocador de música "subjacente" pode ser uma interface curses com um protocolo de soquete de controle remoto; pode ser uma biblioteca com ligações em Python; pode ser um aplicativo Gtk que tenha uma opção para não apresentar sua GUI e possa ser controlado pelo D-Bus ... não sei.

Coisas que eu quero que esse "back-end" seja inegociável:

  1. Seja controlável remotamente a partir de um programa em Python. (Como mencionado, estou aberto a muitos métodos de controle remoto; um soquete, D-Bus, uma ferramenta CLI, o que for)
  2. manter uma biblioteca de música - ou seja, escanear minha música em busca de metadados e poder endereçar música por meio desses metadados (assim eu posso procurar por "beatles" e encontrar faixas, não apenas aquelas que combinam com o nome do arquivo)
  3. monitora uma pasta para alterações e carrega essas alterações (novos arquivos, arquivos alterados, arquivos excluídos) na biblioteca sem precisar ser instruído a fazê-lo
  4. deixe-me fornecer minha própria GUI (daí a necessidade de controle remoto)

Coisas que realmente gosto muito, mas que não são estritamente necessárias:

  1. Integração do menu de som do Ubuntu
  2. Seja empacotado para o Ubuntu já e no Centro de Software

Eu olhei algumas alternativas e as rejeitei, mas posso estar errado: se eu estiver errado sobre qualquer uma delas, por favor corrija-me.

  • cmus: não é possível monitorar a biblioteca em busca de alterações (precisa ser estimulado com o comando update). Além disso, o controle remoto AFAICT é principalmente para fazer a interface curses fazer as coisas; é difícil usar o controle remoto para dizer "me dê uma lista de todas as músicas que combinam com 'beatles'"
  • mpd (e algum cliente): não é possível monitorar a biblioteca em busca de alterações (precisa ser estimulado com o comando "update")
  • moc: não é possível monitorar a biblioteca em busca de alterações
  • banshee (e back-end do banshee, Nereid (?)): pelo que sei, não pode ser controlado por um programa em Python: eu precisaria escrever meu novo front-end em C #
  • rhythmbox, guayadeque, audacioso, quodlibet, clementine, ruído, beatbox, deadbeef, gmusicbrowser, xnoise: não é possível desativar a GUI e substituí-la por minha própria

Por isso, estou procurando explicações de como fazer o que eu quero com o acima, ou sugestões de ferramentas alternativas que eu poderia usar em vez dessas!

    
por sil 04.06.2012 / 21:48

1 resposta

5

XMMS2 < img src="https://hostmar.co/software-small">

Este player de linha de comando é um desenvolvimento adicional do XMMS. Ele vem com muitos recursos, como:

  
  • reproduza sua música.
  •   
  • gerencie sua biblioteca de músicas
  •   
  • use coleções para ajudar você a organizar suas músicas da maneira que quiser
  •   
  • permite que você o controle usando uma variedade de clientes.
    do Wiki do XMMS2
  •   

Também há muitas informações sobre como desenvolver um cliente para o XMMS2 .

Outra fonte de informações sobre como as coisas podem ser feitas em Python é o projeto Exaile .

    
por Takkat 04.06.2012 / 22:41