4 ms·
This sounds interesting. I personally would be more interested though if it would introduce some concept of an infinite queue, because that is usually the way I
by albertzeyer 7y ago
This sounds interesting. I personally would be more interested though if it would introduce some concept of an infinite queue, because that is usually the way I listen to music. I want to be able to select some music and to queue that, but when that finished, it should continue playing, with related/similar songs, or maybe according to some other rules/genre or so.
Many other music players have this. Also e.g. Spotify. Or iTunes DJ mode. Amarok had this. Sometimes it was called PartyShuffle.
I like the separation of the playlist/queue and the UI. But if it is an infinite queue, it is not possible to get a full copy of it. Only maybe to the finite preselected upcoming queue. But maybe that is not much of a problem then. The core infinite logic usually is implemented like: If the queue of songs contains less than N next songs, select some more songs from some database, according to some probability distribution.
I implemented my own music player at some point, where my main focus was around this concept of an infinite queue. (https://github.com/albertz/music-player/blob/master/WhatIsAMusicPlayer.md#intelligent-automatic-queue https://github.com/albertz/music-player/blob/master/WhatIsAM... https://news.ycombinator.com/item?id=4771999 https://news.ycombinator.com/item?id=4771999) One reason was that I wanted to take this concept much further than any existing music player. E.g. even introducing some clever machine learning models to guide the infinite music queue.
I was actually quite happy with it, but it took too much time to really polish, to make it cross platform, etc. Now I mostly use Spotify, which gets close to what I wanted to implement in the first place. And they are working to improve the intelligent infinite queue, or generate playlists automatically in other ways.
So, now that there is some work by VLC on the playlist, I was wondering, how easy is it to extend that? E.g. maybe some Python interface, so I could maybe plugin some neural network, and add new songs to it when it runs out of songs. That would be really nice.
Related to that, what is the current state in VLC about other music player related features, like e.g. gapless playback?
- vanderZwan 7y ago> but when that finished, it should continue playing, with related/similar songs, or maybe according to some other rules/genre or so. How should it do that? VLC is not a music database, it's "just" a player of the media files that you feed to it.
- albertzeyer 7y agoYes, VLC also should not provide that (such a music DB) (I think). But when it provides some API, a plugin/module, or even another external app could provide that logic, i.e. the music DB itself, also the UI to search in the DB, and then also the logic to add something from this DB to the VLC playlist. It would be nice if there is an API such that VLC can be extended to make that possible. But yes, I definitely think that it should be a separate and optional module/plugin/app/script.
- rom1v 7y agoIMO, an infinite queue does not really apply to VLC. If all songs are correctly tagged (which cannot be assumed in VLC), what Spotify does is interesting: https://labs.spotify.com/2014/02/28/how-to-shuffle-songs/ https://labs.spotify.com/2014/02/28/how-to-shuffle-songs/
- albertzeyer 7y agoIs there some API to be able to script VLC? E.g. that I can develop a plugin/module or external app/script, where I have a DB, and maybe a GUI (maybe web interface) for the DB as well. For the API, I would need: * Some way to get the current playlist. * Some way to get which item in the playlist is currently being played. * Some way to add items to the end of the playlist. Also, maybe in addition: * Some way to mark that the logic about playlist handling (adding to it, shuffling, etc) is handled by this external module (such that VLC does not do shuffling as well). The logic of this external module is pretty simple then for the infinite queue: When the currently played item reaches almost the end of the playlist, it would add some more songs to it. For this logic, it would maybe also nice to remove some of the earlier played songs (otherwise the playlist would just grow and grow).
- rom1v 7y ago> Is there some API to be able to script VLC? https://wiki.videolan.org/Documentation:Building_Lua_Playlist_Scripts/ https://wiki.videolan.org/Documentation:Building_Lua_Playlis... (I recently changed its implementation to use the new playlist/player [1], but the API was kept unchanged not to break existing scripts) [1]: https://code.videolan.org/videolan/vlc/commits/3b46a2c42c5c14d7ace68f1fab3846d88d23b4ef https://code.videolan.org/videolan/vlc/commits/3b46a2c42c5c1... > Some way to mark that the logic about playlist handling (adding to it, shuffling, etc) is handled by this external module (such that VLC does not do shuffling as well) Not supported.
- josteink 7y ago> I personally would be more interested though if it would introduce some concept of an infinite queue So basically binge mode, and what online services use to maximise “engagement” and feed you into a never-ending procrastination loop. I realize people are different, but this is something I really don’t want in my local software.