Skip to content

Commit 59a02d5

Browse files
committed
add ogg rating support, fix random tracks ignoreing randomartist setting
1 parent bd1b3f9 commit 59a02d5

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

clerk.pl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,9 @@ sub random_tracks {
311311
for (my $i=1; $i <= $rvar{songs}; $i++) {
312312
my @artists = $mpd->list($rvar{randomartist});
313313
my $artist_r = $artists[rand @artists];
314-
my @albums = $mpd->list('album', 'artist', $artist_r);
314+
my @albums = $mpd->list('album', $rvar{randomartist}, $artist_r);
315315
my $album_r = $albums[rand @albums];
316-
my @tracks = $mpd->find('artist', $artist_r, 'album', $album_r);
316+
my @tracks = $mpd->find($rvar{randomartist}, $artist_r, 'album', $album_r);
317317
my $track_r = $tracks[rand @tracks];
318318
my $foo = $track_r->{uri};
319319
$mpd->add($foo);

clerk_rating_client

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,19 @@ sub tag_mp3s {
109109
}
110110

111111
sub tag_oggs {
112-
print STDERR "!! OGG files not supported, yet\n";
112+
my ($uri, $mode, $rating, $artist, $albumartist, $title, $album) = @_;
113+
my @values = `vorbiscomment $uri`;
114+
if ($mode eq "rating") {
115+
print ":: tagging track \"${title}\" by \"${artist}\" with rating of \"${rating}\"\n";
116+
@values = map {/^RATING/? "RATING=$rating" : $_ } @values;
117+
} elsif ($mode eq "albumrating") {
118+
print ":: tagging track \"${title}\" by \"${albumartist}\" with albumrating of \"${rating}\"\n";
119+
@values = map {/^ALBUMRATING/? "ALBUMRATING=$rating" : $_ } @values;
120+
}
121+
system('vorbiscomment', '-c', '/dev/null', '-w', $uri);
122+
for my $vorbiscomment (@values) {
123+
system('vorbiscomment', '-a', '-t', $vorbiscomment, $uri);
124+
}
113125
}
114126
115127
sub sync_ratings {

0 commit comments

Comments
 (0)