Skip to content

Smart Playlists

Generator playlists (also called smart or filter playlists) allow you to create derivative playlists based on the content of another playlist. This is the main way of creating a filtered view of a playlist.

Generator menu

The quickest way to create a generated playlist is using a preset:

  1. Right click a playlist tab
  2. Select “Generate…”
  3. Choose a preset from the menu

Once a generated playlist has been created, you can reload it:

  1. Right click the playlist tab
  2. Select “Regenerate”

This updates the playlist based on any changes to the source playlist.

By default, you need to manually regenerate playlists. To enable automatic updates:

Globally:

  • Go to MENU > Settings…
  • Enable “Auto regenerate playlists”

Per Playlist:

  • Edit the generator and add the code auto

You can create custom generator playlists with specific combinations of searches, filters, and sorters:

  1. Right click a playlist tab
  2. Select “Misc…” > “Edit generator…”
  3. Enter generator codes

There are 4 types of codes: Selectors, Searchers, Filters and Sorters. Only one search code is required at minimum.

The order is important. Typically you:

  1. Select any particular playlists to restrict search scope to (optional)
  2. Perform a search or simply add all tracks using the a code
  3. Add any filters or sorters (optional)

For example, if you wanted a playlist of all your loved tracks you could use: a l. If you wanted all loved tracks from only a specific playlist, you could use: s"MyPlaylist" a l

If you wanted all loved tracks from a specific artist, you could use: a"Artistname" l

FunctionCode exampleNotes
Add playlist to selections"Name of Playlist"If no selection is made, all playlists will be selected
Clear selectionclrSelects all playlists as per above rule
Select current playlistselfThis is a special code that makes the selection the playlist itself. Useful when combined with auto and any sorters to re-sort tracks on import. Using any filter codes with this will be destructive.
FunctionCode exampleNotes
Search artista"Artist Name"This is a search term, so it can be fuzzy like: a"arti"
Search genreg"Rock"You can combine multiple of these like g"k-pop" g"j-pop"
Find in allf"artist"This produces the same results as the find box. Includes searching the filename (can be a partial stem like p"ingles/cold", a folder name, or a full folder path) and comment, but not lyrics or genre.
Find string in allfs"artist"Same as above but for matching an exact sequence (Useful for searches where spaces are important)
Add by file typeext"flac"You could also do f".flac" which will probably give you what you want since that includes searching the filename, but you would need this function to include; say; your Airsonic collection by doing ext"sub"
Add all tracks from selectionaYou will need this if you didn’t perform any of the above searches
FunctionCode exampleNotes
Max number of tracksn123In this case, limits playlist to 123 tracks
Year greater thany>2015This can also be inclusive by using y>=2016
Year less thany<2016This can also be inclusive by using y<=2016
Year equalsy=2016This would be the equivient of doing y>2015 y<2017
Playcount greater thanpc>5
Playcount less thenpc<10For example, combining this and the above like pc>5 pc<10 will filter the playlist to only include tracks with playcounts of 6 to 9
Playtime greater thanpt>5
Playtime less thenpt<10
Duration less thand<30In seconds. In this case, playlist will only include tracks less than 30 seconds
Duration greater thand>300In seconds. In this case, playlist will only include tracks greater then 5 minutes
Rating greater thanrat>2In this case, includes tracks with more than 2 stars
Rating less thanrat<4.5In this case, includes tracks with less than 4.5 stars
Rating equalsrat=5In this case, includes tracks with exactly 5 stars
Loved tracksl
Has lyricsly
Has cue sheetcueOnly keeps tracks that are part of a larger file
Today’s day of the yeartodayIncludes release dates that match today’s month and day. Tracks will need to have full date in date field
Comment matchcom"bandcamp"The f"" code already includes searching the comment, but you can use this code to only search the comment. (Also this must be an exact match of a string segment and isn’t fuzzy like f"text")
Find and keepff"text"Same as f"text" but only for tracks already included, discarding non-matches.
Find and excludefx"text"Same as ff"text" but removes matching tracks.
Exclude playlistpx"playlistname"Exclude tracks that appear in a particular playlist. (Added in v7.2.0)
FunctionCode exampleNotes
Shuffle tracksst
Shuffle albumssf
Year Oldest to Latesty>
Year Latest to Oldesty<
Playtime highestpt>
Playtime lowestpt<
Duration longestd>
Duration shortestd<
Most played albumspa>
Least played albumspa<
Reversed tracksrv
Reversed albumsrva
Highest track ratingsrat>If you would like to exclude tracks that don’t have a rating, use rat rat>
Lowest track ratingsrat<If you would like to exclude tracks that don’t have a rating, use rat rat<
Highest album ratingsrata>
Recently modified filesm>This is read from the modification date of the file at the time it was imported. Won’t work with network tracks.
Oldest modified filesm<
Track numbers per albumtn
Year per artistypaUse this if you want discographies in order for each artist. (Artists albums must already be grouped together in the playlist).
Sort tracks by filepathpathThis may not be the same order as was originally imported
Column sort"bitrate">Sort by any column. Name must be the exact title of a column as shown in the columns view. Can also use < to sort in reverse
FunctionCodeNotes
Automatically updateauto
FunctionCode String
Search for Coldplay from playlist Default and show tracks that have a playcount of less than 2s"Default" a"Coldplay" pc<2
Shuffle albums from every playlista sf
Take 10 random tracks from the playlist Defaults"Default" a st n10
Show loved tracks of artists Coldplay and Red Hot Chili Peppers in order of playcount from playlists Default and Downloads.
Tip: You can shorten the names and it will (probably) still return what you want.
s"De" s"Do" a"Col" a"Red H" pt> l