From KDE UserBase Wiki
Other languages:

Automatic Playlist Generator

The Automated Playlist Generator (APG) automatically generates playlists based on constraints you set. These constraints can be set based on song data (artist, genre, year) or access time (last played). There are also special constraints to determine how Amarok is going to look for songs. You will find the APG in your Media Sources pane, Playlists -> Automated Playlist Generator.

APG Presets Toolbar

This is the APG Presets toolbar. From left to right we have the following buttons:

  • Adds a blank preset that can be modified.
  • Opens up the APG Preset Editor window to edit the currently selected preset constraints.
  • Removes the selected preset from the list; can not be undone.
  • Import a preset from a .xml file. Has the potential to be malformed if edited outside Amarok; use the constraint tester.
  • Export the selected preset to a .xml file that can be imported.
  • Loads APG with the selected preset and automatically generates a playlist.

Working with Presets

APG Preset Editor window

Presets are sets of rules that Amarok APG will use when generating playlists. These rules are going to be referred to as constraints from now on; every preset is determined by the constraints which create it. Groups of constraints hierarchically and logically organized are called constraint trees.


Constraints are the building blocks of constraint trees. They are simple statements that the APG will use to add songs to the playlist it generates. To add a constraint to the currently selected preset constraint tree click the button in the APG Preset toolbar and click the Add new option on the APG Preset Editor window. Note that this will add the constraint under the selected item (constraint or constraint group).

Many different kinds of constraints can be added; each works in a different way inside the tree.

Constraint Types

Amarok APG supports several types of constraints:

Constraint Description
Match Tags The most important constraints, because they can be set to virtually any information regarding the file, including: artist name, album name, genre, year, last played, and score.
Playlist Duration Set the running time (in HH:MM:SS format) that the playlist should have
Playlist Length Determine how many songs should be in the playlist
Checkpoint Tell Amarok where to start and stop looking for tracks
Prevent Duplicates Prevent Amarok from selecting the same tracks, songs from the same artist, or the same album

Note that you can change how constraints work in various manners, such as setting the fuzzy-exact slider, which determines how closely the constraint is going to be followed.

Another way to modify constraints that is present on Match Tags with a textbased tag is found in the line below the Field option box. In the text field to the right you write the text to be matched and in the option box at the left of the value you can select contains (which will consider any songs that have the according text in their tag), matches (which will consider songs whose corresponding tag match exactly the one in the text box), starts with and ends with.

Similarly, you can also edit the way value-based constraints (such as the Playlist Length constraints and the playcount Match Tag constraint) behave by changing the option close to the text to settings such as fewer than, equals and more than.

Another way to change constraint behavior is to check the invert checkbox on them, this makes them behave the opposite way, a "Match Tag: artist contains name" becomes "Match Tag: artist not contains name".

Constraint Groups

Constraint groups can be added from the Add new option from the APG Preset Editor window, constraints under a group are logically linked, the same applies to groups under groups. There are currently two kinds of constraint groups: "Match all" groups and "Match any" groups. "Match all" groups require that all the constraints under them are met by the song. "Match any" groups require that at least one of the constraints under them are met by the song. To add a constraint under a specific group highlight it on the preset editor and use the Add new option.

Using your Presets

Once you set up a preset, you just have to select it on the APG Presets panel in the Automated Playlist Generator (APG) and click the toolbar to run APG with the selected preset. You will then have a playlist matching your criteria, like this:

Playlist generated by the constraint tree below.