View Issue Details

IDProjectCategoryView StatusLast Update
0001290MMW v4Playerpublic2005-09-09 00:50
Reporterrusty Assigned To 
PriorityurgentSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Fixed in Version2.5 
Summary0001290: Clarify Play Now behaviour
DescriptionI've received feedback on several occasions that users unfamiliar with MediaMonkey who are using a friend's machine often accidentally delete playlists when they click the Play Now button. A similar issue was raised by a bar owner who allows users to modify the playlist.

This can be easily rectified with a couple of changes:
1) Modify the command from Play Now to Play Now (clear tracks) and change the tooltip from 'Play track(s) immediately' to 'Play track(s) immediately and clear the Now Playing list'
2) Add a new command called 'Play Now' with a tooltip 'Play selected track(s) immediately' (this command would always only play selected tracks)
3) Another option suggested by a user is to add a confirmation dialog in response to 1) along the lines of 'This will clear the current set of songs in the Now Playing list. Do you want to save the Playlist first? [Yes] [No] [ ] Do not show this again'.

-Update the default action in Options|Player to include both: Play Now and Play Now (clear)
TagsNo tags attached.
Fixed in build591

Activities

rusty

2004-05-09 22:39

administrator   ~0004038

After further thought, I've updated the bug, and have concluded that option 3) does not really satisfy the usecase since:
-it would merely be annoying when it did appear for users who did want to clear the playlist
-it wouldn't appear for newbies whom it is desired to protect since other users will have disabled it

Also, the newly suggested approach of implementing 1) and 2) would probably also satisfy the needs of users who need some sort of 'sampling' functionality.

What do you think? (I can often convince myself of anything ;-) )

jiri

2004-05-10 07:04

administrator   ~0004041

I added a comment 0000182 on a related topic, although not exactly solving this.

Here I think that none of 1-3 really solves the problem. I think that the current set of Play command is ok as long as the scenario described in this bug doesn't happen. This makes make think that we should leave the commands as they are, but add an option that would be turned off by default, but particularly users with machines in public environments could turn it on. This option would modify 'Play Now' command so that (just a proposal, details could be changed):
 - If playback is stopped, the current functionality would be applied, i.e. playback of the selected track(s) would start, NP would be cleared.
 - If a track is playing, 'Play Next' or 'Play Last' functionality would be applied. I'm not sure which one of these two is better, maybe 'Play Next' is, but we could make this configurable either.

rusty

2004-05-10 15:09

administrator   ~0004045

I disagree with you somewhat. I think that clearly indicating the fact Play Now clears the playlist does solve a major problem. I do agree, though, that the addition of another Play Now command could be confusing and add clutter. I also, agree with the suggestion that we might want to offer a bar/party mode, but I think that it's important that the application be clear independent of entering that mode.

Taking all this into account, I'd like to suggest:
1) Modify the command from Play Now to Play Now (clear tracks) and change the tooltip from 'Play track(s) immediately' to 'Play track(s) immediately and clear the Now Playing list'

2) Change the behaviour of Play Next, as follows:
a) If tracks are playing: current behaviour
b) If tracks aren't playing: add tracks to the list immediately following the 'currently playing' track, and play begining with the first track of those just added

3) Change the behaviour of Play Last, as follows:
a) If tracks are playing: current behaviour
b) If tracks aren't playing: add tracks to the end of the list, and play beginning with the first track of those just added

Note: this is based partially on MusicMatch--one instance in which I think they're actually quite usable.

rusty

2004-12-13 04:53

administrator   ~0004931

Last edited: 2004-12-13 21:12

I've re-examined this issue top to bottom and now agree that you were on the right track with your suggestion to have different default behaviours depending on whether tracks were playing or not. This proposal tries to deal with a couple of additional issues, namely:
-Ensuring that the playlist is more reflective of what the user expects (i.e. it shouldn't include tracks prior to the selected one
-Ensuring that <Enter> isn't accidentally destructive to playlists
Anyhow, here goes:

Now Playing Functionality:
==========================

(1) Similar Functionality in 3rd Party Apps:
--------------------------------------------

Music Match:
-Never clears the NP list
-Default action If tracks are playing: adds selected track to NP
-Default action If tracks aren't playing: plays selected track right away
-Context options: Play, Add to Now Playing (last)

Itunes:
-Default action: Always play the selected track and those that follow it


(2) Desireable actions (# of *s indicates degree of importance to the user):
----------------------------------------------------------------------------

Tracks Not Currently Playing (Now Playing Contains Tracks)
1) Play All tracks beginning with selected single track and clear current playlist ** (Play Now (Clear)
2) Play All tracks beginning with selected single track but don't clear current playlist *** (Play Now) Default
3) Play Selected tracks beginning with first of those selected and clear current playlist ** (Play now)
4) Play Selected tracks beginning with first of those selected but don't clear current playlist *** (Play Now) Default
5) Queue selected tracks next *** (Play Next)
6) Queue selected tracks last *** (Play Last)

Tracks Not Currently Playing (Nothing in Now Playing)
2) Play All tracks beginning with selected single track but don't clear current playlist *** (Play Now - single track) Default
4) Play Selected tracks beginning with first of those selected but don't clear current playlist *** (Play Now - multiple tracks) Default
5) Queue selected tracks next *** (Play Next)
6) Queue selected tracks last *** (Play Last)

Tracks Not Playing but the user is editing a playlist:
5) Queue selected tracks next *** (Queue Next)
6) Queue selected tracks last *** (Queue Last) Default

Tracks are playing
1) Play All tracks beginning with selected single track and clear current playlist * (Play Now)
2) Play All tracks beginning with selected single track but don't clear current playlist ** (Play Now - Multiple Tracks)
3) Play Selected tracks beginning with first of those selected and clear current playlist ** (Play Now)
4) Play Selected track(s) beginning with first of those selected but don't clear current playlist *** (Play Now - Multiple Tracks)
5) Queue selected tracks next ***
6) Queue selected tracks last *** (Default)

Summary:
Based on the above, the following set of commands would satisfy the majority of usecases:
Play Now (clear)
 -If a single track is selected: Clear Now Playing; Queue all tracks beginning with the _selected track_ (i.e. do not add tracks previous to the selected track to the list) and start playback at the selected track
 -If multiple tracks are selected: Clear Now Playing; Queue all selected tracks and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)
Play Now
 -If a single track is selected: Queue all tracks beginning with the selected track and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)
 -If multiple tracks are selected: Queue all selected tracks and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)
Queue Next
Queue Last

Implementation Note: If we decide that having 4 variants is too many, then I would suggest that we retain the current 3 variants, but modify the terminology to Play Now (clear), Queue Next, Queue Last. At a minimum, though, it would need to be possible to configure any of these four commands as default behaviours.


(3) Keyboard Command Needs:
---------------------------

Current Keyboard commands are set to:
Play Now: <Enter>
Play Now alternate: <Alt><Enter>
Play Next: <Shift><Ctrl><Enter>
Play Last: <Ctrl><Enter>
Edit Tracks: <Shift><Enter>

They should be changed so that the default (i.e. 'double click') behaviour is triggered by <Enter> so that <Enter> will not destroy the playlist unless so configured by the user. A possible implementation is:
<Enter> --> default (i.e. 'double-click') behaviour
<Alt><Enter> --> Play Now
<Shift><Alt><Enter> --> Play Now (Clear)
<Ctrl><Enter> --> Queue Last
<Shift><Ctrl><Enter> --> Queue Next
<Shift><Enter> --> Edit Properties


(4) UI Changes resulting from these changes:
--------------------------------------------

1) We may want to add a new button for Play Now (Clear)
2) We should have both Play Now and Play Now (Clear) in the main menu and context menus
3) We must change the menus so that keyboard shortcuts are reflective of the changes suggested above
4) We must update the configuration UI along the following lines:
 
Settings for 'Double-Click Action' is replaced with the following:
Default 'Double-Click' Action:
 When playback is stopped: Play Now, [Play Now (Clear)], Queue Next, Queue Last, Edit Properties
 When tracks are playing: Play Now, Play Now (Clear), Queue Next, [Queue Last], Edit Properties

Note: If we decide to have only 1 Play Now command in the menus, then we might also want to change another config option as follow:
'Play (track) Now' plays --> 'Play Now' Action:
Clear tracks & play selected + subsequent
Play selected + subsequent
Clear tracks & play selected only
Play selected only

rusty

2005-01-20 16:59

administrator   ~0005189

Based on IM discussed, we decided that we would leave the current limited number of buttons (i.e. keep it at 3 instead of adding a fourth). In terms of implementation, this would mean:

(a) Shortcuts and Keyboard Commands Must be updated:

Current Keyboard commands as they appear in the menus are:
Play Now: <Enter>
Play Now alternate: <Alt><Enter>
Play Next: <Shift><Ctrl><Enter>
Play Last: <Ctrl><Enter>
Edit Tracks: <Shift><Enter>

The problem here is that <Enter> actually triggers the default double-click behaviour which may not be 'Play Now'. I'm not certain, but from what I see of the implementation 'Play Now' is actually always <Alt><Enter>, and so the menus should be updated to reflect this.

i.e. the following should appear in the menus (and <enter> should not appear because it's behaviour is configurable):
<Alt><Enter> --> Play Now (this is the only change)
<Ctrl><Enter> --> Play Last
<Shift><Ctrl><Enter> --> Play Next
<Shift><Enter> --> Edit Properties


(b) Updates to the configuration UI:
 
Settings for 'Double-Click Action' is replaced with the following:
Default 'Double-Click' Action:
 When playback is stopped: [Play Now], Play Next, Play Last, Edit Properties
 When tracks are playing: Play Now, Play Next, [Play Last], Edit Properties

Also, the Play Now setting should be changed as follows:
'Play (track) Now' plays --> 'Play Now' Action:
Clear tracks & play selected + subsequent
Play selected + subsequent
Clear tracks & play selected only
Play selected only

Note: It's probably obvious, but here is what is meant by each of the new Play Now actions:
Clear tracks & play selected + subsequent
 -If a single track is selected: Clear Now Playing; Queue all tracks beginning with the _selected track_ (i.e. do not add tracks previous to the selected track to the list) and start playback at the selected track
 -If multiple tracks are selected: Clear Now Playing; Queue all selected tracks and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)

Play selected + subsequent
 -If a single track is selected: Queue all tracks beginning with the selected track and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)
 -If multiple tracks are selected: Queue all selected tracks and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)

Clear tracks & play selected only
 -Clear Now Playing; Queue all selected tracks and start playback at the _first selected track_ (i.e. do not add tracks previous to the selected track to the list)

Play selected only
 -Queue all selected tracks and start playback at the _first selected track_ (i.e. do not add tracks previous to the selected track to the list)

Note: (a) _must_ be done for 2.3 (b) would be a great performance/usability enhancement, but would require a few minor string changes so we may want to defer it.

jiri

2005-01-21 09:08

administrator   ~0005192

a) There actually is a problem with this - Currently Enter (if used as by default for Play Now) does this action as specified in Options dialog. However Alt+Enter was chosen for alternative behaviour, i.e. it does the other option with _isn't_ selected in Options dialog. This can be quite useful and would be broken this way. We can further discuss over IM.

b) As I wrote in an e-mail, this could generally work, but I don't much like 'Queue all tracks _beginning_ with the selected track'. The reason is that in the current implementation I can double-click a track, its playback starts and I can use <- (Previous) button go to the track above the double-clicked one. I really like this feature and think that it would be very missed.

In any case, b) should wait after 2.3 release, we'll discuss a) further.

rusty

2005-01-21 13:04

administrator   ~0005193

re. a) The main thing I'm trying to accomplish is for the hotkey shortcuts as they appear in the menus to be accurate--currently they're not.

As I see things now, there are 2 possible approaches:
i) the approach I described
ii) dynamically updating the menus so that proper hotkey assignements appear

Re. i) I'm not sure why it would be less usable; as it stands there are currently 3 Play commands currently implemented, and if I understand the current implementation, the following hotkey assignments are permanent:
Play Now: <Alt><Enter>
Play Next: <Shift><Ctrl><Enter>
Play Last: <Ctrl><Enter>
Edit Tracks: <Shift><Enter>
'Double-Click Action': <Enter>

I'll I'm suggesting is to correct the menus/context menus to indicate that that Play Now is accessed via <Alt><Enter> (since <Enter> often has another effect).

jiri

2005-01-23 09:39

administrator   ~0005200

Fixed in build 835.
 - As discussed by IM, a) is fixed by dynamically changing the shortcut, i.e.:
If Alt is pressed, do the other action than is selected in Options, which means:
  Enter = Play as in Options
  Alt-Enter = Play as not in Options
However, if Enter is assigned to other than Play Now action (by DblClkAction), Alt-Enter acts exactly as Enter.

rusty

2005-01-31 16:43

administrator   ~0005238

Verified in 835.

Re-opening to document remaining issues for a post 2.3.1 release.

rusty

2005-08-17 02:48

administrator   ~0005725

Taking into account Jiri's comments and the need to use this configuration to support both Party Mode and Regular mode, the following changes would suffice:

(b) Updates to the configuration UI:
 
Settings for 'Double-Click Action' is replaced with the following:
Default 'Double-Click' Action:
 When playback is stopped: [Play Now], Play Next, Play Last, Edit Properties
 When tracks are playing: Play Now, Play Next, [Play Last], Edit Properties

Also, the Play Now setting should be changed as follows:
'Play (track) Now' plays --> 'Play Now' Action:
Clear tracks & play selected + subsequent
Play selected + subsequent
Clear tracks & play selected
Play selected

Description of each of the Play Now actions appears below:
Clear tracks & play selected + subsequent
 -If a single track is selected: Clear Now Playing; Queue tracks but start playing the _selected track_ (i.e. exactly as Play Now behaves today).
 -If multiple tracks are selected: Clear Now Playing; Queue all selected tracks and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)

Play selected + subsequent
 -If a single track is selected: Queue all tracks beginning with the selected track immediately after the currently playing track and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)
 -If multiple tracks are selected: Queue all selected tracks immediately following the currently playing track and start playback at the _selected track_ (i.e. do not add tracks previous to the selected track to the list)

Clear tracks & play selected
 -Clear Now Playing; Queue all selected tracks and start playback at the _first selected track_ (i.e. do not add tracks previous to the selected track to the list)

Play selected
 -Queue all selected tracks immediately following the currently playing track and start playback at the _first selected track_ (i.e. do not add tracks previous to the selected track to the list)

Note: Default behaviour should be as follows
----------------------------------------------
Normal Mode:
 When playback is stopped: Play Now
 When tracks are playing: Play Now
 'Play Now' action: Clear tracks & play selected + subsequent

Party Mode:
 When playback is stopped: [Play Now]
 When tracks are playing: Play Next
 'Play Now' action: Play selected

rusty

2005-08-17 15:32

administrator   ~0005730

Last edited: 2005-08-17 15:39

To follow up on our discussion, perhaps the best way to present this would be the following in the 'Party Mode' config panel:

[x] Override default Player Controls in Party Mode:
. . Default 'Double-Click' Action:
. . When playback is stopped: ..
. . When tracks are playing: ..
. . 'Play Now' Action: ...
. . Numeric Keypad Activator: ...

...and have a matching Player config panel entry as previously described.

Ludek

2005-08-17 23:29

developer   ~0005732

Ok Rusty. Based on our today's discussions and your added 5730 note I'm implementing it this way, but I think that 'Numeric Keypad Activator:' is general think which needn't to be configurable by party mode specially.

Ludek

2005-08-17 23:59

developer   ~0005733

Last edited: 2005-08-18 09:23

We need set 'Play Now' action shortcut to be always 'Alt+Enter' to prevent problem with changing this shortcut from 'Enter' to 'Alt+Enter' depending on if a track is currently playing or not. (In case of different setting of Double Click Action for 'When playback is stopped' and 'When track are playing' we could see this ugly aspect which must confuse the users)

rusty

2005-09-09 00:50

administrator   ~0005779

Verified 892.