Revision as of 16:32, 8 December 2010 by Pedromundo (talk | contribs)



Under construction.png
Under Construction
This is a new page, currently under construction!

Automated Playlist Generator

The Automated Playlist Generator (APG) automatically generates playlists based on constraints you set, these constraints can be set based on song data (Author, Artist, Genre) or acess time(Last Time Played), there are also special constraints to determine how Amarok is going to look for songs. You will find the APG in your Media pane, Playlists -> Automated Playlist Generator.

APG Presets' toolbar


This is the APG Presets' toolbar, from left to right we have the following buttons:

  • Add new preset: Adds a blank preset that can be modified.
  • Edit selected preset: Opens up the APG Preset Editor window to edit the currently selected preset's constraints.
  • Delete selected preset: Removes the selected preset from the list, can NOT be undone.
  • Import new preset: 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: Export the selected preset to a .xml file that can be imported.
  • Run constraint tester: Does nothing D:
  • Run APG with selected preset: Loads APG with the selected preset and automatically generates a playlist.

Setting up Presets

APG Preset Editor window

Presets are sets of rules that Amarok's APG will use when generating playlists, these rules are going to be refered to as constraints from now on, every preset is determined by the constraints that make it up, 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's constraint tree use the Edit selected preset option from the APG Presets 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).

Note that you can add many different kinds of constraints, each of them works in a different way inside the tree.

Constraint Types

Amarok's APG supports several types of constraints, these are:

  • Match Tags constraints: The most important constraints, these can be set to virtually any information regarding the file, supported settings include: artist name, album name, genre, year, last time played, bpm, sample rate and score.
  • Playlist Duration constraints: These constraints set the running time (in HH:MM:SS format) that the playlist should have.
  • Playlist Length constraints; These constraints determine how many songs should be in the playlist.
  • Checkpoint constraints; Checkpoint constraints work by telling amarok where to start/stop looking for songs.
  • Prevent Duplicates constraints; These constraints prevent amarok from electing the same tracks, songs from the same artist, or the same album.

Note that you can change how constraints work in various manners, one of them is setting the fuzzy-exact slider, this slider determines how closely the constraint is going to be followed.

Another way to modify constraints that is present mainly on Match Tags ones is the option to set the option box at the left of the value to: contains (which will consider any songs that have the according text in their tag), matches (which will consider songs whose corresponding match exactly the one in the text box), starts with and ends with.

You can also edit the way value-based (such as the Length constraints and the playcount Match Tag constrain) 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 opossite way, a Match Tag: artist contains <name> becomes Match Tag: artist not contains <name>.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.