Un inutile progetto software

Joe Oblivian lavagetto@gmail.com
Lun 2 Ott 2006 13:28:28 CEST


Coem da oggetto, io amo poter comunicare al mondo dei chattatori cio'
che sto ascoltando in quel momento.

Dato che uso xmms e rhythmbox mi sono concentrato su questi due lettori.
Lo scriptino che ho fatto e' molto banale, e pieno di difetti.

Ad esempio andrebbe esteso ai file non .mp3, ai radio streams etc etc e
bisognerebbe creare una struttura modulare per l'output (pe rora e' uno
stupido print).

Ah ovviamente e' scritto in perl. Dato che lavorandoci con takli sono
venute fuori un paio di soluzioni graziose di perl ho pensato di
postarlo qua. Sono benvenuti commenti/patch/richieste di spiegazione sul
codice.

Ovviamente il codice e' di pubblico dominio, fateci quel cazzo che
volete!

Per sintassi ed uso dei moduli che ho incluso vi rimando ai rispettivi
POD.

Joe

#!/usr/bin/perl
use Net::DBus;
use URI::file;
use MP3::Tag;
my $filename;
@players=qw/xmms rhythmbox/;
foreach(@players) {&$_ if ( `lsof /usr/bin/$_` )} ;
my $mp3=MP3::Tag->new($filename);
($title, $track, $artist, $album, $comment, $year, $genre) =
$mp3->autoinfo();
print "$artist - $title";


sub xmms()
{
    open XMMSINFO, "< /tmp/xmms-info";
    while(<XMMSINFO>)
    {
	/^(File\:\ )(.*)$/ and chomp($filename=$2) and last;
    };
}
sub rhythmbox()
{
    my $bus = Net::DBus->session;
    my $rhythmbox = $bus->get_service("org.gnome.Rhythmbox");
    my $player = $rhythmbox->
get_object("/org/gnome/Rhythmbox/Player","org.gnome.Rhythmbox.Player");
    my $play = $player->getPlayingUri;
    $filename=URI->new($play)->file("unix");
}




Maggiori informazioni sulla lista palermo