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>) {
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;