waitpid $kid, 0;
}
+sub cmd (@) {
+ my @args = @_;
+ open my $f, "-|", "disorder", @args;
+ chomp (my @r = <$f>);
+ close $f;
+ if (wantarray) { return @r; }
+ elsif (@r == 1) { return $r[0]; }
+ else { return "??? multiple lines"; }
+}
+
for (;;) {
open my $log, "-|", "disorder", "log";
LINE: while (<$log>) {
} elsif ($what eq playing) {
my $track = $f[2];
my %p;
- for my $p ("artist", "album", "title") {
- open my $f, "-|", "disorder", "part", $track, "display", $p;
- chomp ($p{$p} = <$f>);
- close $f;
- }
+ 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")