vanilla-music / vanilla

Vanilla Music Player for Android
GNU General Public License v3.0
1.15k stars 291 forks source link

I would be undescribable gratefull for a random mode #574

Open 0mark opened 7 years ago

0mark commented 7 years ago

A random mode plays music at random. It does not alter the order of the queue and plays that then linear (as a shuffle mode does). the difference is: random might play the same song twice. Or another song not for a long time. Its really and truely random. Shuffle is just another order. Random has no order. And random plays at random while leaving the queue in order, granting a good oversight and helping maybe selecting something by hand. (btw, shuffling and then un-shuffling should not result in the queue order altered. But it does, destroing all possibility for oversight or manual selection)

Random addition of songs to the queue is not random play either: the queue is mingled and incomplete and one cant limit the selection of what is played.

adrian-bl commented 7 years ago

Implementing this is not that simple as we need to know the next song in advance for Gapless Playback + the cover view.

Random has no order.

Yes, but what is the benefit of it? I don't see how playing the same song (possibly) frequently is an improvement.

(btw, shuffling and then un-shuffling should not result in the queue order altered. But it does, destroing all possibility for oversight or manual selection)

We could, for sure, do a better job at restoring the queue order after shuffle mode was left.

Random addition of songs to the queue is not random play either: the queue is mingled and incomplete and one cant limit the selection of what is played.

Could you explain what you mean exactly by this?

0mark commented 7 years ago

The benefit is that the listener does not have any information about what might come next. With shuffle, if a song is already played i know it wont come back until all songs where played exactly once. It lacks chaos and uncertainty. Shuffle is ordered, predictable. Random is chaotic. I new know what comes next, it might be something i did not hear for quite a while, or something i heard just a minute ago. The improvement is not that something might be played twice. The improvement is that i don't know. Its a different way to experience music. Let me explain. I have roughly 50gb of music (20 on the phone), ranging from filk to drone, classic to trash metal, bitpop to dark wave. And have all of queued up. At any time. And i play it at random (or rather, would like to). With shuffle, a increasing part of my music is out of reach for a long time at any time, because it already played. The other thing is (and that answers the second question): I sometimes disable random, and play linear, usually one album, or maybe one artist. If that happens, its because a song makes me want to hear more of that. So i look in the queue, either for another specific song of that artist, or the first of this album, first album of this artist, something like this. Thus, i need the queued ordered and complete.

I know, its kinda specific and probably kinda weird. I dont even know if other people would like a true random mode over shuffle (i guess there have to be some, but we might be very rare). If nobody wants to implement it, thats ok. But i thought i might at least ask :)

sidorsett commented 3 months ago

I support OP that the random mode is different from the shuffle. The shuffle mode is just a sequential play of a randomly presorted set of tracks, while in the random mode every next track is selected randomly. I am accustomed to the random play from Foobar2000 and they explain the difference perfectly well in their FAQ. Vanilla Music also has quite a similar random mode -- the one with dices. I have one difficulty with this mode though. It selects random track from the entire library and you cannot bound it in anyway. Or is there a way to limit selection to a selected playlist only? This would make the random mode more universal. You can randomly play a selected set of tracks in the given playlist and if you want to randomly play the entire library just create a playlist with all tracks in the library.

Why playing random track from the entire library is not always a good idea? Well... What if I have totally different genres of music in my library for different activities: playlist A is for meditation, playlist B is for a gym, and that track C is just a white noise for getting asleep. If I want playlist B to play randomly, then I definitely don't want white noise to be mixed into the queue.