Audacious X-Chat Plugin
Publicado por Iuri Suzano 16/07/2009
[ Hits: 6.346 ]
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; }
Verificação se utilizador existe ou não
Diminuir ou aumentar o brilho de notebook
Índice (Logaritmo Discreto) em Perl
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)