Bug 3654 - Can't play albums via browse artist or browse genre
: Can't play albums via browse artist or browse genre
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Player UI
: 6.5b1
: PC Windows XP
: P2 normal (vote)
: ---
Assigned To: Dan Sully
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-06-29 03:13 UTC by Philip Meyer
Modified: 2008-09-15 14:39 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Meyer 2006-06-29 03:13:08 UTC
Using the player UI, I can't play an album when I navigate via
Browse Artist or Browse Genre.

I can play albums via browse album, browse years, browse new music,
browse music folder, and also browse artist or browse genre from Web UI.
Comment 1 KDF 2006-06-29 11:04:56 UTC
how about attaching d_command or d_sql logs for these kinds of reports?

people like me are running short on time having to do the above for multiple reports.

thanks, and much appreciated.
Comment 2 Philip Meyer 2006-06-29 12:26:54 UTC
Okay, here's a log of d_command and d_sql:

2006-06-29 20:24:39.4147 
2006-06-29 20:24:39.4161 
2006-06-29 20:24:39.4170 Request: Command [5e:31:13:06:25:02->button] (Done)
2006-06-29 20:24:39.4173    Param: [_buttoncode] = [passback]
2006-06-29 20:24:39.4174    Param: [_time] = [272.297]
2006-06-29 20:24:39.4176    Param: [_orFunction] = [1]
2006-06-29 20:24:39.4179 Request: Command [5e:31:13:06:25:02->ir] (Done)
2006-06-29 20:24:39.4181    Param: [_ircode] = [768910ef]
2006-06-29 20:24:39.4183    Param: [_time] = [272.297]
2006-06-29 20:24:39.4187 Request: Don't notify Plugins::SlimScrobbler::Plugin::openCommand of ir !~ [['playlist']['open']]
2006-06-29 20:24:39.4190 Request: Don't notify Plugins::Alien::Plugin::_scanCallback of ir !~ [['rate']]
2006-06-29 20:24:39.4192 Request: Don't notify Slim::Player::Playlist::modifyPlaylistCallback of ir !~ [['playlist']]
2006-06-29 20:24:39.4195 Request: Don't notify Plugins::DynamicPlayList::Plugin::commandCallback65 of ir !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.4196 Request: Notifying Plugins::xPL::xplExecuteCallback of ir =~ (no filter)
2006-06-29 20:24:39.4264 Request: Don't notify Plugins::RandomPlay::Plugin::commandCallback of ir !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.4275 Request: Don't notify Plugins::SlimScrobbler::Plugin::otherCommand of ir !~ [['play','pause','stop','power','mode']]
2006-06-29 20:24:39.4277 Request: Don't notify Plugins::TrackStat::Plugin::commandCallback65 of ir !~ [['mode','play','stop','pause','playlist','rescan']]
2006-06-29 20:24:39.4282 Request: Don't notify Plugins::SlimScrobbler::Plugin::openCommand of button !~ [['playlist']['open']]
2006-06-29 20:24:39.4285 Request: Don't notify Plugins::Alien::Plugin::_scanCallback of button !~ [['rate']]
2006-06-29 20:24:39.4287 Request: Don't notify Slim::Player::Playlist::modifyPlaylistCallback of button !~ [['playlist']]
2006-06-29 20:24:39.4294 Request: Don't notify Plugins::DynamicPlayList::Plugin::commandCallback65 of button !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.4295 Request: Notifying Plugins::xPL::xplExecuteCallback of button =~ (no filter)
2006-06-29 20:24:39.4338 Request: Don't notify Plugins::RandomPlay::Plugin::commandCallback of button !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.4342 Request: Don't notify Plugins::SlimScrobbler::Plugin::otherCommand of button !~ [['play','pause','stop','power','mode']]
2006-06-29 20:24:39.4344 Request: Don't notify Plugins::TrackStat::Plugin::commandCallback65 of button !~ [['mode','play','stop','pause','playlist','rescan']]
2006-06-29 20:24:39.6728 
2006-06-29 20:24:39.6804 
2006-06-29 20:24:39.6882 SELECT me.id, me.url, me.content_type, me.title, me.titlesort, me.titlesearch, me.album, me.tracknum, me.timestamp, me.filesize, me.tag, me.disc, me.thumb, me.remote, me.audio, me.audio_size, me.audio_offset, me.year, me.secs, me.cover, me.vbr_scale, me.bitrate, me.samplerate, me.samplesize, me.channels, me.block_alignment, me.endian, me.bpm, me.tagversion, me.drm, me.moodlogic_id, me.moodlogic_mixable, me.musicmagic_mixable, me.musicbrainz_id, me.playcount, me.lastplayed, me.lossless, me.lyrics, me.rating, me.replay_gain, me.replay_peak FROM tracks me  JOIN albums album ON ( album.id = me.album ) LEFT JOIN contributor_track contributorTracks ON ( contributorTracks.track = me.id ) WHERE ( album.id = ? AND contributorTracks.contributor = ? ) ORDER BY me.disc, me.tracknum, me.titlesort (`2', `HASH 0X5D459B0')
2006-06-29 20:24:39.6978 Request: Command [5e:31:13:06:25:02->playlist loadtracks] (Done)
2006-06-29 20:24:39.6982    Param: [_what] = [album=2&contributor=2&contributor=HASH(0x5d459b0)]
2006-06-29 20:24:39.6985 Request: Command [5e:31:13:06:25:02->button] (Done)
2006-06-29 20:24:39.6987    Param: [_buttoncode] = [passback]
2006-06-29 20:24:39.6989    Param: [_time] = [272.553]
2006-06-29 20:24:39.6990    Param: [_orFunction] = [1]
2006-06-29 20:24:39.6994 Request: Don't notify Plugins::SlimScrobbler::Plugin::openCommand of button !~ [['playlist']['open']]
2006-06-29 20:24:39.6997 Request: Don't notify Plugins::Alien::Plugin::_scanCallback of button !~ [['rate']]
2006-06-29 20:24:39.6999 Request: Don't notify Slim::Player::Playlist::modifyPlaylistCallback of button !~ [['playlist']]
2006-06-29 20:24:39.7001 Request: Don't notify Plugins::DynamicPlayList::Plugin::commandCallback65 of button !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.7003 Request: Notifying Plugins::xPL::xplExecuteCallback of button =~ (no filter)
2006-06-29 20:24:39.7045 Request: Don't notify Plugins::RandomPlay::Plugin::commandCallback of button !~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.7049 Request: Don't notify Plugins::SlimScrobbler::Plugin::otherCommand of button !~ [['play','pause','stop','power','mode']]
2006-06-29 20:24:39.7051 Request: Don't notify Plugins::TrackStat::Plugin::commandCallback65 of button !~ [['mode','play','stop','pause','playlist','rescan']]
2006-06-29 20:24:39.7057 Request: Don't notify Plugins::SlimScrobbler::Plugin::openCommand of playlist loadtracks !~ [['playlist']['open']]
2006-06-29 20:24:39.7059 Request: Don't notify Plugins::Alien::Plugin::_scanCallback of playlist loadtracks !~ [['rate']]
2006-06-29 20:24:39.7062 Request: Notifying Slim::Player::Playlist::modifyPlaylistCallback of playlist loadtracks =~ [['playlist']]
2006-06-29 20:24:39.7183 SELECT me.id, me.url, me.content_type, me.title, me.titlesort, me.titlesearch, me.album, me.tracknum, me.timestamp, me.filesize, me.tag, me.disc, me.thumb, me.remote, me.audio, me.audio_size, me.audio_offset, me.year, me.secs, me.cover, me.vbr_scale, me.bitrate, me.samplerate, me.samplesize, me.channels, me.block_alignment, me.endian, me.bpm, me.tagversion, me.drm, me.moodlogic_id, me.moodlogic_mixable, me.musicmagic_mixable, me.musicbrainz_id, me.playcount, me.lastplayed, me.lossless, me.lyrics, me.rating, me.replay_gain, me.replay_peak FROM tracks me WHERE ( url = ? ) (`clientplaylist://5e:31:13:06:25:02')
2006-06-29 20:24:39.7287 Request: Notifying Plugins::DynamicPlayList::Plugin::commandCallback65 of playlist loadtracks =~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.7291 Request: Notifying Plugins::xPL::xplExecuteCallback of playlist loadtracks =~ (no filter)
2006-06-29 20:24:39.7298 Request: Notifying Plugins::RandomPlay::Plugin::commandCallback of playlist loadtracks =~ [['playlist']['newsong','delete','loadalbum','playtracks','playalbum','clear','play','loadtracks','load']]
2006-06-29 20:24:39.7301 Request: Don't notify Plugins::SlimScrobbler::Plugin::otherCommand of playlist loadtracks !~ [['play','pause','stop','power','mode']]
2006-06-29 20:24:39.7304 Request: Notifying Plugins::TrackStat::Plugin::commandCallback65 of playlist loadtracks =~ [['mode','play','stop','pause','playlist','rescan']]
Comment 3 KDF 2006-06-29 13:16:23 UTC
that reminds me...we need to move "Dont' notify" msgs to a command_verbose debug (or turn off d_notify in Request.pm)

something odd with the contributor param.  needs to be broken down from the hash.  
Deffo a Dan problem, but I might be able to dig something up along the way.

apologies to chris for jumping ahead on this...I'm on work avoidance today ;)

Comment 4 KDF 2006-06-29 14:13:56 UTC
ok, so the problem is the $findCriteria (in this case artist->play on album:

$VAR4 = {
          'album' => {
                       'me.id' => '76',
                       'contributorAlbums.role' => {
                                                     'in' => [
                                                               1,
                                                               5
                                                             ]
                                                   }
                     }
        };

Which is part of the contributor hash.  When a hash ref is found, it is parsed for info about the level above.  Perhaps the simple solution here is to simply skip .role keys:

next if $subkey =~ /role$/;
at line 177 of Buttons/BrowseDB.pm

or perhaps ONLY accept .id keys, once per level?

Comment 5 KDF 2006-06-29 23:27:02 UTC
tossed in the simple fix at change 8224, mainly to get users back to playable.  This may or may not be the best, or most thorough fix so I'll leave open and without a changelog entry
Comment 6 Philip Meyer 2006-06-30 11:58:55 UTC
I confirm that I can now play albums via browse artist and browse genre.

I've just been testing all of the various browse methods, trying to play
things at all levels.  The only thing that doesn't seem to work is playing
all music for a specific year via browse years doesn't work.

Should I raise a separate bug for that issue?
Comment 7 Dan Sully 2006-06-30 12:01:23 UTC
Subject: Re:  Can't play albums via browse artist or browse genre

Please do.

Comment 8 Dan Sully 2006-07-11 10:50:35 UTC
Really fixed in change 8379