View Issue Details

IDProjectCategoryView StatusLast Update
0012181MMANow Playingpublic2014-10-30 08:27
Reporterpeke Assigned To 
PrioritynoneSeveritytweakReproducibilityN/A
Status resolvedResolutionno change required 
Product Version1.0.7 
Target Version1.1.0 
Summary0012181: Shuffle: Function Tweaks
DescriptionWhen Shuffle is enabled and Now playing is not too long, it could be wise to implement that while in shuffle mode MMA do not repeat already shuffled tracks for playback session until all tracks from playlists are played (eg. Flag played track as Shuffled while assigning number so that MMA knows previous shuffle order in case user press PREV) and than ignore/reshuffle in case it gets picked by accident.

Flags will be cleared if:
- MMA is closed (Paused or in Idle timer will not reset shuffle)
- tap on playlist to play track

Flags will not be cleared if:
- user uses NEXT button
- User Uses PREV button (only exception is if MMA plays 100 shuffled track and user press PREV to play 98 shuffled track than pressing NEXT will not Play 99 shuffled track but play random track not played and set it as 99)
TagsNo tags attached.
Fixed in build

Relationships

related to 0011933 closedmartin It's easy to accidentally overwrite the current ad-hoc playlist 
related to 0012086 closedmarek Summary: Refactor and improvements of playback 
related to 0011625 feedbackrusty Shuffle mode: play order isn't displayed or retained 

Activities

marek

2014-10-30 08:27

developer   ~0040839

It was always implemented in similar way. It had to be reworked for DB tracklist in 1.1 but the process is ok and still the same:

We use history when shuffle is enabled. So we are able to get the correct previous track. This way we are also able to get next shuffled track that is not in history.

History is cleared when new tracklist is created. There is no need to clear it when MMA is closed.

History also work better when some tracks are removed...because there are no numbers...only list of tracks that is automatically updated when some track is deleted.