Bug 417284 - Support for the "just play literally any music, and keep going until i say stop" use case
Summary: Support for the "just play literally any music, and keep going until i say st...
Status: CONFIRMED
Alias: None
Product: Elisa
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: HI wishlist
Target Milestone: ---
Assignee: Matthieu Gallien
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2020-02-07 20:38 UTC by Dan Leinir Turthra Jensen
Modified: 2023-08-21 10:41 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Leinir Turthra Jensen 2020-02-07 20:38:15 UTC
When launching Elisa to play some music, the first thing you have to do as the user is to make a choice as to what music to play. To be able to just click play and have the application just play some music, any music, would make this much simpler.

However, another perhaps more interesting option would be to use the automatic play queue concept found in a great many other players to do this. The basic concept works as follows:

* Turn on "just play literally any music, and keep going until i say stop" mode (name to be better defined ;) )
*  When that track ends, start playing the next, and remove the just finished track from the list
* If there at any time are less than some threshold of tracks, add another track to the end (keep adding tracks until there are $threshold tracks in the list)

The option would be remembered through sessions, which means the only time two actions are required by the user to play music is when they turn the option on. Any subsequent times the action would be launch Elisa, click play.

Hope you like the idea :)
Comment 1 Dan Leinir Turthra Jensen 2020-02-07 20:46:50 UTC
Perhaps the currently playing track doesn't have to be in the list, and the logic could instead be...

* Automatically keep the list filled to the threshold
* Once a track finishes playing, or on initial play start, pick a track from the list (first if sequential playback is on, any if random is on), remove the track from the playlist and start playing it
Comment 2 Nate Graham 2020-02-08 04:46:46 UTC
Sounds like an interesting feature. One thing we could do is maybe activate this feature automatically when you press the play button while the playlist is empty. Right now this does nothing, which is not amazing. Basically we could take a wild guess that the user is attempting to "just play literally any music!" when they do this.

How do you envision that set of random tracks would be chosen? from the entire library, or from the tracks in the current view?

Seems like we would also want the shuffle feature to actually visually shuffle the tracks in the global playlist, rather than leaving them in the original order in the list but choosing a random one every time a track finishes.
Comment 3 Alexander Stippich 2020-02-08 09:32:22 UTC
@ngraham regarding the shuffle mode for the playlist, this is exactly what I am working on in https://invent.kde.org/kde/elisa/merge_requests/71
Comment 4 Dan Leinir Turthra Jensen 2020-02-08 11:02:25 UTC
(In reply to Nate Graham from comment #2)
> Sounds like an interesting feature. One thing we could do is maybe activate
> this feature automatically when you press the play button while the playlist
> is empty. Right now this does nothing, which is not amazing. Basically we
> could take a wild guess that the user is attempting to "just play literally
> any music!" when they do this.

  That's a good idea, yes! It would then need to be sufficiently obvious that that is how they suddenly ended up with a playlist they seem unable to empty... but yes, definitely sounds like a good idea :)

> How do you envision that set of random tracks would be chosen? from the
> entire library, or from the tracks in the current view?

  From the entire library, unless it's told something else... which i guess we could argue might well be the current view. Perhaps there could be a banner in the playlist view (which also makes it obvious that that mode is on), and gives some options specific to it, such as a button to make the current view the new source for music, and a "turn off autofill" button? Incidentally this would be not entirely dissimilar to how Amarok's dynamic playlists worked (though perhaps we don't need... quite that much crazy power ;) )

> Seems like we would also want the shuffle feature to actually visually
> shuffle the tracks in the global playlist, rather than leaving them in the
> original order in the list but choosing a random one every time a track
> finishes.

Yeah, shuffling has some very distinct semantics compared to random selection, would be great to keep those intact :)
Comment 5 Nate Graham 2020-07-02 23:55:58 UTC
*** Bug 423565 has been marked as a duplicate of this bug. ***
Comment 6 Srevin Saju 2021-06-18 19:06:50 UTC
Youtube Music uses "Start radio" instead of "autofill". Maybe, we could use that. "Start radio" button fills random music onto the playlist.
Comment 7 Bug Janitor Service 2022-06-10 19:05:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/elisa/-/merge_requests/362
Comment 8 Nate Graham 2023-04-28 14:23:24 UTC
Git commit bcc52c704cc929c35109f4bc80834e48607e2a6a by Nate Graham.
Committed on 28/04/2023 at 13:57.
Pushed by ngraham into branch 'master'.

Add feature to replace playlist with whole view contents on double-click

Some people are accustomed to double-clicking on a song in album list
views to replace the playlist with that album and start playing from the
double-clicked song. This commit makes that the new default behavior,
though it can be disabled.
Related: bug 406469, bug 417610
FIXED-IN: 22.08

M  +5    -0    src/elisa_core.kcfg
M  +7    -0    src/elisaapplication.cpp
M  +8    -0    src/elisaapplication.h
M  +12   -0    src/localFileConfiguration/elisaconfigurationdialog.cpp
M  +16   -0    src/localFileConfiguration/elisaconfigurationdialog.h
M  +11   -0    src/mediaplaylistproxymodel.cpp
M  +2    -0    src/mediaplaylistproxymodel.h
M  +15   -0    src/qml/DataListView.qml
M  +6    -1    src/qml/ListBrowserDelegate.qml
M  +36   -0    src/qml/SettingsForm.qml

https://invent.kde.org/multimedia/elisa/commit/bcc52c704cc929c35109f4bc80834e48607e2a6a
Comment 9 sourcemaker 2023-08-21 10:41:54 UTC
Can Elisa then be used in the same way as Juk?
Select a track and it will be played immediately?