chiark
/
gitweb
/
~mdw
/
profile
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ccd96c4
)
bin/disorder-notify: Lift out the `now playing' machinery.
author
Mark Wooding
<mdw@distorted.org.uk>
Sat, 21 Jul 2018 14:13:38 +0000
(15:13 +0100)
committer
Mark Wooding
<mdw@distorted.org.uk>
Sat, 21 Jul 2018 14:57:58 +0000
(15:57 +0100)
bin/disorder-notify
patch
|
blob
|
blame
|
history
diff --git
a/bin/disorder-notify
b/bin/disorder-notify
index 3f6823c855ac33cc7268a29eaef35d001b28eb1b..d36db9a1d57c4f70394fd3dc872e0a946f05fffa 100755
(executable)
--- a/
bin/disorder-notify
+++ b/
bin/disorder-notify
@@
-27,6
+27,20
@@
sub cmd (@) {
else { return "??? multiple lines"; }
}
else { return "??? multiple lines"; }
}
+sub now_playing ($) {
+ my ($track) = @_;
+ my %p;
+ for my $p ("artist", "album", "title")
+ { $p{$p} = cmd "part", $track, "display", $p; }
+ if ($p{artist} =~ /^[A-Z]$/)
+ { $p{artist} = $p{album}; $p{album} = undef; }
+ elsif ($p{artist} eq "share" && $p{album} eq "disorder")
+ { next LINE; }
+ my $r = "$p{artist}: ‘$p{title}’";
+ if (defined $p{album}) { $r .= ", from ‘$p{album}’"; }
+ notify "DisOrder: now playing", $r;
+}
+
for (;;) {
open my $log, "-|", "disorder", "log";
LINE: while (<$log>) {
for (;;) {
open my $log, "-|", "disorder", "log";
LINE: while (<$log>) {
@@
-73,17
+87,7
@@
for (;;) {
notify "DisOrder state", "Resuming";
}
} elsif ($what eq "playing") {
notify "DisOrder state", "Resuming";
}
} elsif ($what eq "playing") {
- my $track = $f[2];
- my %p;
- for my $p ("artist", "album", "title")
- { $p{$p} = cmd "part", $track, "display", $p; }
- if ($p{artist} =~ /^[A-Z]$/)
- { $p{artist} = $p{album}; $p{album} = undef; }
- elsif ($p{artist} eq "share" && $p{album} eq "disorder")
- { next LINE; }
- my $r = "$p{artist}: ‘$p{title}’";
- if (defined $p{album}) { $r .= ", from ‘$p{album}’"; }
- notify "Now playing", $r;
+ now_playing $f[2];
}
}
close $log;
}
}
close $log;