Lots of people have some difficulty understanding how the playlist works as it doesn't behave like other players.
A few rules :
- the queue has the top priority, when the first song in the queue is played, it is removed from the queue
- the playing song must be in the playlist, if the user or the queue select a song not in the playlist, the playlist is set to the whole library
- when a lock is set, it follows the playing song. ie : if the artist is locked, when the user select a song from artist A, the playlist will be restricted to the songs from the artist A.
- the playlist can be defined by a filter or a static list
- with a filter the playlist is made from all songs in the library matching the filter. An empty filter match the whole library, this is the default mode. The playlist is dynamically updated to add/remove songs when their properties change.
- a static list allows the user to select songs individually.
The layouts can change some aspects of this behaviour, in particular the action when the user double-click on a song in the browser window can be set to :
- (default) play the song, the playlist is set to the whole library if the song is not in the current playlist
- enqueue the song (normally by double-middle-clicking)
- play the song and set the playlist to a static list made from the songs in the clicked list
- ( only in devel version) add the song to the playlist, making it a static list
Also, some layouts have a the song list in playlist mode : all changes to the list are reflected on the playlist. The TabbedLists widget (not yet used in the included layouts) makes using static lists much more easier.