Bugzilla – Bug 3654
Can't play albums via browse artist or browse genre
Last modified: 2008-09-15 14:39:24 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.
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.
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']]
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 ;)
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?
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
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?
Subject: Re: Can't play albums via browse artist or browse genre Please do.
Really fixed in change 8379