projects
/
app-xmms2-notifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prevent crashes
[app-xmms2-notifier.git]
/
lib
/
App
/
XMMS2
/
Notifier.pm
diff --git
a/lib/App/XMMS2/Notifier.pm
b/lib/App/XMMS2/Notifier.pm
index b0a2f4458ee8a249b82599b5d3b6bab83dc21d52..3ce6645126aa158621a51fca498506476e8dd579 100644
(file)
--- a/
lib/App/XMMS2/Notifier.pm
+++ b/
lib/App/XMMS2/Notifier.pm
@@
-7,22
+7,11
@@
our $VERSION = 0.001001;
use Audio::XMMSClient 0.03;
use Gtk2::Notify 0.05 -init,'xmms2-notifyd';
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/;
##################################################
use constant CONVERSION_SPECIFIERS => qw/bitrate date sample_format url id channels samplerate tracknr genre artist album title/;
##################################################
-my $use_libnotify = 1;
-my $use_libpurple;
-my $format = '$artist - $title';
-
-GetOptions (
- "libnotify!" => \$use_libnotify,
- "libpurple!" => \$use_libpurple,
- "format=s" => \$format,
-);
-
+my $format;
my $xmms = Audio::XMMSClient->new('xmms2-notifyd');
my $notify = Gtk2::Notify->new('');
my $xmms = Audio::XMMSClient->new('xmms2-notifyd');
my $notify = Gtk2::Notify->new('');
@@
-36,15
+25,17
@@
sub notify_libnotify{
}
sub notify{
}
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;
$str =~ s/\$$_/$metadata{$_}/g for keys %metadata;
my %metadata = map { $_ => exists $minfo->{$_} ? (values $minfo->{$_})[0] : undef } CONVERSION_SPECIFIERS;
my $str=$format;
$str =~ s/\$$_/$metadata{$_}/g for keys %metadata;
- notify_libnotify $str if $use_libnotify;
- # notify_libpurple $str if $use_libpurple;
+ notify_libnotify $str
}
sub on_playback_current_id {
}
sub on_playback_current_id {
@@
-58,6
+49,7
@@
sub on_playback_status {
}
sub run {
}
sub run {
+ $format = $_[0];
while (1) {
last if ($xmms->connect);
sleep 1
while (1) {
last if ($xmms->connect);
sleep 1
This page took
0.009833 seconds
and
4
git commands to generate.