Audacious X-Chat Plugin
Publicado por Iuri Suzano 16/07/2009
[ Hits: 6.268 ]
Plugin para o x-chat que anuncia/controla as músicas que você ouve no audacious... nada de tãão especial, mas agrada a alguns.
#!/usr/bin/perl -w # # Audacious X-Chat Plugin 0.1 # Copyright (C) 2009 - m4ntUs <iuri@m4ntus.com> # # Baseado no Audacious XChat Announcer 0.1 por Milad Rastian, # que por sua vez foi baseado no Rhythmbox XChat Announcer por Tim Denholm # # Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob # os termos da Licença Pública Geral GNU, conforme publicada pela Free Software # Foundation; tanto a versão 2 da Licença como (a seu critério) qualquer versão # mais atual. # # Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER # GARANTIA; incluindo as garantias implícitas de COMERCIALIZAÇÃO ou de ADEQUAÇÃO # A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para # obter mais detalhes. use POSIX qw(strftime); $axp_nome = "Audacious X-Chat Plugin"; $axp_versao = "0.1"; IRC::register($axp_nome,$axp_versao,""); IRC::print("Carregado, {FONTE}02".$axp_nome."{FONTE}02 {FONTE}02v".$axp_versao."{FONTE}02 com sucesso!"); IRC::print("Use: {FONTE}02/axp_ajuda{FONTE}02 para listar os comandos existentes."); # Define os atalhos para os comandos do plugin my @apx_atalhos = ( "axp_anuncia", "axp_termina", "axp_equa_on", "axp_equa_off", "axp_equa_info", "axp_limpa", "axp_aud_sobre", "axp_toca", "axp_pausa", "axp_tocapausa", "axp_pula", "axp_volta", "axp_ajuda" ); # Registrando os atalhos foreach (@apx_atalhos) { IRC::add_command_handler("$_","$_"); } sub axp_anuncia { # Verifica pelo nome se este processo está rodando # Caso verdadeiro, continua... if (`ps -C audacious` =~ /audacious/) { # Pega informações da música em andamento $axp_mus_atual = `audtool --current-song`; # Anuncio da música que será enviado, mude caso queira IRC::command("/me is listening to: ".$axp_mus_atual); } else { # Caso não esteja rodando, retorna mensagem IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_termina { if (`ps -C audacious` =~ /audacious/) { # Fecha o Audacious eval `audtool --shutdown`; IRC::command("/echo O Audacious foi finalizado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_equa_on { if (`ps -C audacious` =~ /audacious/) { # Ativa o equalizador eval `audtool --equalizer-activate on`; IRC::command("/echo O Equalizador foi ativado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_equa_off { if (`ps -C audacious` =~ /audacious/) { # Ativa o equalizador eval `audtool --equalizer-activate off`; IRC::command("/echo O Equalizador foi desativado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_equa_info { if (`ps -C audacious` =~ /audacious/) { $axp_equa_infu = `audtool --equalizer-get`; # Retorna as informações do equalizador IRC::command("/echo ".$axp_equa_infu); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_limpa { if (`ps -C audacious` =~ /audacious/) { # Limpa a playlist eval `audtool --playlist-clear`; IRC::command("/echo Sua playlist foi zerada."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_aud_sobre { if (`ps -C audacious` =~ /audacious/) { # Mostra janela sobre do Audacious eval `audtool --about-show`; } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_toca { if (`ps -C audacious` =~ /audacious/) { # Inicia playback eval `audtool --playback-play`; IRC::command("/echo Playback iniciado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_pausa { if (`ps -C audacious` =~ /audacious/) { # Pausa playback eval `audtool --playback-pause`; IRC::command("/echo Playback pausado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_tocapausa { if (`ps -C audacious` =~ /audacious/) { # Pausa/toca playback eval `audtool --playback-playpause`; IRC::command("/echo Playback tocando/pausado."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_pula { if (`ps -C audacious` =~ /audacious/) { # Avança uma música eval `audtool --playlist-advance`; IRC::command("/echo Música avançada."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_volta { if (`ps -C audacious` =~ /audacious/) { # Volta uma música eval `audtool --playlist-reverse`; IRC::command("/echo Música alterada para a anterior."); } else { IRC::command("/echo O Audacious não se encontra aberto."); } return 1; } sub axp_ajuda { # Lista os comandos disponíveis e sua respectivas funções IRC::print("{FONTE}02{FONTE}37".$axp_nome." Ajuda:{FONTE}37{FONTE}02"); IRC::print(" {FONTE}02Sobre:{FONTE}02"); IRC::print(" * Autor: m4ntUs <iuri\@m4ntus.com>"); IRC::print(" * URL: http://m4ntus.com/"); IRC::print(" {FONTE}02Comandos:{FONTE}02"); IRC::print(" * /axp_anuncia - Anuncia música atual para um canal."); IRC::print(" * /axp_toca - Inicia playback."); IRC::print(" * /axp_pausa - Pausa playback."); IRC::print(" * /axp_tocapausa - Toca/pausa playback."); IRC::print(" * /axp_pula - Avança uma música."); IRC::print(" * /axp_volta - Volta uma música."); IRC::print(" * /axp_equa_on - Ativa o equalizador."); IRC::print(" * /axp_equa_off - Desativa o equalizador."); IRC::print(" * /axp_equa_info - Retorna informações do equalizador."); IRC::print(" * /axp_limpa - Limpa a playlist."); IRC::print(" * /axp_aud_sobre - Janela de informações do Audacious."); IRC::print(" * /axp_termina - Finaliza o Audacious."); IRC::print(" * /axp_ajuda - Advinha! :)"); return 1; }
Índice (Logaritmo Discreto) em Perl
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Quero saber sobre os melhores aplicativos de office para usar em 2024 ... (3)
Queria saber se existe alguma forma de desistalar programa no ubuntu s... (3)
Toda vez que tento atualizar o clamav me deparo com erros ao atualizar... (0)