Bug 5981 - support "Play other songs in album" setting.
: support "Play other songs in album" setting.
Status: CLOSED FIXED
Product: SB Controller
Classification: Unclassified
Component: UI
: unspecified
: PC Windows XP
: -- enhancement with 2 votes (vote)
: 7.1
Assigned To: Ben Klaas
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-31 02:13 UTC by Mick
Modified: 2008-12-15 12:37 UTC (History)
11 users (show)

See Also:
Category: ---


Attachments
play all for browse album under web only. (1.07 KB, patch)
2008-06-03 17:00 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mick 2007-10-31 02:13:27 UTC
Call it a bug or an enhancement request, but I believe that Jive should work the same as the SB2/3 does.
If I play track 4 of an album and "Play other songs in album" is set, then I expect all tracks from the album to be added to the playlist with playback beginning on track 4. Playback should continue through the rest of the songs on the album and then, depending on the items in the playlist/repeat setting, loop around and play tracks 1->3.
Comment 1 KDF 2007-10-31 08:02:40 UTC
play other songs feature is specifically for IR remote control only.  Code only exists in Button modes and does not affect CLI/Web/JSON control.

so that makes this an enhancement.
Comment 2 Blackketter Dean 2007-11-01 09:44:31 UTC
I'll call this a bug, since it's incorrect behavior.  
Comment 3 KDF 2007-11-01 20:18:36 UTC
you were the one who kept saying it was for remote only -- button modes.

jive doesn't use the button modes.

So, are you now saying it should be web and jive (ie in the command dispatch?)
Comment 4 Jim McAtee 2007-11-01 22:53:21 UTC
Please keep web and remote interface settings separate.  This is a useful behavior for the remote interface, which is less agile, but probably not very desirable in the web interface.
Comment 5 Mick 2007-11-03 12:17:14 UTC
The end user/customer does not know the difference between buttons, web mode or jive mode.

There is a setting in the Web UI which says "Play other songs in album". If that's set, then there's an expectation that other songs will play. Currently Jive does not fulfill that expectation. The how's/why's of that are irrelevent to the end user.

So the choice is to either remove the setting/functionality, which would be a real pity, or support it from Jive.
Comment 6 Jim McAtee 2007-11-03 12:37:31 UTC
Why not recognize that the (now three) different interfaces are... different?  They require different settings due to the different presentations and different mechanics of each.  I'm not sure I care whether a setting previously used only in the remote ui is applied to the jive interface, so long as it's clearly understood.  I'm saying that applying the same preference across all these very different interfaces for the sake of "consistency" or "simplicity" can be a mistake that will make them all less usable.  I want this behavior when using the remote interface, but not in the web interface, and don't at the moment care which for jive.
Comment 7 KDF 2007-11-11 00:06:56 UTC
see also the recent bug 5595 which oddly reiterates that it's a remote ui setting, but per player now. Suppose Brian should review this along with that one.
Comment 8 KDF 2007-12-23 10:17:15 UTC
*** Bug 6450 has been marked as a duplicate of this bug. ***
Comment 9 Blackketter Dean 2007-12-26 12:57:54 UTC
Sorry to flip-flop on this one.  I'm going to call this an enhancement since we have a prominent Play All selection on the Jive UI.

If we do add a play other songs feature, we should add a setting in the Jive UI, not necessarily on the web ui.

That said, I don't think it's that important.
Comment 10 Chris Owens 2008-02-08 16:33:33 UTC
*** Bug 7037 has been marked as a duplicate of this bug. ***
Comment 11 Chris Owens 2008-02-08 16:35:54 UTC
*** Bug 7036 has been marked as a duplicate of this bug. ***
Comment 12 Chris Owens 2008-02-08 16:40:26 UTC
I'd like to retarget this to 7.0.1.  

The Jive does have a prominent 'Play All', but if you select a specific song, then hit FWD or REW the behavior seems to confuse and irritate users.

Note SB3 has this feature all worked out.  We should not deny it to users of our new products.
Comment 13 KDF 2008-02-08 22:32:38 UTC
it may seem that way, but this is implemented explicitly as part of the player UI:
	$client->execute(["playlist", "addtracks", $findCriteria]);
	$client->execute(["playlist", "jump", $listIndex]);

and in BMF:
	$client->execute(['playlist', 'addtracks','listref', \@playlist]);
	$client->execute(['playlist', 'jump', $listIndex]);

If we want this in Jive, it needs to be created anew as part of the CLI, or we have to consider implementing a direct port for cli/jive/web whichever we wish to have support for this feature.  In the brief period when it WAS supported on the web UI, it was directly in Web/Pages/BrowseDB. Not impossible, but not without risk.
Comment 14 KDF 2008-02-08 22:52:02 UTC
the more I consider this, it seems a central cli isn't an option as we don't always have the same access to the container.  Sometimes it's an album, sometimes a folder.  each context is going to have to create the list of tracks or the findCriteria.  Then could be done with multiple cli calls, or a combined playtracks that has an optional index arg for the starting track.
Comment 15 Joerg Schwieder 2008-02-16 08:51:08 UTC
(In reply to comment #14)
> the more I consider this, it seems a central cli isn't an option as we don't
> always have the same access to the container.  Sometimes it's an album,
> sometimes a folder.  each context is going to have to create the list of tracks
> or the findCriteria.  Then could be done with multiple cli calls, or a combined
> playtracks that has an optional index arg for the starting track.
> 

I would LOVE to see this as a configurable option for the default behavior of the server with THE ORIGINAL loadtracks CLI command.

If you want a suggestion on how it could be done as the CLI is now, look at how iPeng does it, even though this is not perfect (will explain below, why):

>playlist shuffle ?
- store <shuffle> value -
IF <shuffle> != 0
>playlist shuffle 0
>playlist loadtracks <whatever>  NOTE: a better way would be to do playlist clear and playlist addtracks, but that's two more calls
>playlist index #  NOTE: for the "addtracks version another "playlist play" would have to be added here.
IF <shuffle> != 0
>playlist shuffle <shuffle>

To determine the container content iPeng calls "songinfo track_id:###", "playlistinfo" or "songinfo url:xxx" depending on context to determine the correct index (if not known).

This is all quite a bit of a nuisance to do over CLI so I would REALLY like to see this done in the server as a configurable option. Guess that would help Jive, too....
Comment 16 Richard Titmuss 2008-03-11 13:27:50 UTC
Ben, can you follow up with Dean and work out if this is a 7.0.1 fix.
Comment 17 Richard Titmuss 2008-03-12 04:53:29 UTC
Reset priority
Comment 18 Ben Klaas 2008-03-19 08:30:48 UTC
removing priorities from all 7.0.1 target bugs for re-prioritizing
Comment 19 Ben Klaas 2008-03-21 08:53:34 UTC
I discussed this bug with Dean today. It's clear there's some back-end SC work to be done first, and then Controller (and whatever else) can follow. That takes it off my pile for now...moving to unassigned for review, and targeting for 7.1 per discussion with Dean.

We did both agree that this is a desirable and needed feature, and needs to be implemented in a way that different UIs can use the same code.

Comment 20 Teus de Jong 2008-05-28 07:14:45 UTC
Only for information: I just posted this in the forum (some things changed):

This might seem a minor problem [i.e. the difference behaviour of the play button on my just new SBC, the 'old' remote and the web interface], but for me it is a major one. Maybe I have set up my library a bit weird (but I like it this way). E.g., in my library I have Beethoven > Beethoven Piano Sonatas (Gilels). All sonatas are there (well, all sonatas Gilels had recorded when he died), and I certainly won't start at Sonata 1 all the time. So normally I go to the first part of the sonata I want to hear and press play. But I don't want to hear only the first part of that sonata.

There may be some technical difficulties, but as an end user I strongly feel that the behaviour should be the same everywhere.

Let me add some extra's:

1. some say there is a play all button, but that's not what I want (see description above).

2. When I encountered this, I rechecked my settings and sure thought this was a bug.

I hope action is taken (I'm new here, but it seems the bug is unassigned).

Teus
Comment 21 David A. Gordon 2008-06-02 13:32:12 UTC
I'm not a very sophisticated user, and I'm not really able to follow the technical discussion in this thread, but just to add my experience:

To an unsophisticated user like myself, this seems like a bug. In SqueezeCenter there is a player setting "Play other songs in album", and it doesn't make any qualifications as to which interfaces this setting affects. That is, users expect that the player will play other songs in the album, regardless of how the initial song was selected to be played.

More to the point, though, regardless of whether this is properly called a bug or enhancement, it's a serious issue. Within like 2 minutes of using the Controller my wife noticed the problem. We routinely like to start playing an album somewhere in the middle, and it seems pretty silly that the Controller cannot do this.

In fact, I'm going to hold of on recommending the Controller to others until this issue is resolved.
Comment 22 KDF 2008-06-03 17:00:28 UTC
Created attachment 3396 [details]
play all for browse album under web only.

backend work on SC would involve getting the album or folder when a track is picked.  Simple enough, but the blocker is that SC knows nothing of the context of a single track. Controller users Command::playlistcontrolCommand with a track_id, or list of track_ids.  These could have come from genre, artist or folder context.  Not all cases make sense to add the entire album.  

basic problem is there are far too many ways to "play a track", especially since at least three of these ways are all given something similar to "track.id = xxxxx" in order to specify the track.  This would bring to question why additional methods were needed.

this simple patch deals with just one case.  This is around line 1413. browse music folder is handled around line 1136, controller is handled around 1684 as a direct grab of a list of tracks (with no context)
Comment 23 Ben Klaas 2008-06-06 08:40:43 UTC
assigning to myself to fix
Comment 24 KDF 2008-06-13 15:25:44 UTC
note: stumbled into another catch... using random mix (as it uses the cli commands) will also trigger play all, so you get the whole album for each song loaded.

This fix is probably going to have to come from each UI, at least until the schema a browsing is rewritten in 7.3.  That, or each UI needs to send it's context to the cli (probably where we're going to be anyway in 7.3)
Comment 25 Ben Klaas 2008-07-07 22:11:20 UTC
I've put a fix for this on the controller, 7.1 change 21576

This should work for both browsing in "Albums" and "Music Folder" on the controller. While it works for me, the change was reasonably involved and I'd like to see QA do some extra testing on this one.

I agree with KDF's last comment that, at least how we have things currently, this needs to be solved on a per-UI basis until some more fundamental things are changed re: schema and browsing.

This bug was originally opened against the controller, and I'm considering that fixed now. If there needs to be a similar fix for webUI, that should be a separate bug.
Comment 26 James Richardson 2008-07-09 15:25:10 UTC
Appears to be fixed in Controller r2551 and SC 7.1-21605
Comment 27 Michael Herger 2008-07-24 23:45:27 UTC
For the records: the queries would fail if there was no player connected to SC. Fixed to check for the existence of a player before accessing its prefs in change 22103.
Comment 28 Chris Owens 2008-07-30 15:28:34 UTC
This bug has now been fixed in the 7.1 release version of SqueezeCenter!  Please download the new version from http://www.slimdevices.com if you haven't already.  

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 29 James Richardson 2008-12-15 12:37:51 UTC
This bug has been fixed in the 7.3.0 release version of SqueezeCenter!

Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already.  

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.