Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Slackware 12.1
Por neutronbg
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Iuri em 16/07/2009    [ 3291 hits ]

Login: m4ntus, 3561 pontos

   


Descrição

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.

[ Download: axp.pl ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/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;
}

Scripts recomendados
   Script Linux recomendado Wallpapers aleatórios no Fluxbox
   Script Linux recomendado Calculadora com Perl com menos de 10 linhas de código
   Script Linux recomendado randmusic.pl
   Script Linux recomendado Login AUDIT
   Script Linux recomendado MyBF - Interpretador de BrainFuck

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.