Flyrics
jul 6th, 2008 by Fernando Scherrer
Flyrics é um "projeto" que comecei há alguns dias desenvolvi já há algum tempo, trata-se de um pequeno script de lyrics para o player Amarok, escrito em (sim, juro) shell script.
Obs.: página ainda em desenvolvimento.
Última atualização: 26/08/2009 - disponibilizado release 0.1.0
- O que é
- Considerações Iniciais
- Origem do nome
- Licença
- Download
- Instalação/Atualização
- Bugs
- Considerações Finais
- Agradecimentos
- Continua
- Histórico
O que é
Flyrics é um pequeno script de lyrics (letras de música) para o player Amarok, escrito em shell script.
A busca pela lyric é realizada no site de letras do Terra, o Letras.mus.br (ou letras.terra.com.br).
Considerações Iniciais
Testado apenas com a versão 1.4 do Amarok (1.4.9.1).
Não sei se houve/haverão alterações para o 2, as "especificações" do Script-Writing HowTo - Amarok Wiki continuam inalteradas. Acredito que não haverão mudanças grandes o suficiente para ter que jogar o script fora e começar do zero.
Para o Amarok 2 o esquema de scripts foi alterado, ainda não parei pra tentar desenvolver pois continuo usando a série 1.4. Detalhes sobre novo esquema de script: Scripting HowTo 2.0.
Origem do nome
O nome inicial do script era JLyrics e, não, não era escrito em Java, o J era devido ao meu (até que não mais) apelido - John.
Há alguns Passados alguns dias resolvi definir um nome significativo para já poder ir amadurecendo o projeto, e, talvez, criar um projeto no SourceForge. Mandei um e-mail para o pessoal que têm me ajudado nos testes, e a sugestão mais votada foi, coincidentemente, com apenas um voto (só eu votei, obrigado Fernando :) é sempre bom saber que há pessoas nos apoiando), uma das minhas: Flyrics.
Flyrics significa Flyrics, tendo lyrics no nome, o que remete imediatamente à função do script. Fly então refere-se ao imperativo de voar, ou: vôe. Sim, nome inspirado na consagrada Eagle fly free do Helloween. Mas o principal do Fly é o sentido de liberdade, leveza e velocidade, remetendo ao software livre.
Licença
O script é open-source e está licenciado sob a GPL-2.
Caso faça alguma alteração no fonte que seja útil de forma global, favor me envie para que seja disponibilizada no próximo release.
Download
Inicialmente, o script só pode ser obtido a partir desta página mesmo.
Instruções para instalação e atualização na seção abaixo (Instalação/Atualização).
- flyrics-0.1.0.amarokscript.tar.bz2 (12K)
- - Alterado o approach de parse para usar um array, onde cada linha do HTML recebido é um elemento do array;
- - Alterados todos os caracteres especiais passados para o sed na função replace() pelos seus equivalentes em hex, como "\xe7" para "c cedil" (ç) (veja 'info sed' na seção Escapes para detalhes).
- flyrics-0.0.2.amarokscript.tar.bz2 (12K)
- - Resolvido problema com máquinas com LANG .UTF-8;
- - Tratamento adicional para "&" (como em Demons & Wizards) para o artista e título que são passados na URL de busca;
- - Adicionada informação sobre a versão na janela de "configurações" (não tem configurações);
- - Implementado fetchLyricByUrl para obter a letra a partir de um clique num link de sugestão;
- - Implementado esquema de sugestões para letras não encontradas mas que apresentam "Resultados prováveis";
- - Agora o título e o artista exibidos (no contextbrowser) são os obtidos a partir do resultado da pesquisa.
- flyrics-0.0.1.amarokscript.tar.bz2 (12K)
- - Release inicial.
Instalação/Atualização
Instalação: acessar no Amarok: Tools > Script Manager > Install Script e selecionar o script (flyrics-VERSAO.amarokscript.tar.bz2).
Atualização: acessar no Amarok: Tools > Script Manager, selecionar o Flyrics e clicar em Uninstall. Seguir os passos descritos acima (Instalação).
Bugs
Resolvido no release 0.0.2:
Um amigo relatou problema ao utilizá-lo no Mandriva 2008 Spring, após alguns testes concluíu-se que o problema ocorre quando se está usando charset UTF-8 (independente da distribuição) e a letra obtida contém acentuação e coisas do tipo, o sed finaliza o "casamento" da regex quando se depara com um elemento destes. A solução está sendo estudada.
Se o script contiver um simples:
echo "ação" | sed "s/.*/-/g" >> /tmp/saida
Ao observar /tmp/saida (apenas quando utilizando UTF-8 ao invés de ISO-8859-1 [ainda não testado com outros charsets) veremos:
$ cat /tmp/saida -ç-ã-
A idéia por ora é simplesmente tratar todos os caracteres "especiais" antes de passar pro sed. Ah, o problema ocorre, lógico, quando um ç, por exemplo, vem exatamente assim, não como ç.
Considerações Finais
Críticas, sugestões, elogios, dúvidas, opniões, correções - incluindo de gramática - e demais comentários são bem-vindos. Para tal favor utilizar o espaço para comentários abaixo.
Agradecimentos
Pessoal que tem me ajudado nos testes: João Eduardo Rocha, Daniel Pereira Ferreira e Christian Hartung.
Continua
Mais detalhes, incluindo informações técnicas, em breve.
Histórico
- - 26/08/2009: riscados alguns trechos de texto (obsoletos, que não fazem mais sentido) e disponibilizado o release 0.1.0;
- - 17/08/2008: riscado bug resolvido da seção Bugs, disponibilizado release 0.0.2 e criada esta seção Histórico.
Update na página: Incluída seção Bugs.
Update na página: Incluída seção Histórico, assim deixo de postar comentários apenas para anotar as atualizações da página.
[...] Flyrics [...]