Bug 2293 - Extra track info shows info for wrong track
: Extra track info shows info for wrong track
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Player UI
: 6.2.0
: PC Debian Linux
: P2 normal (vote)
: ---
Assigned To: Blackketter Dean
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-10-15 03:07 UTC by Max Spicer
Modified: 2008-09-15 14:37 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
reset the index when returning to playlist (392 bytes, patch)
2005-10-16 17:05 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Max Spicer 2005-10-15 03:07:53 UTC
Sometimes, when playing a random songs mix, the information that you get when
pressing right on a song in the now playing list doesn't always correspond to
the selected song. Instead, I often get info on a previous song in the list. I'm
running random mix with the number old tracks setting set to blank (i.e.
infinite).  This could be a bug with random mix, but I've been unable to work it
out.  Given that the behaviour is exhibited by the now playing list, please
don't assign it to me unless there's something random mix specific that needs
fixing.  Either way, this could do with being fixed pre 6.2.

Steps to reproduce:
- Enable a now playing screensaver
- Play (not add) a random songs mix
- Press now playing
- Let the screensaver kick in, and let the first song finish without
interrupting the screensaver
- Press left to cancel the screensaver and therefore take you back to now playing
- Note the track that is being displayed (it should correspond to what you're
hearing)
- Press left again to take you into the extra info screen

After the last step, you should find that the extra info screen is displaying
info for the previous track, not the current one. This only seems to happen if a
now playing screensaver is enabled. If you now press Now Playing to "reset" the
playlist, it sorts itself out.
Comment 1 Max Spicer 2005-10-15 10:56:29 UTC
I've noticed that the info seems to be shown for the last track that was viewed
on the client.  If you leave it playing many tracks with the screensaver on
interrupted, when you press left it shows the info for a track from ages ago.
Comment 2 Max Spicer 2005-10-15 11:14:06 UTC
All referencs to left should be right.  Anyone want a lift?  ;-)
Comment 3 KDF 2005-10-15 11:15:00 UTC
exiting the screensaver goes back to where it was, ie the song that was playing
when it entered the screensaver.  most modes save the last position and return
to that position when going back.  I'm not sure if the 'playlist' mode should
break from that.  if you scroll to a different song, it might be upsetting to
leave and come back to the current song instead.  Solution might be complicated
for a small gain: Track current/other songs on entering and leaving as a
completely separate lastSelection item from the rest.

other ideas?
Comment 4 Max Spicer 2005-10-15 15:31:24 UTC
No, that's not the point.  Exiting the screensaver by pressing right doesn't go
back to where it was - it goes to the currently playing song.  But, when you
press right you get the info for what was assumedly the last song you were
viewing.  The link between the song and its additional info has been broken.
Comment 5 KDF 2005-10-16 16:02:16 UTC
confusing, since the code would seem to leave the song wherever it is for poping
out of screenaver.  however, I can reproduce with any playlist and any button. 
I will look into this.

Comment 6 KDF 2005-10-16 17:05:54 UTC
Created attachment 911 [details]
reset the index when returning to playlist

long ago, we added a check for "wasshowing" that allowed the return to hte
playlist display to show the current song if it was showing prior to the
screensaver.  calling jump at the same time as calling for the currentSongLines
will also reset the browse index, feeding trackinfo with the right track index.


we can't force the jump in setmode, since returning from trackinfo on a
different playlist index (via pop) should still go back to that song, instead
of the currently playing song.
Comment 7 Blackketter Dean 2005-10-17 15:52:38 UTC
I'm a little nervous about calling jump() from the lines function (the lines functions shouldn't affect 
state, only describe it...

To be honest, i don't completely understand the wasshowing logic, but it seems clear that the root 
cause here is that the browseplaylistindex and showingNowPlaying are out of sync, no?  Shouldn't we be 
calling jump() at wakeup time?
Comment 8 KDF 2005-10-17 16:16:52 UTC
the browsePlaylistIndex is disconnected from the showingNowPlaying.  The problem was that people 
would browse through the playlist, go into track info, or have the screensaver engage and want to 
return to THAT track on wakeup. 

I'll try it out in wakeup.
Comment 9 KDF 2005-10-17 16:29:49 UTC
moved jump() to wakeup and tested.
fix committed svn change 4665.
Comment 10 Chris Owens 2006-06-16 14:41:35 UTC
There are 536 bugs in the database with targets of '---' that were fixed prior to new year 2006.  I am setting them to targets of 6.2.1 to keep them from showing up in my queries.