Moode Forum

Full Version: Shuffle on album level
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
This is a feature that I suggested in the past, but because of the forum change I'll re-suggest it.
I miss the way CDs or records were played, from start to end. While auto shuffle is generally great, there are albums that are one long, ordered creation and should be heard from start to finish. Its also nice to know the next track that is going to play... 
So, a shuffle of my library on album level would be great. The shuffle will randomly select an album and play the tracks in the correct order.
Hi,

It would certainly be a great feature but it would require a substantial coding effort, roughly same as what the incredible auto-shuffle feature by Josh Kunz required.
https://github.com/joshkunz/ashuffle

I don't have the expertise in C/C++ and libmpdclient to code this so its fate will be in the hands of some other dev that may be interested in taking on the feature.

-Tim
It doesn't have to be as complicated as the brilliant ashuffle as its different on several levels. There are several projects on github that do that (just search for "mpd shuffle album"). One of them actually might work without even changing moode (https://github.com/axujen/mpdrandom/blob.../README.md) as it runs as a daemon that feeds a new album into the Playlist whenever the last one finished playing. Unlike shuffling songs that requires intensive io every few minutes, album shuffling requires much less resources both because the number of albums is order of magnitude less than the number of songs and that the random choosing needs to be done order of magnitude less frequently
Hi,

Why not just continue your investigation into the feature and actually try out one of these programs that you have identified and see if one of them meets your needs. If it does then I'll have a look.

One requirement that I have for any type of shuffling feature is that it can be integrated in a way that does not grow the Playlist, similar to how auto-shuffle can make use of consume mode to remove the track that has just finished before adding a new randomly selected track.

Album shufflers add each track of the Album to the Playlist and so essentially same as a track shuffler but neither create any type of resource utilization issue except that perhaps Python based solutions may be less efficient than ones written in C/C++.

-Tim
I'll do that. Yes, having a gigantic Playlist is not good. I remember that with the old auto shuffle i had to reboot my moode (or was it rune?) because the interface stopped responding.
Thank you
Moshe
Shuffle-play by Album as opposed to shuffle-play by Track would be especially important for classical music listeners.

A symphony or other multi-movement piece is usually organized so that each movement is in its own file (or Track).
Then the individual movements are combined into one piece (a symphony, an opera, a concerto, etc.).
Usually there are two or more multi-movement pieces in an album. For instance, most CDs came with two Haydn or Mozart symphonies, since those symphonies are each about 20 to 25 minutes long. Each of those two symphonies, in turn, contain three or four movements (individual Track files).

The solution I've been using is to use an audio editor (Audacity, in my case) to combine the four or five Track files of a symphony into one big Track file. It's a royal pain in the keester, but it's the only way I know of to be able to put your moOde (or other) player in shuffle mode and hear complete symphonies/concertos/operas through the day, rather than hear Movement 3 from this symphony followed by Movement 2 of a different concerto, followed by an individual pop song, followed by another random movement from some random symphony, and so on.

Digital players are designed for music where each individual song is a single track file. I don't know of a player that organizes classical music playback well.

Re: Expanding Playlist - I could see a feature where an Album was randomly selected for playback, plays through its tracks in order (track 1 plays first, track 2 plays second, etc.) to its last track, that Album is deleted from the playlist, then another Album is randomly selected and played (tracks in order), then is deleted from Playlist, then another Album is selected/played/deleted from Playlist, and so on.
(09-16-2018, 03:41 PM)rongon Wrote: [ -> ]Shuffle-play by Album as opposed to shuffle-play by Track would be especially important for classical music listeners.
...
If you change that to "shuffle-play by work/composition" then would I agree.

Some of the works in my classical collection, notably operas, were spread over multiple CDs, some of them were combined on multiple CDs, like Beethoven's 9 symphonies as recorded by a single conductor/orchestra/related-sessions, some were combined on a single CD. Shuffle-play by work would allow me to chew through my collection during casual listening in the way a good classical radio station does. (Candidly, though, I'm usually focused on a specific work or predefined playlist of related works. I let Internet radio and music streaming services fill in my periods of casual listening.)

Some folks would still want shuffle-play by album; think theme albums like "Tommy" by the Who. [edit] I think of this as a work.

Whether shuffling by "album" or by "work" is the choice, the question for me is, what metadata/track naming/file organizational structure would be the primary key? I really don't want to combine multiple tracks into a single file plus cuesheet to get there but I admit I've considered it in the past.

Regards,
Kent
Conceptually, Album shuffle is simply some JS code that detects when the last track in playlist finishes and then it adds a randomly selected Album to the Playlist. It needs to have Consume mode on so that each track of the newly added Album is removed from the Playlist. This way the Playlist never grows, similar to how Auto-shuffle works for individual tracks.
(09-16-2018, 04:40 PM)TheOldPresbyope Wrote: [ -> ]
(09-16-2018, 03:41 PM)rongon Wrote: [ -> ]Shuffle-play by Album as opposed to shuffle-play by Track would be especially important for classical music listeners.
...
If you change that to "shuffle-play by work/composition" then would I agree.

Some of the works in my classical collection, notably operas, were spread over multiple CDs, some of them were combined on multiple CDs, like Beethoven's 9 symphonies as recorded by a single conductor/orchestra/related-sessions, some were combined on a single CD. Shuffle-play by work would allow me to chew through my collection during casual listening in the way a good classical radio station does. (Candidly, though, I'm usually focused on a specific work or predefined playlist of related works. I let Internet radio and music streaming services fill in my periods of casual listening.)

Some folks would still want shuffle-play by album; think theme albums like "Tommy" by the Who. [edit] I think of this as a work.

Whether shuffling by "album" or by "work" is the choice, the question for me is, what metadata/track naming/file organizational structure would be the primary key? I really don't want to combine multiple tracks into a single file plus cuesheet to get there but I admit I've considered it in the past.

Regards,
Kent

I'm not sure what tag exists for a 'work.' What standard ID3 tag could be used for that? 

We do have the Album tag, though. I think one could make effective use of 'Shuffle by Album' if one could use a tag editor to make a multi-CD opera (for instance) into a single album. It's a kluge, but it would work. 

For instance, instead of dividing a two-CD album of an opera into two Albums named something like "Wozzeck - Lear, Fischer-Dieskau, Wunderlich, Bohm, Orchester des Deutschen Opernhauses - CD1" and "Wozzeck - Lear, Fischer-Dieskau, Wunderlich, Bohm, Orchester des Deutschen Opernhauses - CD2", you could go in and re-order the tracks so that both CDs 1 and 2 became one 'Album' named "Wozzeck - Lear, Fischer-Dieskau, Wunderlich, Bohm, Orchester des Deutschen Opernhauses Berlin (complete)". Let's say CD1 had 12 tracks (with track numbers 1 thru 12) and CD2 had 10 tracks (numbered 1 thru 10). You could re-tag them so that the tracks were 1 thru 22, so that the whole opera would play through complete, with all tracks in order, in one 'mega-album'. 

I'm not sure how you could organize the logic to get the application to re-number tracks spanning multiple CDs without making lots of mistakes that you'd have to go in and fix anyway. 

The CDs may have been the original source material, but once the CD tracks are files, there's no reason to preserve the structure of the CD imposed by its limit of 74 minutes running time. That'w why a little computer-based music player is nice. It doesn't have to be bound by the limitations of disk-based media. Right? 

I hope that all makes sense.

EDIT to add:
Also, I'm not sure if it's useful to combine complete box sets (like The Nine Symphonies of Beethoven) into one 'Album' or 'Work.' I use my tag editor to make each symphony into its own Album. I do destroy the sequencing of the original multi-CD set, but like I wrote earlier, I don't see why it's useful or desirable to save that. I'd rather use the ID3 tags to get the music to play like I want it to, not like I was forced to do with a CD or SACD player.

Another EDIT: 
Quote:Tim Curtis

Conceptually, Album shuffle is simply some JS code that detects when the last track in playlist finishes and then it adds a randomly selected Album to the Playlist. It needs to have Consume mode on so that each track of the newly added Album is removed from the Playlist. This way the Playlist never grows, similar to how Auto-shuffle works for individual tracks.

Would that be difficult to implement? I'd use the heck out of it if it was included in moOde. I generally listen to entire albums, even when I'm listening to pop or jazz. 

However, for those who do have collections of both classical and pop/jazz/rock/R&B, etc., is there a way to get Shuffle Play tracks to limit itself to one Genre? Like for instance, can I tell moOde to shuffle tracks within the Rock genre only? 
--
I ca't say how difficult until I take a look at the feature in more depth but I did add it to the TODO list.

The ashuffle utility thats used for auto-shuffle has some params that can be used to exclude things.
https://github.com/joshkunz/ashuffle
Pages: 1 2