randmusic.pl
Publicado por zé ricardo 22/02/2005
[ Hits: 4.227 ]
É um script derivado do randomp3. A diferença é que ele toca ogg's e wma's tb. Eu já estava com a idéia de fazer um script para isso, como vi que já tinham feito, achei que podia dar uma melhoradinha, tá ae! :) Falta achar um jeito para fechá-lo com ctrl+c e ainda dar a opção de pular a música. Nenhum dos dois scripts faz isso. :(
#!/usr/bin/perl -w
# Script derivado do randomMp3: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=22
# Este toca ogg's e wma's , é necessário ter o ogg123 e o mplayer instalados
# Autor: Zé Ricardo (zehzinho@gmail.com)
use Cwd;
use strict;
use warnings;
my $diretorio = "";
if ($#ARGV != 0)
{
$diretorio = getcwd;
}
else
{
$diretorio = shift;
}
my @arquivos = ();
my %lista = ();
my $menor = 1;
if (!-d $diretorio)
{
print "Diretório maluco ?\n";
exit;
}
chdir $diretorio;
opendir(D,$diretorio);
my @mp3 = grep /\.mp3$/i, readdir(D);
rewinddir D;
my @ogg = grep /\.ogg$/i, readdir (D);
rewinddir D;
my @wma = grep /\.wma$/i, readdir (D);
@arquivos = (@mp3, @ogg, @wma);
# limpando...
@mp3 = ();
@ogg = ();
@wma = ();
closedir(D);
if (!"@arquivos")
{
print "Cadê as músicas deste diretório ?\n";
exit;
}
foreach my $arquivo (@arquivos)
{
if (!defined($lista{$arquivo}))
{
$lista{$arquivo} = 1;
}
}
sub round
{
my $x = shift;
$x = sprintf "%.0f",$x;
return $x;
}
do
{
my $rotates = 0;
do
{
my $indice = round(rand($#arquivos));
if ($lista{$arquivos[$indice]} <= $menor)
{
$lista{$arquivos[$indice]}++;
print "Reproduzindo música: $arquivos[$indice] ...\n";
if ($arquivos[$indice] =~ /.mp3$/i)
{
exec("mpg321 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || system("mpg123 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de maneira inesperada\n";
}
elsif ($arquivos[$indice] =~ /.ogg$/i)
{
exec("ogg123 '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de modo inesperado\n";
}
else # eh .wma
{
exec("mplayer '$arquivos[$indice]' 1>>/dev/null 2>>/dev/null") || die "O programa terminou de modo inesperado\n";
}
}
$rotates++;
} while ($rotates <= $#arquivos);
$menor++;
} while(1);
Wallpapers aleatórios no Fluxbox
Nenhum comentário foi encontrado.
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalando SVP4 e MPV (VapourSynth) no Gentoo
Migração do KDE Plasma para Cinnamon no Gentoo (com systemd) + Tema Colloid
Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Um filme, uma banda, um jogo, um livro, um anime (ou mangá) (5)
como deixo uma inferface grafica abrir automaticamente [RESOLVIDO] (9)









