}
}
+sub fmt_duration ($) {
+ my ($n) = @_;
+ return sprintf "%d:%02d", int $n/60, $n%60;
+}
+
sub format_now_playing (\%) {
my ($info) = @_;
exists $info->{track} or return "Nothing.";
my $r = "$info->{artist}: ‘$info->{title}’";
$r .= ", from ‘$info->{album}’" if $info->{album};
+ exists $info->{sofar} && exists $info->{length} and
+ $r .= sprintf " (%s/%s)",
+ fmt_duration $info->{sofar}, fmt_duration $info->{length};
$r .= "\n(chosen by $info->{submitter})" if exists $info->{submitter};
return $r;
}
defined $r or return {};
my %info = split_fields $r;
decode_track_name $sk, %info;
+ exists $info{sofar} and
+ $info{length} = send_command $sk, "length", $info{track};
return \%info;
}