I won't be surprised if I've missed something about the compilations
behaviour, and that's not actually a bug but an intended behaviour.  But
I believe the compilations check itself has a bug.  The previously
mentioned case, where all the track artists are different but there's no
album artist, would be missed.  So out of all this heat there is maybe a
little light after all - I can actually suggest an improvement to the
code!

The original compilations check is:

Code:
--------------------
                        if (defined($cuesheet->{'ALBUMARTIST'}) && 
$cuesheet->{'ALBUMARTIST'} ne $performer) {
                                $cuesheet->{'COMPILATION'} = '1';
  
--------------------


My suggested improvement is:

Code:
--------------------
                        if (defined($first_performer)) {
                                if ($first_performer ne $performer) {
                                        $cuesheet->{'COMPILATION'} = '1';
                                }
                        }
                        else {
                                $first_performer = $performer;
                        }
  
--------------------


And since I'm on shaky ground with my perl syntax, I have a 'my
$first_performer;' immediately before the current 'for' loop.  I've no
doubt that a seasoned perler could reduce all of that to one line (even
I could reduce it two), but it works for me!


------------------------------------------------------------------------
chill's Profile: http://forums.slimdevices.com/member.php?userid=10839
View this thread: http://forums.slimdevices.com/showthread.php?t=113834

_______________________________________________
ripping mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/ripping

Reply via email to