Randomize MP3
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 4.896 ]
Homepage: https://fabio.automatizando.dev
Script escrito em PERL usado para reproduzir arquivos MP3 de um diretório de formarandômica. Este script, ao contrário do xmms e do mpg123, tem sua lógica de randomização eficiente, não repetindo uma música antes que todas as outras sejam previamente reproduzidas.
#!/usr/bin/perl
if ($#ARGV != 0) {
print "Qual diretório ?\n";
exit;
}
use strict;
my $diretorio = shift;
my @arquivos = ();
my %lista = ();
my $menor = 1;
if (!-d $diretorio) {
print "Diretório maluco ?\n";
exit;
}
chdir $diretorio;
opendir(D,$diretorio);
@arquivos = grep /\.mp3$/i, readdir(D);
closedir(D);
if (!"@arquivos") {
print "Cadê os MP3 deste diretório ?\n";
exit;
}
print "Termine o programa com 'kill -HUP $$' ...\n";
foreach my $arquivo (@arquivos) {
if (!defined($lista{$arquivo})) {
$lista{$arquivo} = 1;
}
}
sub round {
my $x = shift;
$x = sprintf "%.0f",$x;
return $x;
}
do {
# SHUFFLE MODE
my $rotates = 0;
do {
my $indice = round(rand($#arquivos));
if ($lista{$arquivos[$indice]} <= $menor) {
$lista{$arquivos[$indice]}++;
print "Reproduzindo música: $arquivos[$indice] ...\n";
system("mpg123 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null");
$rotates++;
}
} while ($rotates <= $#arquivos);
$menor++;
} while(1);
Verificação se utilizador existe ou não
Testando a agilidade do sistema de arquivos
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Anúncio do meu script de Pós-Instalação do Ubuntu
Instalar Webmin no Redhat e derivados
Ativar a interface de administração cockpit
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (3)
Alguém já testou o novo COSMIC Desktop? O que achou? (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (2)









