foo_random_pools

foo_random_pools is a foobar2000 component for creating random playlist entries selected and grouped by various pool definitions. The entries are added to the active playlist from the file menu (File -> Random pools -> All pools -or- -> <Pool name>). In the following the main dialogs and options are explained.

Note: If you don't see the images of the dialogs, you are using a browser, which doesn't support embedded images. You can find a list of compatible browsers here.

Preferences dialog



Here you can specify the pool definitions and some settings for automatically adding entries to a playlist.

Add: Opens the
Random pool dialog for adding a new pool definition.

Edit: Opens the Random pool dialog for editing an existing pool definition.

Remove: Removes an existing pool definition.

Autoadd - Playlist patterns: Various wildcard patterns separated by ; can be entered here for matching a playlist name. If the name of the currently playing playlist matches one of these patterns, entries from a random pool with a priority unequal to zero will be added to the playlist, if one of the following two conditions is true:

Autoadd - Add, when the playlist has X items or less: Add entries from a random pool to the currently playing playlist, when this playlist has X items or less. If there is no playing playlist, the currently active playlist will be used. Normally this will only be the case directly after program start. Otherwise there is always a playing playlist even when playback is currently stopped. This action will take place whenever items are removed or added to the playlist or a new track starts playing.

Autoadd - Add, when the playback positions is X items or less from the end: Add entries from a random pool to the currently playing playlist, when playback position on this playlist is X items or less from the end. This action will take place whenever a new track starts playing only once, even if  the playback position is still X items or less from the end after adding items to the playlist.

Random pool dialog



Here you can specify the definition of a named pool.

Name: The name of the pool.

Group: A titleformat expression to define a group of tracks to add to a playlist. The tracks have to exist in the media library.
Determine probability for picking groups based on group size: If this option is checked, the distinct values of the defined group will not be determined. This means, if for example an album has 20 tracks and there are 1000 tracks in the media library overall, there is a probability of 20:1000 that this album will be chosen for adding to a playlist.
Number of groups to add: Defines how many groups should be determined for adding tracks to a playlist. If "Determine probability for picking groups based on group size" is not selected, it is guaranteed, that no duplicates will be selected. In this case, if the number of distinct groups is less than the number of groups to add, the lesser number will be used.

Filter: A query syntax expression to apply a filter to the tracks of the media library before selecting the tracks.
Filter with the content of the target playlist: The content of the target playlist acts as an additional filter. Using this option prevents to have duplicate entries in the target playlist.

Limits
Number of tracks to add: The maximum number of tracks to be added to a playlist per group.
Number of minutes to add: The maximum number of minutes to be added to a playlist per group.
Number of MB's to add: The maximum number of MBs to be added to a playlist per group.
Limit after sorting: Applies the limiting after sorting the result(s). May be useful for filtering on playcount or for date based filters

Sort: A titleformat expression to define the sort order of the  tracks to add to a playlist.
Sort / limit each group: Applies the sorting and/or limiting after all groups are determined specified by "Number of groups to add"

Priority: A priority to define the probability for pool to be chosen. The probability is determined by <priority>:<sum of all priorities>. A priority of 0 means, that the pool is not considered for the "All pools" menu entry or for autoadd.