Foobar2000:Components/SimPlaylist (foo simplaylist)
Playlist view with multiple grouping levels, album art, smart column resizing, smooth scrolling, and clickable rating columns for tags and playback statistics.
Usage
Save the current playlist configuration
To be able to revert to the previous playlist view, export the current main layout at Preferences, Display, Default User Interface, Export Theme.
Manual integration
Enable the layout editing mode to manually add SimPlaylist as a UI element. For example, right-click on the current playlist view, choose Replace UI Element, and select SimPlaylist from the list of elements.
Columns
Default columns
Several columns are included by default, some of which do not have a corresponding title formatting pattern:
Name | Pattern / remarks |
---|---|
Album | %album% |
Artist | %artist% |
Codec | [%codec%] |
Date | [%date%] |
Duration | Displays playback time / length. Click on playing item to toggle between elapsed and remaining time. Pattern: [%playback_time%]$if($and(%playback_time%,%length%), / )[%length%] |
Playing | Displays playback status icon. |
Rating | Displays clickable metadata rating. |
Title | %title% |
Title / track artist | %title%[ '('%track artist%')'] |
Track | [%tracknumber%] |
Playback statistics columns
The following columns require the additional playback statistics component.
Name | Pattern / remarks |
---|---|
Played | [%play_count% times] |
Rating (database) | Displays clickable rating from playback statistics database. |
Custom columns
Custom columns based on title formatting can be added at Preferences, Display, SimPlaylist.
Column colors
Use < and > characters to dim or apply the highlight color to individual parts, with up to three levels, for example: <dimmed>, >highlight<, >>more highlight<<. Note that text in parentheses "(...)", brackets "[...]", and braces "{...}" is dimmed automatically. Color functions including $rgb, $hsl, $blend, and $transition are not supported.
Automatic column resizing
Columns are automatically resized to use the full width. To avoid frequent readjustments, columns named *album*, *artist*, or *title* are resized if present, while others keep their current size.
Groups
Playlist tracks are grouped by comparing each track with the next one according to a title formatting pattern. If the results differ, a group is inserted into the playlist. Groups are not displayed if the pattern returns an empty result, unless tracks need to be separated from a previous group on the same level. Groups do not change the order of playlist items.
Presets
- Group presets include group headers, a group column, and subgroups.
- Presets can be edited from the context menu (i.e. right-click in the presets list).
- Checked presets appear in the Groups context menu.
Group headers
- Headers display text and a separating line, with an optional image at the left.
- Images can be resized/zoomed by holding the Ctrl key and rotating the mouse wheel.
Group column
- Displays album art, text, or both in separate columns at the left side.
- New lines can be inserted with the | character.
- Image sizes change with the column width.
- Only one column pattern can be added for each group preset.
Sorting pattern
This pattern is used to sort the playlist when clicking on a group column.
Subgroups
- Subgroups are listed within the tracks next to group columns.
- The default [Disc %discnumber%] subgroups are only displayed for albums with discnumbers.
- The image size is the same as for headers.
Group statistics
The following title formatting fields can be used in the group patterns to display statistics for all tracks contained in a group. Their results are ignored when comparing tracks to determine groups.
Field | Description |
---|---|
%bitrate% | Average bitrate. |
%filesize% | Total size in bytes. |
%filesize_natural% | Total size, automatically formatted in appropriate units such as MB or GB. |
%first_release% | First date or release date from metadata. |
%items% | Number of group tracks. |
%last_modified% | Last time a track has been modified. |
%last_release% | Last date or release date from metadata. |
%length% | Total played length, formatted as [hh:]mm:ss. |
%length_seconds% | Total length in seconds. |
%lossless_ratio% | Number of lossless tracks, in percent without %. |
%rating% | Average rating from playback statistics or metadata, as number from 1 to 5. |
%rating_stars% | Same as above, formatted as up to five stars, e.g. ★★★ |
%rating_stars_fixed% | Same as above, formatted as five stars, e.g. ★★★☆☆ |
%replaygain_track_peak% | Highest peak of ReplayGain-scanned tracks. |
Group playback statistics
The following fields require the additional playback statistics component.
Field | Description |
---|---|
%first_added% | First time a track has been added. |
%first_played% | First time a track has been played. |
%last_added% | Last time a track has been added. |
%last_played% | Last time a track has been played. |
%play_count% | Total play count. |
%played_length% | Total played length, formatted as [hh:]mm:ss. |
%played_length_seconds% | Total played length in seconds. |
%rating% | Average rating from database or metadata, as number from 1 to 5. |
%rating_stars% | Same as above, formatted as up to five stars, e.g. ★★★ |
%rating_stars_fixed% | Same as above, formatted as five stars, e.g. ★★★☆☆ |
Group colors
Groups use the default highlight color. < and > characters can be used to dim individual parts, similar to column colors.
Album art
To display album art in group headers, columns, or subgroups:
- Open Preferences, Display, SimPlaylist, Groups.
- Select a grouping preset.
- Click into the display column of a header, column, or subgroup.
- Make sure Image/Text is selected.
- Select one of artist, front, back, or disc image types.
- Press Apply or OK to save the changes.
- Album art is loaded from the file sources defined at Preferences: Display and embedded images.
- Header and subgroup images can be resized/zoomed by holding the Ctrl key and rotating the mouse wheel.
- Column images can be resized by changing the column width.
Search
SimPlaylist includes a second UI element that acts as a playlist search. It can be opened via Edit, Search (F3) or embedded into the user interface.