Index: Slim/Buttons/TrackInfo.pm =================================================================== --- Slim/Buttons/TrackInfo.pm (revision 11977) +++ Slim/Buttons/TrackInfo.pm (working copy) @@ -432,7 +432,7 @@ 'level' => 1, 'findCriteria' => { 'contributor.id' => $curObj->id, - #'contributor.role' => $curType, + 'contributor.role' => $curType, }, 'selectionCriteria' => $selectionCriteria, }); Index: Slim/Schema/ResultSet/Contributor.pm =================================================================== --- Slim/Schema/ResultSet/Contributor.pm (revision 11977) +++ Slim/Schema/ResultSet/Contributor.pm (working copy) @@ -119,8 +119,23 @@ 'order_by' => $sort, }; - if (my $roles = Slim::Schema->artistOnlyRoles($find->{'contributor.role'})) { + # Bug: 4694 - if role has been specified descend using this role, otherwise descend for all artist only roles + my $roles; + if ($find->{'contributor.role'}) { + + if ($find->{'contributor.role'} ne 'ALL') { + + $roles = [ Slim::Schema::Contributor->typeToRole($find->{'contributor.role'}) ]; + } + + } else { + + $roles = Slim::Schema->artistOnlyRoles; + } + + if ($roles) { + $cond->{'contributorAlbums.role'} = { 'in' => $roles }; } Index: HTML/EN/songinfo.html =================================================================== --- HTML/EN/songinfo.html (revision 11977) +++ HTML/EN/songinfo.html (working copy) @@ -26,7 +26,7 @@
[% FOREACH contributor = contributors %] - [% contributorHTMLFrag = "$contributor.name" %] + [% contributorHTMLFrag = "$contributor.name" %] [% contributorsHTML.push(contributorHTMLFrag) %]