MPD icon indicating copy to clipboard operation
MPD copied to clipboard

Add album playback mode

Open Forage opened this issue 3 years ago • 5 comments

Feature request

What I'm missing in MPD is an album shuffle mode. A way to have it randomly pick an album from the playlist, play that album from start to finish, followed by randomly picking a new album to play, etc.

With the existing playback options (consume, random, repeat and single), if album mode would be enabled, either:

  1. all could be functioning on album level; repeat the whole album, stop after having played the whole album, etc
  2. have every option work on song level; repeat the one song when repeat was enabled, stop after the one song, play the songs randomly within the random album
  3. or random could be the only exception; repeat the one song when repeat was enabled, stop after the one song, etc but have random only act as the indicator for picking a random album

I'd say option one would be the most obvious and predictable to the user and has therefore my preference.

What do you think?

Forage avatar May 20 '21 14:05 Forage

I don't quite understand. You want an additional "album mode", which is a modifier for (some of) the other modes? Let's start with random mode: you said "only act as the indicator for picking a random album", but under what circumstances shall MPD pick a random album? This also needs a precise definition what an "album" is.

MaxKellermann avatar May 20 '21 14:05 MaxKellermann

Yes, an additional album mode that can be toggled on and off. Based on the functioning of the current playback options (consume, random, repeat and single) this would have an impact on those when this mode is enabled.

Option 1 of implementing it: To make it do what I'm after (album shuffle) I would enable album mode and random and start playing. It will pick a random album, play the first track until the last of that album, and pick a different album randomly again. If I don't have random enabled it will simply play the next album in the playlist when the current playing album is finished. Unless e.g. repeat is enabled, in which case it would repeat the current album from start to finish again.

Option 2 of implementing it: Enable album mode and start playing. album mode in this case would imply a random on album level. It will pick a random album, play the first track until the last of that album, and pick a different album randomly again. When I activate random on top of that it will not play the picked album from the first to the last track, but play each track within the album in a random order, followed by randomly picking a different album again. Enable repeat and only the song that was playing when it was enabled is going to be repeated.

Option 3 of implementing it: Like option 2, but in this case album mode does not imply a random on album level unless you enable random as well, but it will play the tracks of the album from start to finish instead of randomly within the album.

The definition of "album" depends on the presence of the 'album name' and 'album artist' tags. Songs without an 'album name' tag are either ignored of considered an album all together. Songs with the same 'album name' tag are considered the same album, but separated by 'album artist' tag if present.

Playing from start to finish means lowest to highest 'track number', because tracks could be missing.

Forage avatar May 20 '21 15:05 Forage

There are a few scripts etc. that do random album shuffle, but these require command-line access. The ability to natively (in clients) enable jumping to the start of a random album when the playing album finishes would be amazing.

mxmilkiib avatar Mar 16 '22 01:03 mxmilkiib

The myMPD jukebox mode does exactly this: https://github.com/jcorporation/myMPD

jcorporation avatar Nov 05 '22 11:11 jcorporation

ncmpcpp commandline client has kind of supported this at a basic level for years, although it instead populates a playlist with n number of random albums/artists/songs etc. But there is no awareness that it is storing albums so you can't skip/forward or back at the album level.

So agreed, I'd love to see this feature happen.

aqxa1 avatar Jun 14 '23 10:06 aqxa1