Interesting discussion. I had a peek at 7.4.0 code out of curiousity (I
realize the OP is running 7.4.2).

The points on special-casing are pretty funny when reviewing the actual
code. (Like a lot of software) It looks like 75% of the code is
specifically to handle various weird cases (guessing what's going on
when disc info is or is not embedded in the album name, etc).

Here are a few old bugs references in the code that give examples of
special cases that have to be handled:

http://bugs.slimdevices.com/show_bug.cgi?id=3254
http://bugs.slimdevices.com/show_bug.cgi?id=3920

And here's a brief code snippet that handles special casing for album
"sets" of size 1:


Code:
--------------------
    
  sub addDiscNumberToAlbumTitle {
  my ($title, $discNum, $discCount) = @_;
  
  # Unless the groupdiscs preference is selected:
  # Handle multi-disc sets with the same title
  # by appending a disc count to the track's album name.
  # If "disc <num>" (localized or English) is present in
  # the title, we assume it's already unique and don't
  # add the suffix.
  # If it seems like there is only one disc in the set,
  # avoid adding "disc 1 of 1"
  return $title unless defined $discNum and $discNum > 0;
  
  if (defined $discCount) {
  return $title if $discCount == 1;
  undef $discCount if $discCount < 1; # errornous count
  }
  
  my $discWord = string('DISC');
  
  return $title if $title =~ /\b((${discWord})|(Disc))\s+\d+/i;
  
  if (defined $discCount) {
  # add spaces to discNum to help plain text sorting
  my $discCountLen = length($discCount);
  $title .= sprintf(" (%s %${discCountLen}d %s %d)", $discWord, $d
  iscNum, string('OF'), $discCount);
  } else {
  $title .= " ($discWord $discNum)";
  }
  
  return $title;
  }
  
--------------------



I'm not sure exactly where the issues are occuring in your 7.4.2
example (I didn't looke at the code that closely). But there are a lot
of debug statements in the code like:

Code:
--------------------
    
  main::DEBUGLOG && $isDebug && $log->debug(sprintf("-- Created album '%s' (id: 
[%d])", $album, $albumObj->id))
--------------------

So I think at the right debugging/logging level you should be able to
get your server to spit out exactly what's happening when your files
with funny tags are processed.

For anyone that's interested some of the relevent code seems to show up
in server/Slim/Music/Schema.pm.

Have you filed a bug on the misgrouping of 11 and 12 with 10?

-Jeff


-- 
jdoering
------------------------------------------------------------------------
jdoering's Profile: http://forums.slimdevices.com/member.php?userid=17482
View this thread: http://forums.slimdevices.com/showthread.php?t=70494

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

Reply via email to