Bug 17527 - Artist search does not work correctly
: Artist search does not work correctly
Status: NEW
Product: Logitech Media Server
Classification: Unclassified
Component: Web Interface
: 7.6.2
: PC Windows 7
: -- normal with 5 votes (vote)
: ---
Assigned To: Unassigned bug - please assign me!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-09-01 05:14 UTC by zarniwoop75
Modified: 2011-12-17 08:14 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zarniwoop75 2011-09-01 05:14:33 UTC
I've never tried Artist search before but when I did, composers also
> appeared in the results. The setting to include composers in browsing
> and searches is unchecked so surely this should not happen (composers
> certainly do not appear in the Artist list while browsing). If I then
> select a composer the result list is empty but if I add the composer to
> the playlist then tracks featuring the composer are added to the
> playlist. I tried this on a controller and the webui.
Comment 1 Michael Herger 2011-09-01 05:20:16 UTC
From Alan:

Yeah, it looks like it is wrong. Probably this code:
 
        if ( !defined $search ) {
            # Filter based on roles unless we're searching
            if ( $sql =~ /JOIN contributor_track/ ) {
                push @{$w}, 'contributor_track.role IN (' . join( ',', @{$roles} ) . ') ';
            }
            else {
                push @{$w}, 'contributor_album.role IN (' . join( ',', @{$roles} ) . ') ';
            }
 
            if ( $va_pref ) {
                # Don't include artists that only appear on compilations
                if ( $sql =~ /JOIN tracks/ ) {
                    # If doing an artists-in-genre query, we are much better off joining through albums
                    $sql .= 'JOIN albums ON albums.id = tracks.album ';
                }
                else {
                    if ( $sql !~ /JOIN contributor_album/ ) {
                        $sql .= 'JOIN contributor_album ON contributor_album.contributor = contributors.id ';
                    }
                    $sql .= 'JOIN albums ON contributor_album.album = albums.id ';
                }
 
                push @{$w}, '(albums.compilation IS NULL OR albums.compilation = 0)';
            }
        }
 
I guess the problem really is the inability/failure to pass a role-set along with a contributor that is being used as part of a filter. Such a capability would solve all the issues here.
Comment 2 Charles Razzell 2011-09-05 21:05:48 UTC
Confirmed on released 7.6.1 and on 7.6.2 - r33302.
Comment 3 wim 2011-12-17 08:14:11 UTC
Can confirm that this problem exists in version 7.7.0 as well (Logitech Media Server Version: 7.7.0 - r33614 @ Tue Oct 18 12:14:48 MDT 2011).
Frustrating.
Wim