Foobar2000:Components/Album Art Panel (foo uie albumart)
Album Art Panel is a component for foobar2000 and Columns UI that displays album art in a panel. When configured, it can display any image you would like to associate with a track.
- Configurable sources list allows cycling of multiple images for a single track
- Allows title-formatting and wildcards to specify image file location
- Minimum height setting to assist with layouts
- Configurable resizing of album art to fit panel size
- Fading transitions between album art
- Configurable actions when panel is left-clicked, double-clicked, and middle-clicked.
- Can display album art for either the currently playing track or the currently selected track
- Can automatically cycle through source list during playback
Reading Embedded Album Art
A version of Album Art Panel that supports album art embedded in ID3v2 and FLAC tags is available at this forum thread.
- Extract the downloaded archive and place foo_uie_albumart.dll in your foobar2000 "components" folder (normally located at %ProgramFiles%\foobar2000\components\).
- Start foobar2000.
- Open up Preferences, navigate to Display -> Columns UI, and select the Layout tab.
- Right-click on a splitter and select Insert Panel -> Panels -> Album Art
- Click Apply to make the panel appear.
Album Art Panel Preferences can be accessed either by pressing the Configure button on the Columns UI Layout tab, or by right-clicking the panel itself and selecting Preferences... (see screenshot). The available settings are split up into three tabs.
Note: This section relates to version 0.2.4.1. Some settings maybe have been added/removed in later versions.
The options on this tab relate to how the image is drawn on the panel.
- Center album cover art in panel
- The image is drawn centered in panel. (default: enabled)
- Expand album cover art to fit panel
- If the image is smaller than the panel, the image is resized to fit the panel area. (default: enabled)
- Shrink album cover art to fit panel
- If the image is larger than the panel, the image is resized to fit the panel area. (default: enabled)
- Maintain aspect ratio
- When resizing, the ratio between the height and width of the image is maintained, preventing distortion. If this option is unchecked, the image will be resized to fit the entire panel area. This option is only applicable if either "Expand album cover art to fit panel" or "Shrink album cover art to fit panel" is checked. (default: enabled)
- Resizing quality
- Select from Low, Medium, High, Highest. Choosing a higher quality will result in a nicer display when resizing, but will use more CPU. (default: Highest)
- Minimum panel height
- Selects a minimum height for the panel in pixels. When the foobar2000 window is resized, or when other panels are added to the Columns UI layout, Album Art Panel will never be resized smaller than the minimum panel height. If this is set to 0, no minimum panel height will be enforced. (default: 0)
- Pads around image. (default: 0)
- Edge style
- Select from None, Sunken, Grey. (default: Grey)
- Color to draw on empty portions of the panel. (default: White)
- Draw pixel border
- Draws a thin border around the image using the selected color. (default: disabled, Black)
The options on this tab relate to how the panel cycles through images and how the user can interact with the panel.
- Album cover art follows cursor even when playing
- The panel will always display album art associated with the currently selected track. If this option is unchecked, the panel will display album art associated with the currently playing track, if a track is playing. (default: disabled)
- Enable fading transition
- The panel will fade when changing images for the amount of time specified. (default: enabled)
- Transition time (ms)
- Controls the length of the fade transition between images. (default: 300ms)
- Cycle sources during playback
- While a track is playing, the panel will cycle to the next image in the sources list every Cycle time seconds. (default: enabled)
- Cycle time (s)
- Controls how often the panel cycles images during playback. (default: 10s)
- Skip no-cover images while cycling
- If the panel is automatically cycling during playback, no-cover sources (prefixed with "--") will be skipped. Note that this does not affect user-initiated cycling (i.e., clicking Next Source from the context menu). (default: enabled)
- Cycle all wildcard matches
- The panel will cycle through all images that match a particular wildcard pattern. If this option is unchecked, only the first image match will be shown. (default: disabled)
Note: Enabling this option could lead to slowdowns while Album Art Panel is processing all files that match a particular wildcard pattern. In order to prevent such slowdowns, make sure that any sources with wildcards are as specific as possible. For instance, $replace(%path%,%filename_ext%,)*.jpg is better than $replace(%path%,%filename_ext%,)*.
- Select from Alphabetical or Random. Controls the order in which the panel cycles through wildcard matches. (default: Alphabetical)
- On track change, revert to first source
- Select from Never, Always, or Only if display would change. (default: Only if display would change)
Album Art Panel offers various actions which can be attached to mouse buttons so that, when the panel is left-clicked, middle-clicked, or double-clicked, the selected action will be performed. These actions are also available by right-clicking the panel.
- Selected mouse button does nothing.
- Open in external viewer
- Opens the displayed image file in the default image viewer/editor associated with that image type
- Open directory
- Opens the directory that contains the track whose album art is being displayed.
- Toggle follow cursor
- Selects or deselects the option Album cover art follows cursor even when playing
- Focus playing
- Focuses the currently playing track in the playlist.
- Reloads the currently displayed image from disk and searches for new matches.
- Next source
- Cycles forward to the next image match.
- Previous source
- Cycles backward to the previous image match.
- First source
- Resets display to the first source in the sources list.
The Sources tab allows the user to define where Album Art Panel should look to find images. There are also options to import and export sources and to debug the sources list.
Note: This section describes how to modify the sources list. See the section Sources List for information on how the Album Art Panel interprets sources.
- Adds a new source to the end of the list
- Removes the selected source from the list
- Move Up
- Moves the selected source up in the list
- Move Down
- Moves the selected source down in the list
- Resets to the default sources list
- Import/Export Sources List
- Allows the user to save a custom sources list or restore a saved sources list. An imported sources list will replace any existing sources.
- Output preformatted sources to console
- Outputs the source that is being searched to the console, after titleformatting has been applied. (default: disabled)
- Help button
- Opens this page in the default web browser.
The sources list allows you to use titleformatting scripts to specify exactly where Album Art Panel will look for image files. In order to learn how to use the sources list, let's look at an example:
$replace(%path%,%filename_ext%,)folder.jpg -$replace(%path%,%filename_ext%,)* --components\default.png C:\Music\Arts\%artist% %album%* --components\default.png
The sources list is organized into groups, based on which lines have a '-' in front of them. Each line that does not start with a '-' is the beginning of a new source group. A line which starts with '-' is part of the same source group as the line above it. In the example above, there are two source groups. The first source group consists of the first three lines and the second group consists of the last two lines.
The "Next Source" action (by default, left-clicking on the panel) will cycle forward through the source groups. Similarily, the "Previous Source" action will cycle backwards through the source groups.
The prefix "--" (two hypens) is used to indicate a "No Cover" image. A "No Cover" image is essentially a default image which will be shown if no other matches can be found. When automatic cycling is enabled, "No Cover" images will be skipped.
The wildcard '*' can be used in place of one or any number of characters and '?' can be used in place of any single character. For instance, the second line of the example above tells Album Art Panel to look for any file it can display in the same directory as the track. Album Art Panel will display the first image which matches the pattern. Characters in tags that are not allowed in filenames will be replaced with the '?' wildcard.
Album Art Panel will first look for an image at the location indicated in the first line of a source group. If the image indicated by the first line cannot be found, Album Art Panel will look at subsequent lines within the same source group and display the first image which can be found. If no image within a source group can be found, Album Art Panel will try to display the next source group instead. If none of the source groups can be found, the display will be blank.