use App::MPD::Feeder::DB;
use App::MPD::Feeder::Options;
-use App::MPD::Feeder::WorkQueue;
use DBD::Pg;
use DBI;
use Getopt::Long;
my $present = $mpd->send('playlist')->get // [];
$present = scalar(@$present);
- $log->notice( "Playlist contains $present songs. Wanted: "
- . $opt->target_queue_length );
if ( $present < $opt->target_queue_length ) {
+ $log->info( "Playlist contains $present songs. Wanted: "
+ . $opt->target_queue_length );
$self->queue_songs( $opt->target_queue_length - $present );
}
else {
+ $log->notice("Playlist contains $present songs");
$playlist_needs_filling = 0;
}
);
}
- $log->info("About to add $num songs to the playlist");
+ $log->debug("About to add $num songs to the playlist");
my @paths;
for my $song (@list) {
push @paths, $path;
}
- $log->debug( "Adding " . join( ', ', map {"«$_»"} @paths ) );
+ $log->info( "Adding " . join( ', ', map {"«$_»"} @paths ) );
# MPD needs raw bytes
utf8::encode($_) for @paths;
}
method reexec {
- $log->notice("disconnecting and re-starting");
+ $log->info("disconnecting and re-starting");
$db->disconnect;
undef $mpd;
$log->trace('got out of idle');
- if ( $idler->is_done ) {
- my $result = $idler->get;
- undef $idler;
- if ( ref $result and $result->{changed} ) {
- my $changed = $result->{changed};
- $changed = [$changed] unless ref $changed;
+ if ($idler) {
+ if ( $idler->is_done ) {
+ my $result = $idler->get;
+ undef $idler;
+ if ( ref $result and $result->{changed} ) {
+ my $changed = $result->{changed};
+ $changed = [$changed] unless ref $changed;
- $mpd->emit($_) for @$changed;
+ $mpd->emit($_) for @$changed;
+ }
+ }
+ elsif ( $idler->is_cancelled ) {
+ $log->trace("idle was cancelled");
+ undef $idler;
+ }
+ elsif ( $idler->is_failed ) {
+ $log->warn("idle failed: ".$idler->failure);
+ undef $idler;
}
- }
- elsif ( $idler->is_cancelled ) {
- $log->trace("idle was cancelled");
- undef $idler;
- }
- elsif ( $idler->is_failed ) {
- $log->warn("idle failed: ".$idler->failure);
- undef $idler;
}
$mpd->loop->stop;