Bug 1467 - browse albums doesn't save last position
: browse albums doesn't save last position
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Player UI
: 6.1.0
: Macintosh All
: P2 normal (vote)
: ---
Assigned To: Vidur Apparao
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-04-29 08:07 UTC by Blackketter Dean
Modified: 2008-08-18 10:54 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
track selection by forcing an exithandler call on passback (1.83 KB, patch)
2005-04-29 23:38 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Blackketter Dean 2005-04-29 08:07:14 UTC
If you browse into an album via the remote (Home->Browse Music->Browse Albums->scroll->specific 
album) and the press Now Playing and navigate back, the previous album isn't selected.  Previous 
selections should be remembered at all levels.
Comment 1 KDF 2005-04-29 17:53:12 UTC
right, I know what the problem is, tho not sure yet how to fix.  The position IS
saved, but only on exit.  therefore,when you jump out via now playing or search
then it does not get saved (in fact, it will be the last value that was when
popping or pushing from the previous browse)
Comment 2 KDF 2005-04-29 23:38:13 UTC
Created attachment 476 [details]
track selection by forcing an exithandler call on passback

here is one way to do this.  the exithandler needs to be run in order to keep
track of the selected item.  This patch reworks the ir map to a passback for
now_playing and search.  the handler is called from the passback, which the
handler can track properly.  Playlist.pm contains a commented line that is
responsible for breaking bug1370 so that the proper working of this patch can
be shown.  otherwise, left from now playing will return to now playing when the
home menu option doesn't actually contain now-playing.
Comment 3 Blackketter Dean 2005-06-13 16:16:53 UTC
Kevin:  we're trying to uynderstand your patch.  Why the change to playlist.pm?

Also, reading this makes me wonder if there's incorrect behavior when pressing STOP or PAUSE. Is this 
the case?
Comment 4 KDF 2005-06-13 16:21:01 UTC
oh! er, that Playlist.pm section was part of something else, long since dealt
with now. My personal instinct on this was that the passback is the wrong thing
to do as a function on the whole.  Patching like this worked, but I was hoping
it would open a discussion, as it has.  

I was thinking getting rid of passback, and using exit for all woud then allow
the parent module to have more control.  I guess that is part of why Dave had to
create the INPUT.Choice mode (which creates events for each of the functions
that would normally be a passback) 
Comment 5 Blackketter Dean 2005-06-13 20:50:33 UTC
I agree, passback is a bad idea.  I like the idea of an exit handler.  
How big of a change is this in the context of 6.1?
Comment 6 KDF 2005-06-13 20:55:54 UTC
first off, all existing uses of INPUT.List that rely on the passback need to
have that implemented in the exitFunction.  Then it should be possible to
interfere with those passbacks in order to capture the valueRef before
abandonning INPUT.List state.
Comment 7 Blackketter Dean 2005-06-13 21:06:42 UTC
Is that the sound of a volunteer?  :)
Comment 8 KDF 2005-06-14 10:59:42 UTC
it could be.  I'm not sure how big a task it is, but if you have the time, I'll
take it on.
Comment 9 Robert Moser II 2005-06-16 22:49:07 UTC
Fixed in change 3418

Note that passback is intended to give the parent mode more control, not less. 
Using passback plus a map for your parent mode lets you have functions in your
parent mode which are called just like if you hadn't used the INPUT.List mode. 
Without passback, you have to cover every possible scenario in your exit
function, which makes for one really big if ... elsif ...elsif ... else block.

The problem here was due to onChange not being used to keep external
dependencies up to date with the current state of INPUT.List, it had nothing to
do with passback.
Comment 10 Chris Owens 2008-03-11 11:28:13 UTC
This bug was marked resolved in Slimserver 6.1, which is several versions ago.  If you're still seeing this bug, please re-open it.  Thanks!