View Issue Details

IDProjectCategoryView StatusLast Update
0018988MMW 5Now Playingpublic2024-03-10 12:31
Reporterrusty Assigned To 
PriorityurgentSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
Product Version5.0.4 
Target Version5.1Fixed in Version5.1 
Summary0018988: Make Shuffle mode display track order (and related improvements)
DescriptionShuffle mode in MediaMonkey has long been implemented in a manner similar to Winamp in which the Player randomly selects tracks from the list of tracks in the queue. This results in several deficiencies:

1) The user cannot see what tracks are going to be played next
2) The user cannot see what tracks have been played
3) If the users restarts MM after some tracks in the list have been played, the randomization process begins afresh (there's no record of which tracks have been played)
4) There can be UI conflicts between Auto-DJ and Shuffle mode (i.e. if the Auto-DJ is active, then it can conflict with Shuffle mode)
5) There's a need for different terminology (Shuffle mode vs shuffle vs randomize)

Many other modern players (e.g. Groove, YT Music, GoneMad) take a different approach to solve the above issues:
a) When 'Shuffle' is activated, tracks in the Queue are re-ordered. Disabling 'Shuffle' undoes the re-ordering. This resolves issues 1, 2, 3 and 5.
. Note:
. i) in the above implementations, 'Shuffle' generally functions like MM's 'Randomize' function--i.e. it's a transient operation and tracks played or added subsequently do NOT get shuffled (the mode changes back to 'Normal' once the user adds unshuffled tracks). AND in some implementations, while 'Shuffle' is enabled, the default playback commands change so that tracks are queueable shuffled. i.e.
- Normal mode has: Play, Play Next, Enqueue, Shuffle
- Shuffle mode has: Play, Play Next, Enqueue, _Enqueue Shuffled_, Shuffle

b) Auto-DJ is mutually exclusive to Shuffle to solve issue 4. i.e. there are 3 modes: Normal, Shuffle, and Auto-DJ, all controlled via a 3-way toggle.

For MM5, we could take the approach:
a) Similar to other players as described above:
i) Randomize the Playing list when Shuffle is activated (and rely on 'undo' functionality to undo changes to the Playing list order)

ii) Leave 'Shuffle' enabled until the user plays tracks normally (unshuffled)

iii) When 'Shuffle' is enabled, change the presented order of commands and shortcuts from:
Play now . . Alt+Enter
Play next . . Ctrl+Shift+Enter
Play last . . Ctrl+Enter
Play Shuffled >

To:
Play now (shuffled) . . Alt+Enter
Play next (shuffled)
Play next (shuffled/mixed) . . Ctrl+Shift+Enter
Play last (shuffled) . . Ctrl+Enter
Play normally >

iv) When Shuffle mode is enabled, Change the order of browser view playback commands [Play all] [Play shuffled] --> [Play shuffled] [Play]

v) Remove the 'Randomize list' command (since it duplicates the revised 'Shuffle' functionality).

vi) Change the Shuffle tooltip to 'Shuffles the Playing list and makes default play commands shuffle tracks.'

b) Make the Shuffle command a 3 way toggle (i.e. add Auto-DJ to it).

Note: This might seem to be a signficant change from MM3/MM4, however, although there are some UI changes, workflow remains almost completely unchanged. The only difference is that disabling 'Shuffle' wouldn't cause the Playing list to play in it's pre-shuffled order. Issue 0000023, suggested an alternative implementation which addressed that, however, I believe that the current proposal is more understandable (and probably easier to implement).
TagsNo tags attached.
Fixed in build2818

Relationships

related to 0000023 resolvedrusty MMW v4 Configurable Shuffle functionality (current behavior vs randomize list) 
related to 0016622 closedmichal MMW 5 Now Playing: Unexpected behavior when Changing Sort order 
related to 0016061 feedbackrusty MMW 5 Playing list (panel): Numerous issues with Randomize List functionality 
related to 0018776 closedLudek MMW 5 Automatically retain X files in Playing list does not work when Shuffle is enabled 
related to 0019934 newrusty MMA Rationalize Shuffle and Randomize functionality so that queue order is reflective of play order as in MMW 5.1 
related to 0019569 closedpeke MMW 5 Filters: filtering the Playing list causes the track number to change 
related to 0020054 newmartin MMA Album Shuffle 
related to 0020199 closedmichal MMW 5 Shuffle On/Off do not focus playing track 
related to 0013389 closedpeke MMW 5 Now Playing: Improve handling of previously played tracks 
related to 0020300 closedmichal MMW 5 'Play now' action set to 'Play selected files only' does not work correctly (regression) 
related to 0020503 closedmichal MMW 5 Play on Info Panel doesn't add files shuffled when Shuffle is enabled 

Activities

Ludek

2022-04-21 19:32

developer   ~0067661

ok, makes sense for me and also some possitive feedback about this future change is already here: https://www.mediamonkey.com/forum/viewtopic.php?p=496119#p496119

Assigned to Michal re feedback and for implementation.
Feel free to ask also the support team whether they see some disadvantages (or usability miss) with the newly suggested approach.

rusty

2022-09-19 16:04

administrator   ~0069368

Moving to 5.1.

rusty

2022-10-22 23:08

administrator   ~0069944

As discussed, terminology to be adjusted based on https://www.mediamonkey.com/forum/viewtopic.php?t=102722

michal

2022-11-09 17:00

developer   ~0070217

Fixed in build 2800. Changes in terminology included. Two things were not implemented:
1) Shuffle button left as 2-state (On/Off), Auto-DJ can work in both modes, I do not see any conflict.
2) hotkeys left untouched. It would be problematic and very confusing to have the same hotkey for two different actions, like Alt+Enter for Play Now and Play Now (shuffled). Users can set hotkeys for both actions separately, forcing to change them to something else or switch them after changing Shuffle state is not a good idea I think.

michal

2023-03-08 17:22

developer   ~0071325

Reopened, shuffle now does not work as expected now (Next in shuffle mode skips to random track instead of next), seems to be some regression.

michal

2023-03-08 18:10

developer   ~0071326

Fixed.

michal

2023-03-21 13:00

developer   ~0071381

Last edited: 2023-03-21 13:00

Things to decide:
1) playback rule "Ignore Shuffle" is not used now, as it was used only for the old shuffle functionality. Should we remove it or should it have some other use?
2) pressing "Shuffle" when activating shuffle mode now randomizes whole Playing list, just like old Randomize list function. Maybe it should randomize only tracks AFTER currently playing/active track?

Ludek

2023-04-20 12:45

developer   ~0071562

Per feedback here: https://www.mediamonkey.com/forum/viewtopic.php?t=104130
and also per my opinion there are some bugs, see the forum link.

Namely double-clicking a tracklist to play and immediatelly enabling shuffle should move highlighted (playing) track on top of the Playing list.

michal

2023-04-20 18:03

developer   ~0071571

Last edited: 2023-04-20 18:03

So summary:
1) remove "Ignore Shuffle" setting, as it currently does not have any function
2) activating "Shuffle" with some track active or playing should
  a) place active track as the first and shuffle the rest
  b) shuffle only tracks after the current one
(I prefer the latter, but hard to say, could be also as new setting instead of Ignore Shuffle)
3) double-clicking some track (if Play now action is set to "Clear list & Play selected + subsequent") will add clicked track as first and shuffle the rest of added tracks.

Rusty please review this and decide what to do in 2), then assign me back, thanks.

peke

2023-04-21 00:16

developer   ~0071578

Please note that Ignore shuffle should be actively used when you play Audio Books and Podcasts so that you do not need to disable shuffle when playing unplayed podcast episodes and have Shuffle enabled for regular Music Playback eg. Enable Shuffle -> Add 5 Episodes of podcast and play first then after those 5 episodes MM resume shuffle behavior (2690 Behavior).

Reviewing this now current behavior completely break podcast playback.
0. Settings fro play now is in attached picture + Shuffle is off
1. Add number of tracks to playing list
2. Start Playback
3. Add bunch of AudioBooks/Podcast episodes as NEXT so that you p[lay them in order
4. In middle of listening you noticed that Shuffle ois off and you want to continue shuffle playlist after you listen the episodes
5. Turn on shuffle
6. Order of Episodes are lost

Example 2 when you play playlist:
1. Play some track from 1k Now playing playlist (Shuffle off)
2. Right click on playlist -> Queue Last
3. Double click to play some track from playlist
4. You decide to play some shuffle tracks and enable Select Shuffle and all tracks in Now playing including playlist one are shuffled all over
5. No way to easily stop shuffler and continue playback of playlist order you added. Only if you have not done any additional changes to now playing you can use ⋮ -> Undo -> Randomize list and start playback of playlist or you clear playlist, disable shuffle add that playlist again (thus loose 1k of tracks in playlist)

I tested number of apps and enabling shuffle do not change Now playing track list order in UI, just background cached queue order. If I want to add selection as shuffle then I would use Right click Play shuffled -> Queue Next/Last even in some cases Mixed

From What i see the problem is that Play shuffled options are not available as Play Now actions so user can Select full set behavior as shuffled eg. "Clear... Play Selected shuffled Mixed + subsequent" Which will Shuffle mix playlist to existing Now Playing.
image.png (7,720 bytes)   
image.png (7,720 bytes)   

peke

2023-04-21 00:33

developer   ~0071579

Video Showing enabling shuffle make irreversible damage to Now playing.

https://www.dropbox.com/s/z0ynbmpi2h3iqxl/bug18988.mp4?dl=0

peke

2023-04-21 00:42

developer   ~0071580

Additional test showed that if Shuffle is ON and you add AudioBooks in list as Play next they are played normally in order, but if you disable and enable Shuffle then they are scrambled (shuffled) across playlist.

michal

2023-04-21 14:38

developer   ~0071587

Last edited: 2023-04-21 14:39

Peke: this issue is about changing of previous behavior of shuffle. So "apps do not change Now playing track list order in UI, just background cached queue order." is irrelevant, as this previous behavior was the main reason for this issue, as users did not like it and wanted to see tracks in the shuffled order, not some unclear hidden order.
I personally do not understand, why somebody switches shuffle on and then plays audiobook, where shuffling is not wanted.

Anyway we now do "Randomize list" function on shuffle as requested, your points go mostly against the assignment. You in fact want to return previous behavior.

peke

2023-04-21 19:44

developer   ~0071591

Last edited: 2023-04-21 21:00

No, even I think that previous behavior was better that current one, I would like to make this fixed rather than revert.

Current behavior makes shuffle completely unusable for me especially in custom Play now Environment (95% of cases).

I agree that this behavior have its benefits. But it completely negate (make obsolete) Grouping (one of the most requested feature in past) and Ignore shuffle option because it is completely ignored and irreversibly change Now playing.

Thing I expect from Now playing behavior we already use in Static playlist eg.
1. Add randomly 100 tracks to Static Playlist (different artist/titles and randomize list)
2. focus that playlist
3. click on title to sort by title
4. # column is now Randomized as sort is changed, but it require SAVE in order to make it permanent so if you change

Now playing is permanently changed each time when you enable Shuffle and no way to revert sort unless you UNDO Shuffle like it is Playlist edit function and not PLAYER/PLAYBACK ONLY function that is temp behavior.

Also Play Now while playing loose meaning because as soon as you Enable shuffle All is garbled. another example you add bunch of Albums you want to check metadata, but do not want to listen complete albums while doing that but shuffle so you enable Shuffle -> List is randomized and tracks from album are all over the place and you need to scroll hold CTRL + Scroll to select all tracks from album.

The expected behavior if we want to make UI changes when activating Shuffle in MM player it should behave like in pictures (I will use Main screen as it can easily show behavior of now playing) before and after activating Shuffle:
1. Add bunch of tracks to playlist (Column # is Visible) (PIC1)
2. Enable Shuffle (PIC2)
3. Actual Playlist order is not changed (# column shows correct order without shuffle on) while UI shows playback order
4. Disable Shuffle will revert UI to playlist order (PIC1)

This behavior have another benefit as if you actually change order of tracks (D&D) user will change playback order, but would still retain now playing playlist order.

peke

2023-04-21 20:58

developer   ~0071592

PIC1.png (185,457 bytes)   
PIC1.png (185,457 bytes)   
PIC2.png (203,317 bytes)   
PIC2.png (203,317 bytes)   

rusty

2023-04-24 15:33

administrator   ~0071603

Last edited: 2023-04-24 18:18

Summarizing all the discussions/feedback to-date:

1) Re. 'Ignore Shuffle': it should be implemented similarly to in the past. i.e.
a) As suggested by Michal/Jiri: If shuffle is activated and such tracks are in the list, randomize all continuous regions of tracks with Ignore Shuffle set together. I.e., if tracks 5-9 in NP belong to Ignore Shuffle set, they will be shown in the very same order after Shuffle is pressed, but at random position of the resulting list (or perhaps even at the beginning of the shuffled section of the list).
b) If such tracks are queued while Shuffle mode is enabled, treat them as if shuffle mode is not enabled.


2) Effects of toggling the function:
a) Activation: I think that the suggested behavior of shuffling tracks that are after the currently playing track makes sense (option b).
. i) The downside is that there wouldn't be a simple way of shuffling the entire list so it might be a good idea to add back 'Re-shuffle' to the Now Playing list context menu (previously 'Randomize').

b) De-activation: As currently implemented, disabling Shuffle mode does nothing. I think this is the best approach, except perhaps in the case when the last action on the Playing list was to shuffle it, in which case undoing that action could make sense. On the other hand, that might seem like a bug (that sometimes it undoes the shuffle and other times it doesn't), so I'd leave this as is for now.


3) The current shuffle commands don't always yield the expected results:
a) Play now (shuffled): I kind of agree--it should add clicked track as first and shuffle the _subsequent_ tracks (i.e. the tracks prior to the double-clicked track should appear before the playing track).
b) When the user selects a single track and clicks Queue next (shuffled) or Queue last (shuffled) the 'shuffled' indicator is confusing because nothing actually gets shuffled. Would it be feasible to just display 'Queue next' / 'Queue last' if only a single track is selected?


4) Shuffle mode currently affects the Play order (#) in the tracklist for Playlists: When Shuffle mode is enabled, it currently changes the Play order field in the tracklist for Playlists. Shuffle mode should only affect the Playing node/window (there is a need for playlist management tools in the same way as Playing list management tools, but that's a separate issue).


5) Very minor issue: Regarding hotkeys, when the user switches toggles 'shuffle' mode, wouldn't they expect hotkeys to work as in the past? i.e. ENTER --> Play tracks (shuffled) already works in this manner, so shouldn't the following?
CTRL SHIFT ENTER --> Play next (shuffled)
CTRL ENTER - Play last (shuffled)


6) One question/possible issue: will the revised implementation break any addons and is there anything that we can do to limit this.

jiri

2023-04-25 07:38

administrator   ~0071607

2)
a) I'd prefer to shuffle all tracks here (i.e. option a). The use case I'm thinking about is: Start playback of the 3rd track of an album, then decide to play the rest shuffled => I'd expect Shuffle click to shuffle the whole album.

b) I think that the 'does nothing' part could be improved by showing a Toast message on Shuffle click. As for the undo of shuffle -- I'm not sure here. Maybe the Toast message could also have a button 'Original track order'?

rusty

2023-04-26 03:29

administrator   ~0071617

Last edited: 2023-04-26 03:30

2a) I suspect that the most common case would be that a user double-clicks a track expecting it and the tracks that follow to play (whether shuffle is enabled or not). BTW, this is also how MMW 5.0.4 works.

Re. 2b), I discussed this further with Peke and the problems are a bit more clear to me now. They are:

i) With 5.0.4, the user can disable Shuffle to get back to the original playlist order and continue playing the next track from the original order (e.g. if the original order was by Album, the user can disable shuffle and continue listening to tracks from that album). With 5.1 the user can do this:
- via Undo, but it’s not as intuitive and also undoes edits to the Playing list
- by sorting by another attribute such as Album to easily see the other tracks on the album, but this doesn’t work well either (see ii below).
ii) With 5.0.4 sorting by other attributes isn't mutually exclusive to shuffling--so the user can view other sort orders even if shuffle is enabled. With 5.1, when the user sorts ‘Playing’ by Album in order to view other tracks on the Album, it causes the Playing list '#' column to update to match the new Album sort, effectively overriding the Shuffle function. i.e. Shuffle is enabled, but the tracks are no longer being shuffled! This is basically another instance of the issue already described at 0016622
iii) Peke also believes that the current approach will break scripting (I’ll leave that to the devs to evaluate).

To resolve the above, Peke is suggesting that MMW's Playing list should work in a manner similar to how sorting of static Playlists currently works (this is roughly what was previously suggested at 0016622). i.e. Playlists have the actual play order '#' field, but if the user sorts by Title, the tracks are listed in the revised play order but the original play order is still retained and list operations are performed on the original play order.

For the Playing list, this could work as follows:
A) Enable Shuffle --> tracks are randomized, but the original play order is retained (in a field hidden from the ‘Playing’ window but optionally displayable in the ‘Playing’ tracklist as ‘[sort icon] #’). A ‘Save new play order’ icon appears once ‘Shuffle’ mode is enabled, and If the user ‘Saves’ it, then the original play order is overwritten with the Shuffled order.

When Shuffle is enabled:
B) Additions to the queue (Queue next / Queue last) would update both the 'original Play order' (items queued unshuffled) and the ‘Shuffled order’ (items queued shuffled) variables.
C) Attempts to re-order the queue would only reorder the Shuffled Playing list (and not the 'original Playing list').

D) Toggling Shuffle off would revert to a version of the Playing list that's similar to what the user had–i.e. It’s the original Playing list plus Queued items but without re-ordering changes (unless the user previously clicked SAVE, in which case the new Shuffled order would have been saved). Note that this is currently the default behavior in build 2802 when Shuffle is enabled.

E) When navigating to Tree > Playing, sort orders of # and/or [Shuffled]# would display, the default sort depending on whether Shuffle is enabled.

F) In Tree > Playing, sorts by anything other than the default sort would cause the # and/or [Shuffled]# sort order numbers to update, and a 'Save' icon to appear (as with Playlists).

jiri

2023-04-26 09:36

administrator   ~0071618

I agree with the idea of having an option to return to the original order. That said, for me the introduction of a different sort order and its 'Saving' to the real sort order sounds a bit too complicated even for somewhat advanced users. What about something like this:

1. Introduce _internally_ the original sort order field. It can be maintained while Shuffle is enabled, as much as possible. This field could be made accessible to scripts, but I don't think it should be visible to users (unless a script implements it).
2. When Shuffle is disabled, NP order will _always_ revert to the original sort order. In order to avoid unwanted modifications, there will be a toast message shown 'Reverted to the original Now Playing order [Keep Shuffled order]'. By clicking the button, the user will be able to keep the shuffled order, even though the Shuffle mode is no longer enabled.

michal

2023-04-26 10:04

developer   ~0071619

Last edited: 2023-04-26 10:05

But what is "original sort order" if user changed NP list during shuffle mode? I.e. something added/inserted somewhere, something removed, something moved.
I agree, it sounds quite complicated now, hard to think of all possible variants. I also do not like idea with "Save" button, reasons described here: https://www.ventismedia.com/mantis/view.php?id=16622#c60276
This would also again destroy the original idea of this issue - show real playing order in NP list.

Btw. we did not have anything like shuffle order for previous shuffle functionality, even app. did not know in advance, what will be played next (that is why it could not display tracks in shuffled order before).

jiri

2023-04-26 13:26

administrator   ~0071622

As for the "original sort order", there certainly doesn't exist anything like this after some operations with the Shuffled list, but I think that there does exist something like "expected original sort order". E.g. after playback of album A, pressing Shuffle, adding album B to NP, reordering and removing some tracks and turning Shuffle off, I'd expect albums A and B in the NP in their original track# order with the removed tracks missing.

michal

2023-04-26 14:40

developer   ~0071623

OK, so when activating Shuffle, we will backup original sort order of NP list to new hidden column and will fill this column for all newly added tracks as they would be added to the end of the list. After deactivating shuffle we will sort the list by this column. This should be doable. But probably should have some new option, as e.g. I would not be happy with resorting NP list after deactivating shuffle.

peke

2023-05-27 16:32

developer   ~0072103

Last edited: 2023-05-27 16:34

Here is small .XLSX file, which due the limitation of Spreadsheet manipulation simulate only one part of Shuffle ON/OFF behavior with hidden Original order column.
LEGEND:
Playback ORDER # = Playback order [Now Playing list] (Should be same as NOW PLAYING # when Shuffle is OFF)
NOW PLAYING # = Original Order in which tracks are added to Playlist
Shuffle RANDOMIZE KEY = Random Seed simulating result of RANDOMIZE LIST (Calculated each time SHUFFLE gets ON or user use ⋮ -> RANDOMIZE LIST)

SHUFFLE ON = To simulate Shuffle ON use Drop Down on "Shuffle RANDOMIZE KEY" -> Sort Ascending -> Playback is shuffled, but "NOW PLAYING #" is not changed
SHUFFLE OFF = To simulate Shuffle OFF use Drop Down on "NOW PLAYING #" -> Sort Ascending and It is reverted to original order eg. ROW # and "NOW PLAYING #" should match.

rusty

2023-08-08 21:21

administrator   ~0072554

Last edited: 2023-08-09 19:46

To summarize, here are the main issues and suggested fixes, in order of priority. Items 1-5 are clear bugs with the current implementation and are hopefully relatively simple to fix as much of the negative feedback to-date is related to these issues. Issues 6-8 are also bugs, but involve design changes.

1) When shuffle is enabled, double-clicking a track M in the tracklist causes playback to start with a track other than track M! This is really surprising to users. What should happen is that track M should play. The same applies when the users selects a track and taps "Play (shuffled)" (item 3a from 0018988:0071603). Note, in both cases, the logic for shuffling of other tracks should be the same as in issue 2. i.e. assuming we take the first approach described there, the tracklist would be:
A-L
M (playing)
N-Z (shuffled)


2a) Activating shuffle (item 2a from 0018988:0071603): When activating shuffle while track M in a list of tracks A-Z is being played, MediaMonkey continues playing track M, but mixes it into the middle of the shuffled Playing Queue. This results in many tracks not being played, and many tracks that have already played being played again. What should happen instead is either:
i) Continue playing M in its current position and shuffle all of the following tracks N-Z. i.e. The queue would be:
A-L
M (playing)
N-Z (shuffled)

ii) Continue playing M as track 1, and shuffle all other tracks A-Z following track 1. i.e. the queue would be:
M
A-Z except for M (shuffled)

Notwithstanding Jiri's preference, as discussed above, approach 2ai) is more consistent with issue 1), consistent with MM4, and what users expect (based on forum feedback). The downside is that to shuffle the entire list (or to Shuffle an Album), the user must click the first track and then 'Shuffle' (or in the case of issue 1) double-click the first track if shuffle is enabled), but I consider this to be a minor issue.


3) Shuffle mode changes the Play order (#) field for Playlists (item 4 from 0018988:0071603): When Shuffle mode is enabled, and the user plays a playlist, MMA changes the Play order (#) field for all tracks in the playlist. It appears to the user as if all their hard work in organizing the Playlist has been lost, but fortunately, the issue is transient and goes away when the user refleshes the Playlist. Shuffle mode should only affect the Playing node/window (there is a need for playlist management tools in the same way as Playing list management tools, but that's completely separate functionality).

Note: this issue also occurs when the user taps the 'Play shuffled' button at the top of a playlist. Although we may have thought that is a good idea at one point, I would consider that a bug as well.


4) Some play shuffle contextual commands are misleading (item 3b from 0018988:0071603): When the user selects a single track and clicks Queue next (shuffled) or Queue last (shuffled) the 'shuffled' indicator is confusing because nothing actually gets shuffled. Would it be feasible to just display 'Queue next' / 'Queue last' if only a single track is selected and display 'Queue next (shuffled)' / 'Queue last (shuffled)' when multiple items are selected?


5) 'Ignore Shuffle' should be implemented similarly to in the past (issue 1 at 0018988:0071603):
a) As suggested by Michal/Jiri: If shuffle is activated and such tracks are in the list, MM should randomize all continuous regions of tracks with Ignore Shuffle set together. I.e., if tracks 5-9 in NP belong to Ignore Shuffle set, they will be shown in the very same order after Shuffle is pressed, but at random position of the resulting list (or perhaps just prior to the shuffled section of the list).
b) If such tracks are queued while Shuffle mode is enabled follow whatever command was used. This is in contrast to the original suggestion, the rationale being that users have available shuffle and non shuffle play commands and they can use whichever they prefer.


6) Hotkeys don't work as expected when Shuffle mode is enabled (issue 5 from 0018988:0071603): When 'shuffle' mode is on:
- ENTER --> Play tracks (shuffled) as expected
BUT
- CTRL SHIFT ENTER --> Play next (shuffled) doesn't shuffle tracks
- CTRL ENTER - Play last (shuffled) doesn't shuffle tracks
This is a regression from MM 5.0.


7) De-activating shuffle (item 2b from 0018988:0071603): With 5.1, the user can't disable Shuffle to return to the original playlist order. There are workarounds such as using undo, or using sorting to switch back to the original sort order, but:
i) in cases when the user enables shuffle and then disables it without making changes to the playing list, the list should revert back to its pre-shuffle state, with the toast:
Shuffle Disabled. Reverting to unshuffled list.
ii) If the playing list had been modified subsequent to activation of Shuffle mode, then a toast can appear:
Shuffle Disabled. Unable to unshuffle due to edits--use 'Undo' to revert changes to the Playing list.

Note: De-activating shuffle Part 2 appears further down since it's a bit lower priority due to technical risk. Assuming Part 2 can be implemented, then this issue doesn't really need to be fixed.


8) If 'Shuffle' mode is enabled and the user sorts the Playing view (e.g. in order to perform edits on the playing tracks), it immediately updates the Play order and the shuffle is lost! While it's true that the intent of the revised functionality in 5.1 is for the user to be able to see tracks in the Playing list in the order in which they're played, this makes sense for 'Shuffle', but it's unexpected that sorting tracks would trigger a change in the Play order and lose the shuffle. This issue is tracked at 0016622


9) De-activating Shuffle Part 2: If this is feasible and not too complicated, as suggested by Peke, Jiri, & Michal earlier, when activating Shuffle, MMA will backup original sort order of NP list to a hidden column and update this column based on newly added tracks as if they're added to the end of the list (without tracking re-ordering / play next / etc.). That way, when shuffle is deactivated MM can always 'unshuffle' the list to reflect what users might expect it to show. Note: although this is grouped with item 2) I would suggest implementing this _after_ most of the other items below have been fixed.

rusty

2023-08-10 23:35

administrator   ~0072567

Last edited: 2023-08-11 12:33

One change to the proposal at 0018988:0072554:

2) Following discussion with Peke and re-considering Jiri and Michal's feedback, it seems that most are of the opinion that when it comes to enabling 'Shuffle' for an existing Playing queue, that approach ii) is preferred. i.e. when activating shuffle while a Playing queue is loaded (or loaded and playing) most users would expect all tracks to be shuffled rather than just those following the currently playing track (see related issue at 0016061:0067493). So the resultant queue would be:
M (the currently playing track)
A-Z except for M (shuffled)

Note:
- Although this is different than what happens when the user double-clicks a track in the tracklist (issue 1), the different behaviours in the 2 cases would be understandable (and possibly expected) to most users.
- Double-clicking a track in the Playing queue: at the risk of stating the obvious, no changes should be made to the queue in this case.

michal

2023-08-11 16:24

developer   ~0072572

1)-3) fixed in build 2812.

4) it could sometimes significantly slow down opening menu (action would need to load tracklist to check the number of tracks, as the menu can be opened on selection of any media item, like album, playlist, folder, not only on track(s)). Not sure, if it is a good idea, I would prefer speed of menu. I will decide later.

michal

2023-08-14 11:50

developer   ~0072576

4) fixed in build 2812, used tracklist we load anyway for other actions

michal

2023-08-15 12:16

developer   ~0072584

Last edited: 2023-08-15 17:14

5), 7) fixed in build 2812

michal

2023-08-16 06:17

developer   ~0072588

re 6) hotkeys. We have hotkeys assigned to specific actions. By default pressing Alt+Enter is for Play Now, Ctrl+Shift+Enter for Queue Next and Ctrl+Enter for Queue Last. Besides this, user can assign different hotkeys also to the shuffled versions of these actions. I think it is similar to 5b), i.e. if user wants to play next shuffled, he/she should use hotkey for Play Next (shuffled) action, otherwise it will be very confusing.
"Enter" is different, it is equivalent to the double-click in the list, not standard hotkey.

rusty

2023-08-16 14:32

administrator   ~0072593

Last edited: 2023-08-16 14:42

6) Re. hotkeys, I suspect that users will expect that the default behavior will change to shuffle actions when shuffle is enabled like it does for ENTER (most users probably won't realize the distinction between a hotkey and ENTER). But it's a minor issue and I also see your point. A possible solution would be to pre-create hotkeys for shuffling using a third key to modify existing shortcuts, BUT this would involve a change to the default shortcuts, e.g.
This wouldn't work:
Play now: ALT-ENTER, Play now (shuffled) SHIFT-ALT-ENTER
Queue next: CTRL-ENTER, Queue next (shuffled): SHIFT-CTRL-ENTER
Queue last: ????

OR Maybe:
Play now: ENTER, Play now (shuffled) SHIFT-ENTER
Queue next: CTRL-ENTER, Queue next (shuffled): SHIFT-CTRL-ENTER
Queue last: ALT-ENTER, Queue last (shuffled): SHIFT-ALT-ENTER
BUT, I suspect that there's a reason why we don't use ENTER as the 'Play now' hotkey (though I couldn't find it)

So maybe something like:
Play now: F10, Play now (shuffled) SHIFT-F10
Queue next: F11, Queue next (shuffled): SHIFT-F11
Queue last: F12, Queue last (shuffled): SHIFT-F12
But this would require changing other hotkeys!

So unless I'm overlooking a good easy solution, let's defer this for now.

michal

2023-08-16 15:04

developer   ~0072594

Resolving, so the resolved issues can be tested.

peke

2023-08-17 22:40

developer   ~0072647

Last edited: 2023-08-18 15:14

1-3 Verified 2813 re 2a ii) there is further way to improve this and make it customizable by user to be described (according to talk with Rusty and behavior document) after 9) is implemented and tracked in New BUG

4 Verified, I am unable to replicate slowness @Michal pointed, but I see the point on some PCs. Suggest reopening to new bug if needed.

7. both i) and ii) Verified 2813 NOTE: if there is more than 10 changes or Playlist have option to not retain all tracks (As deletion is classified as change) then user can't undo, but once 9. is implemented ii) will not be needed anymore because by fixing 9) MM will always know how to revert.

rusty

2023-09-29 21:58

administrator   ~0072960

Tested 2817 and most everything is working except:
5) Ignore shuffle is broken
1 Enable Shuffle
2 Select an Audiobook
3 Double click a track in the list
--> Tracks are Shuffled!

10) As described by Drak, the terminology should be Shuffle enabled / Shuffle disabled (without caps)

michal

2023-10-06 12:49

developer   ~0073030

Fixed in build 2818.