Index: Slim/Music/Info.pm =================================================================== RCS file: /cvsroot/slim/server/Slim/Music/Info.pm,v retrieving revision 1.138 diff -u -r1.138 Info.pm --- Slim/Music/Info.pm 5 Aug 2004 17:42:31 -0000 1.138 +++ Slim/Music/Info.pm 5 Aug 2004 23:35:08 -0000 @@ -1655,9 +1655,34 @@ if ($count) { return scalar @artists; } else { - return fixCase(Slim::Utils::Text::sortuniq_ignore_articles(@artists)); + return fixCase(sortuniq_ignore_articles(@artists)); } } + +# ripped from Slim::Utils::Text.pm +sub sortuniq_ignore_articles { + my %seen = (); + my @uniq = (); + my $articles = Slim::Utils::Prefs::get("ignoredarticles"); + # allow a space seperated list in preferences (easier for humans to deal with) + $articles =~ s/\s+/|/g; + + foreach my $item (@_) { + if (defined($item) && ($item ne '') && !$seen{Slim::Utils::Text::ignoreCaseArticles($item)}++) { + push(@uniq, $item); + } + } + #set up array for sorting items without leading articles + my @noarts = map { + my $item = $_; + exists($sortCache{$item}) ? $item = $sortCache{$item} : $item =~ s/^($articles)\s+//i; + $item; + } @uniq; + + #return the uniq array sliced by the sorted articleless array + return @uniq[sort {$noarts[$a] cmp $noarts[$b]} 0..$#uniq]; +} + sub artwork { my @covers;