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;
-}
-
sub get_now_playing ($) {
my ($sk) = @_;
my $r = send_command $sk, "playing";
return \%info;
}
+sub format_now_playing (;\%) {
+ my ($info) = @_;
+ unless (defined $info) {
+ my $sk = configured_connection;
+ $info = get_now_playing $sk;
+ close $sk;
+ }
+ 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;
+}
+
sub watch_and_notify0 ($) {
my ($now_playing) = @_;