X-Git-Url: http://git.ieval.ro/?p=app-xmms2-notifier.git;a=blobdiff_plain;f=lib%2FApp%2FXMMS2%2FNotifier.pm;h=3ce6645126aa158621a51fca498506476e8dd579;hp=d04b638abc192b126291b5df501a1bffae6a7395;hb=ca539a7a1fefec686939946f4c81c9769a15430b;hpb=f3286fcdcb8b72114af37942582795b08dbc0a74 diff --git a/lib/App/XMMS2/Notifier.pm b/lib/App/XMMS2/Notifier.pm index d04b638..3ce6645 100644 --- a/lib/App/XMMS2/Notifier.pm +++ b/lib/App/XMMS2/Notifier.pm @@ -7,18 +7,11 @@ our $VERSION = 0.001001; use Audio::XMMSClient 0.03; use Gtk2::Notify 0.05 -init,'xmms2-notifyd'; -use Getopt::Long; - use constant CONVERSION_SPECIFIERS => qw/bitrate date sample_format url id channels samplerate tracknr genre artist album title/; ################################################## -my $format = '$artist - $title'; - -GetOptions ( - "format=s" => \$format, -); - +my $format; my $xmms = Audio::XMMSClient->new('xmms2-notifyd'); my $notify = Gtk2::Notify->new(''); @@ -32,8 +25,11 @@ sub notify_libnotify{ } sub notify{ - my $id=$xmms->playback_current_id->wait->value or return; - my $minfo=$xmms->medialib_get_info($id)->wait->value; + my ($id, $minfo); + eval { + $id=$xmms->playback_current_id->wait->value or return; + $minfo=$xmms->medialib_get_info($id)->wait->value; + } or return; my %metadata = map { $_ => exists $minfo->{$_} ? (values $minfo->{$_})[0] : undef } CONVERSION_SPECIFIERS; my $str=$format; @@ -53,6 +49,7 @@ sub on_playback_status { } sub run { + $format = $_[0]; while (1) { last if ($xmms->connect); sleep 1