Move argument parsing into script
[app-xmms2-notifier.git] / lib / App / XMMS2 / Notifier.pm
index 430e9a65dbaf08bf85730c0f0dca9232458dfdc7..f61a74aee26ddb10934cc2e0ddd329d27a691b3f 100644 (file)
@@ -1,26 +1,17 @@
-package App::XMMS2::Notifier 0.001;
+package App::XMMS2::Notifier;
 use v5.14;
+use strict;
 use warnings;
+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 $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('');
 
@@ -29,41 +20,41 @@ $notify->set_timeout(3000);
 ##################################################
 
 sub notify_libnotify{
-  $notify->update($_[0]);
-  $notify->show;
+       $notify->update($_[0]);
+       $notify->show;
 }
 
 sub notify{
-  my $id=$xmms->playback_current_id->wait->value or return;
-  my $minfo=$xmms->medialib_get_info($id)->wait->value;
+       my $id=$xmms->playback_current_id->wait->value or return;
+       my $minfo=$xmms->medialib_get_info($id)->wait->value;
 
-  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 {
-  notify;
-  $xmms->broadcast_playback_current_id->notifier_set(\&on_playback_current_id);
+       notify;
+       $xmms->broadcast_playback_current_id->notifier_set(\&on_playback_current_id);
 }
 
 sub on_playback_status {
-  notify if $xmms->playback_status->wait->value == 1; # 1 means playing, 2 means paused
-  $xmms->broadcast_playback_status->notifier_set(\&on_playback_status);
+       notify if $xmms->playback_status->wait->value == 1; # 1 means playing, 2 means paused
+       $xmms->broadcast_playback_status->notifier_set(\&on_playback_status);
 }
 
 sub run {
-  while(1){
-       last if ($xmms->connect);
-       sleep 1
-  }
-
-  $xmms->broadcast_playback_current_id->notifier_set(\&on_playback_current_id);
-  $xmms->broadcast_playback_status->notifier_set(\&on_playback_status);
-  $xmms->loop
+       $format = $_[0];
+       while (1) {
+               last if ($xmms->connect);
+               sleep 1
+       }
+
+       $xmms->broadcast_playback_current_id->notifier_set(\&on_playback_current_id);
+       $xmms->broadcast_playback_status->notifier_set(\&on_playback_status);
+       $xmms->loop
 }
 
 1
This page took 0.011033 seconds and 4 git commands to generate.