X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=bin%2Fmpd-feeder;h=3cc220668c996f3b500015e068c216c299a3d84d;hb=b3d94e20bd9310585756043fe74fc77ccefb3f29;hp=f0ed182eb3a56dda8c191aaff5a345266ad78a6f;hpb=91f5272f7081ae94a04938d5456718b8636e7743;p=mpd-feeder.git diff --git a/bin/mpd-feeder b/bin/mpd-feeder index f0ed182..3cc2206 100755 --- a/bin/mpd-feeder +++ b/bin/mpd-feeder @@ -236,26 +236,18 @@ SQL $mpd->send('listallinfo')->on_done( sub { try { - $db->begin; + my $rows = shift; + $db->begin_work; $db_generation++; - my ($song, $artist, $album); - - foreach my $row (@_) { - chomp($row); - - if ($row =~ s/^file:\s*//) { - $self->db_store_song( $song, $artist, $album ); - $song = $row; - $artist = $album = undef; - } - elsif ( $row =~ s/^Artist:\s*// ) { - $artist = $row; - } - elsif ( $row =~ s/^Album:\s*// ) { - $album = $row; - } + my $song_count; + + foreach my $entry (@$rows) { + next unless exists $entry->{file}; + $self->db_store_song( $entry->{file}, + $entry->{Artist}, $entry->{Album} ); + $song_count++; } $self->db_store_song($song, $artist, $album);