Uso quase exclusivamente Ubuntu, e vinha usando o Exaile como tocador de músicas, mas o projeto ainda não está no nível que eu gostaria. Resolvi parar no RhythmBox, que é o tocador nativo para ambientes GNOME. Experimentei alguns outros antes, como o Listen, GMusicBrowser e Amarok (que gostei mais, mas como precisa do KDE para rodar, não uso). Sempre havia um recurso que gostaria de usar mas não estava disponível. Um dia desses pensei: por que eu mesmo não adiciono as funcionalidades que desejo a um programa? E tenho feito isso mesmo!
Senti a falta de atualizar meu status do Pidgin automaticamente, usando as informações da música atual. O que fiz? Escrevi meu plugin para fazer o serviço, oras! Não é algo muito complexo, mas é um início. Escrevi em Python, e usei DBus, além das ligações do RhythmBox com Python, claro. Tive que caçar um bocado de detalhes a respeito do RhythmBox e do Pidgin, para entender como mandar informações de um lado para outro. No fim, não é algo realmente complicado, mas precisa entender o básico do DBus.
Para quem quiser se aventurar, vão alguns links:
- Como escrever plugins para o RhythmBox;
- DBus no Pidgin;
- Tutorial do DBus para Python;
- Especificação do DBus;
Bem, tudo bem se mesmo eu fazendo exigências não conseguir fazer nada do que está descrito nesse post?
ResponderExcluirBjocas!
Olá Alê,
ResponderExcluirEu tb estava procurando essa funcionalidade há algum tempo...
Muito bom o plugin, funfou bem no meu notebook... Tá de parabéns!!!
bjos
Olá amigo!!!
ResponderExcluirEu estou tentando usar o seu plugin no mandriva, mas não estou conseguindo, em casa eu uso Ubuntu, mas aqui no serviço estou usando mandriva, fiquei interessado
no seu plugin e gostaria de usar.
Eu não sei muito sobre Phyton, mas ele emite o seguinte erro:
Traceback (most recent call last):
File "/usr/lib/rhythmbox/plugins/imstatus/imstatus.py", line 44, in activate
title, album, artist, year = self.get_current_track_info (player)
File "/usr/lib/rhythmbox/plugins/imstatus/imstatus.py", line 113, in get_current_track_info
title = db.entry_get (entry, rhythmdb.PROP_TITLE)
TypeError: entry should be a RhythmDBEntry, is a void
Olá, Renato!
ResponderExcluirEu testei o plugin com as versões do Ubuntu (0.11.2 e 0.11.5) e deram sempre certo... você pode dizer qual a versão do RhythmBox que está instalada no seu Mandriva?
Olá Alexandre,
ResponderExcluirestou utilizando a versão 0.11.5. Mas senão tiver como, fico sem utilizar no mandriva e só utilizo em casa.
Obrigado!!!
Olá, Renato.
ResponderExcluirNão sei como te ajudar no Mandriva... achei que não deveria ter problema caso a versão do RhythmBox estivesse certa. Pelo que testei aqui, essa mensagem acontece no caso de tentar ativar o plugin sem nenhuma música tocando.
Por curiosidade, como você obteve essa mensagem de erro?
Sugiro que você teste os comandos a seguir no console Python do RB (é só ativar o plugin) com uma música tocando, para verificar de onde saiu esse erro.
player = shell.get_player ()
entry = player.get_playing_entry ()
db = player.props.db
title = db.entry_get (entry, rhythmdb.PROP_TITLE)
De qualquer forma, preciso corrigir esse erro. Obrigado!
Olá Alexandre!!!
ResponderExcluirEu postei a um tempo que o seu plugin não funcionava no Mandriva, mas com o passar do tempo ele passou a funcionar tranquilo!! Não sei o porque, mas é só para deixar avisado. Gostaria de agradecer a sua atenção!!!.
Muito bom!!! Parabéns e valeu!!!
ResponderExcluirO link está quebrado
ResponderExcluirObrigado pela informação, Carl! O link já está corrigido; tente este aqui: imstatus-0.1.tar.gz
ResponderExcluir