Playlists

A playlist is an ordered list of tracks. Every playlist can have tracks added manually by users, smart filters that automatically populate it, or both at the same time.

Adding tracks manually

Tracks can be added to a playlist via the context menu on any track or from the track list on the playlist page. All tracks can be removed.

Smart filters

A playlist can have one or more filter groups that automatically add matching tracks from the library. Filters run against attribute values and the results are merged into the playlist alongside any manually added tracks.

Smart filters never remove tracks that were manually added but they can remove tracks that were added by smart filters.

Filter groups

Each filter group contains one or more attribute filters. A track must match all filters within a group (AND), and must match at least one group (OR between groups).

Rescanning filters

Filter results are recalculated by the scan-smart-filters system task. This task re-evaluates all filter groups against the current library and updates playlist contents accordingly. It can be triggered from Settings → Tasks or via a users/Workflows. Filter results can be recalculated manually for a single playlist using the playlist's context menu.

Visibility

Playlist owners can customise the visibility of their playlists.

Visibility Description
Private Only the owner and explicit collaborators can see and edit
Unlisted Won't appear in search results but will on user pages; anybody with the link can view
Public All logged-in users can see; only owner/collaborators can edit

Collaborators

Collaborators are other users with edit or explicit view access to a playlist. The owner manages the collaborator list from the playlist page.

Plugin access

Plugins can manage playlists programmatically via the playlist client (ctx.getPlaylistClient()). This enables use cases like syncing an external playlist service with a Pipe Bomb playlist.