Randomize MP3
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 4.829 ]
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);
Wallpapers aleatórios no Fluxbox
Diminuir ou aumentar o brilho de notebook
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)









