Foobar2000:Preferences:Default User Interface:Playlist View: Difference between revisions

From Hydrogenaudio Knowledgebase
m (→‎Examples: tightening it up)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{fb2k prefs|Foobar2000-Preferences-default-ui-playlistview.png|Playlist View}}
{{fb2k prefs|Foobar2000-Preferences-default-ui-playlistview.png|Playlist View}}
This preferences page allows you to create and edit custom columns for the Default User Interface's default playlist view.
This preferences page allows you to manage custom columns and grouping schemes for the Playlist View of the Default User Interface.
== Custom Columns ==
== Custom Columns ==


This list lets you configure custom columns, available in the Default User Interface Playlist View apart from the standard columns.
Custom columns are user-configured columns which can be displayed in the Playlist View of the Default User Interface in addition to the built-in columns. The table in upper part of the preferences page contains the configured custom columns. Each row represents on custom column which is defined by three properties.


Note that standard columns are hardcoded and not user-editable. Some of their features - such as custom graphics used by the "Playing" column - are not accessible for custom columns.
;Name
: The name of the column is displayed in header of the column in the playlist view. A custom column can have the same name as a built-in column or as another custom column. However this might be confusing.
;Pattern
: The [[Foobar2000:Title Formatting Introduction|title formatting expression]] which defines the content of the column. This expression is evaluated for each track in the playlist. The result is displayed in the playlist view. The expression may contain a limited form of markup to dim or highlight parts of the test. See the section "Dimming and Highlighting Text" below for details.
;Alignment
: The horizontal alignment of the column determines whether the column is displayed left-aligned, right-aligned or centered.
 
The built-in columns are hard-coded in the Default User Interface and cannot be changed. They also support features like icons in the "Playing" column which are not available for custom columns.
 
=== Editing Custom Columns ===
 
The following editing functions are available for custom columns. Some functions can be accessed through the context menu of the custom columns table or through keyboard shortcuts when the custom column table has the focus.
 
;Add a custom column
: Click the "Add New" button above the custom column table. Alternatively, press Ctrl+N or choose "Add New Entry" from the context menu. Double-clicking an empty entry also works. You can immediately edit the pattern of the added column.
;Remove a custom colum
: Click the "Remove" button above the custom column table to remove the selected custom column. Alternatively, press Del or choose "Delete Entry" from the context menu.
;Change name
: Click the name field of the entry. Alternatively, press Shift+F2 or choose "Edit Name" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
;Change format
: Click the format field of the entry. Alternatively, press F2 or choose "Edit Pattern" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
;Change alignment
: Click the alignment field of the entry and choose the desired alignment. Alternatively, choose the desired alignment from the "Alignment" submenu of the context menu.
 
=== Dimming and Highlighting Text ===
 
Parts of the displayed text in a custom column can be dimmed or highlighted using the characters < and >. Dimming and highlighting are both available in three levels. The color of dimmed text will be a blend of the text color and the background color. The color of highlighted text will be a blend of the text color and the highlight color. See the preferences page [[Foobar2000:Preferences:Default User Interface:Colors and Fonts|Colors and Fonts]] for details.
 
The following table shows examples for the available markups. The examples assume that the text color is black, the background color is white and the highlight color is blue.
 
{| border="1" cellpadding="5" cellspacing="3"
| Text with markup || Displayed text
|-
| >>>strongly highlighted<<< || style="background: #ffffff; color: #0000ff;" | strongly highlighted
|-
| >>highlighted<< || style="background: #ffffff; color: #0000aa;" | highlighted
|-
| >weakly highlighted< || style="background: #ffffff; color: #000055;" | weakly highlighted
|-
| normal || style="background: #ffffff; color: #000000;" | normal
|-
| <weakly dimmed> || style="background: #ffffff; color: #404040;" | weakly dimmed
|-
| <<dimmed>> || style="background: #ffffff; color: #808080;" | dimmed
|-
| <<<strongly dimmed>>> || style="background: #ffffff; color: #c0c0c0;" | strongly dimmed
|}
 
=== Examples ===
 
==== Duration with Milliseconds ====
 
A custom column to display the duration. This is just like the built-in "Duration" column but displays milliseconds as well.
; Name : Duration (ms)
; Pattern : <code>%length_ex%</code>
; Alignment : right
 
==== Disc and Track Number ====
 
A custom column to display the track number, with disc number (if available), and an indicator of whether the track is currently playing. The spaces in the pattern are important. The musical note character (&#x266b;) is only supported in some fonts. If you don't want to change your font you could replace it with a large bullet (•).
; Name : Track no (extended)
; Pattern : <code>$if(%isplaying%,$char(9835) )[%discnumber% | ][%tracknumber%]</code>
; Alignment : right


== Custom Grouping Schemes ==
== Custom Grouping Schemes ==


This list lets you configure custom grouping schemes, available in the Default User Interface Playlist View apart from the standard grouping schemes.
Custom grouping schemes are user-configured grouping schemes which can be used in the Playlist View of the Default User Interface in addition to the built-in grouping schemes. A grouping scheme defines how tracks in the playlist are grouped together and what the names of the groups are. The table in the lower part of the preferences page contains the configured grouping schemes. Each row represents a grouping scheme which is defined by two properties.
 
== Format ==


The custom columns and grouping schemes tables have editable fields. To create a new entry, just double-click on what you want to edit. Once created and saved, the custom column or grouping scheme is available for use.
;Name
: The name of the grouping scheme is displayed in the context menu of the Playlist View header. A custom grouping scheme can have the same name as a built-in grouping scheme or as another custom grouping scheme. However this might be confusing.
;Pattern
: The title formatting expression which defines the name of the groups. This expression is evaluated for each track in the playlist. Neighboring tracks with the same result will be displayed as a single group. The result is displayed as the group header. Note that dimming and highlighting is not available for group headers. They are always displayed in the highlight color. Also note that the pattern can only access information from the tracks themselves. The special fields <code>%list_total%</code> and <code>%list_index%</code> are undefined when used in a custom grouping scheme.


* '''Name''' is any name you want to give the column or grouping scheme so you can toggle it from the right-click menu for the playlist column header. For columns, it is also the name that will actually appear in the header row.
The built-in grouping schemes are hard-coded in the Default User Interface and cannot be changed.
* '''Pattern''' is a pattern in the [[Foobar2000:Title Formatting Reference|title formatting syntax]].


For a column, the pattern will produce the actual text that appears in that column, for each entry in the playlist.
=== Editing Custom Grouping Schemes ===


For a grouping scheme, the pattern won't produce visible text, because a grouping scheme is like a invisible column that's only used for pre-sorting playlist items. The text produced by the pattern will be used internally as a unique key for each group. It should be crafted to produce an identical text string for every item you want to be in the same group.
The following editing functions are available for custom grouping schemes. Some functions can be accessed through the context menu of the custom grouping schemes table or through keyboard shortcuts when the custom grouping schemes table has the focus.


When crafting a new grouping scheme pattern, it can be helpful to create a temporary column with the same pattern in it, so you know what string is being produced.
; Add a custom grouping scheme
: Click the "Add New" button above the custom grouping scheme table. Alternatively, press Ctrl+N or choose "Add New Entry" from the context menu. Double-clicking an empty entry also works. You can immediately edit the pattern of the added grouping scheme.
; Remove a custom column
: Click the "Remove" button above the custom grouping scheme table to remove the selected custom grouping scheme. Alternatively, press Del or choose "Delete Entry" from the context menu.
; Change name
: Click the name field of the entry. Alternatively, press Shift+F2 or choose "Edit Name" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
; Change format
: Click the format field of the entry. Alternatively, press F2 or choose "Edit Pattern" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.


== Examples ==
=== Examples ===
The names don't matter.


Custom column pattern to display the duration, to 3 decimal places of precision:
==== Albums, single tracks and streams ====
* <code>%length_ex%</code>
A grouping scheme to have separate groups for Internet streams, songs with album tags, and songs without album tags.
; Pattern : <code>$if($stricmp($left(%path%,7),'http&#58;//'),Internet streams,$if2(%album artist%,Non-album tracks)[ – %album%])</code>


Custom column pattern to display the track number, with disc number (if available), and an indicator of whether the track is currently playing:
== Links ==
* <code>$if(%isplaying%,♫ )$if(%discnumber%,%discnumber% | ,)[%tracknumber%]</code>
The spaces are important. The musical note character (♫) is only visible in some fonts; perhaps replace it with a large bullet (•) if you don't want to change fonts.


Custom grouping scheme pattern to have separate groups for Internet streams, songs with album tags, and songs without album tags:
* [[Foobar2000:Title Formatting Reference]]
* <code>$if($stricmp($left(%path%,7),'http&#58;//'),&lt;Internet streams>,$if($meta_test(band),%band%,$if($meta_test(albumartist),%albumartist%,$if(%album artist%,%album artist%,$if2(%artist%,&lt;non-album tracks>))))[ – %album%])</code>

Latest revision as of 21:00, 17 January 2021

Foobar2000_Logo.png foobar2000
Preferences
Screenshot of the Playlist View page
Screenshot of the Playlist View page

Deprecated pages


Pages marked * are added via third-party components.

This preferences page allows you to manage custom columns and grouping schemes for the Playlist View of the Default User Interface.

Custom Columns

Custom columns are user-configured columns which can be displayed in the Playlist View of the Default User Interface in addition to the built-in columns. The table in upper part of the preferences page contains the configured custom columns. Each row represents on custom column which is defined by three properties.

Name
The name of the column is displayed in header of the column in the playlist view. A custom column can have the same name as a built-in column or as another custom column. However this might be confusing.
Pattern
The title formatting expression which defines the content of the column. This expression is evaluated for each track in the playlist. The result is displayed in the playlist view. The expression may contain a limited form of markup to dim or highlight parts of the test. See the section "Dimming and Highlighting Text" below for details.
Alignment
The horizontal alignment of the column determines whether the column is displayed left-aligned, right-aligned or centered.

The built-in columns are hard-coded in the Default User Interface and cannot be changed. They also support features like icons in the "Playing" column which are not available for custom columns.

Editing Custom Columns

The following editing functions are available for custom columns. Some functions can be accessed through the context menu of the custom columns table or through keyboard shortcuts when the custom column table has the focus.

Add a custom column
Click the "Add New" button above the custom column table. Alternatively, press Ctrl+N or choose "Add New Entry" from the context menu. Double-clicking an empty entry also works. You can immediately edit the pattern of the added column.
Remove a custom colum
Click the "Remove" button above the custom column table to remove the selected custom column. Alternatively, press Del or choose "Delete Entry" from the context menu.
Change name
Click the name field of the entry. Alternatively, press Shift+F2 or choose "Edit Name" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
Change format
Click the format field of the entry. Alternatively, press F2 or choose "Edit Pattern" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
Change alignment
Click the alignment field of the entry and choose the desired alignment. Alternatively, choose the desired alignment from the "Alignment" submenu of the context menu.

Dimming and Highlighting Text

Parts of the displayed text in a custom column can be dimmed or highlighted using the characters < and >. Dimming and highlighting are both available in three levels. The color of dimmed text will be a blend of the text color and the background color. The color of highlighted text will be a blend of the text color and the highlight color. See the preferences page Colors and Fonts for details.

The following table shows examples for the available markups. The examples assume that the text color is black, the background color is white and the highlight color is blue.

Text with markup Displayed text
>>>strongly highlighted<<< strongly highlighted
>>highlighted<< highlighted
>weakly highlighted< weakly highlighted
normal normal
<weakly dimmed> weakly dimmed
<<dimmed>> dimmed
<<<strongly dimmed>>> strongly dimmed

Examples

Duration with Milliseconds

A custom column to display the duration. This is just like the built-in "Duration" column but displays milliseconds as well.

Name
Duration (ms)
Pattern
%length_ex%
Alignment
right

Disc and Track Number

A custom column to display the track number, with disc number (if available), and an indicator of whether the track is currently playing. The spaces in the pattern are important. The musical note character (♫) is only supported in some fonts. If you don't want to change your font you could replace it with a large bullet (•).

Name
Track no (extended)
Pattern
$if(%isplaying%,$char(9835) )[%discnumber% | ][%tracknumber%]
Alignment
right

Custom Grouping Schemes

Custom grouping schemes are user-configured grouping schemes which can be used in the Playlist View of the Default User Interface in addition to the built-in grouping schemes. A grouping scheme defines how tracks in the playlist are grouped together and what the names of the groups are. The table in the lower part of the preferences page contains the configured grouping schemes. Each row represents a grouping scheme which is defined by two properties.

Name
The name of the grouping scheme is displayed in the context menu of the Playlist View header. A custom grouping scheme can have the same name as a built-in grouping scheme or as another custom grouping scheme. However this might be confusing.
Pattern
The title formatting expression which defines the name of the groups. This expression is evaluated for each track in the playlist. Neighboring tracks with the same result will be displayed as a single group. The result is displayed as the group header. Note that dimming and highlighting is not available for group headers. They are always displayed in the highlight color. Also note that the pattern can only access information from the tracks themselves. The special fields %list_total% and %list_index% are undefined when used in a custom grouping scheme.

The built-in grouping schemes are hard-coded in the Default User Interface and cannot be changed.

Editing Custom Grouping Schemes

The following editing functions are available for custom grouping schemes. Some functions can be accessed through the context menu of the custom grouping schemes table or through keyboard shortcuts when the custom grouping schemes table has the focus.

Add a custom grouping scheme
Click the "Add New" button above the custom grouping scheme table. Alternatively, press Ctrl+N or choose "Add New Entry" from the context menu. Double-clicking an empty entry also works. You can immediately edit the pattern of the added grouping scheme.
Remove a custom column
Click the "Remove" button above the custom grouping scheme table to remove the selected custom grouping scheme. Alternatively, press Del or choose "Delete Entry" from the context menu.
Change name
Click the name field of the entry. Alternatively, press Shift+F2 or choose "Edit Name" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.
Change format
Click the format field of the entry. Alternatively, press F2 or choose "Edit Pattern" from the context menu. Press Return or Enter to confirm your changes or press Esc to discard them.

Examples

Albums, single tracks and streams

A grouping scheme to have separate groups for Internet streams, songs with album tags, and songs without album tags.

Pattern
$if($stricmp($left(%path%,7),'http://'),Internet streams,$if2(%album artist%,Non-album tracks)[ – %album%])

Links