Foobar2000:Mac:Layout: Difference between revisions

From Hydrogenaudio Knowledgebase
mNo edit summary
Line 49: Line 49:
  albumlist
  albumlist
  playlist</pre>
  playlist</pre>
===== Splitter item properties =====
New feature added in build 2024-10-14.
<pre>NSSplitViewItem.canCollapse</pre>
Causes item to be collapsible, when out of space. Value is ignored - adding this argument causes the item to become collapsible. See also: [https://developer.apple.com/documentation/appkit/nssplitviewitem/1388926-cancollapse Apple developer documentation].
<pre>NSSplitViewItem.behavior</pre>
Controls split view item behavior. For details and available values, see [https://developer.apple.com/documentation/appkit/nssplitviewitem/1388899-behavior Apple developer documentation].
<pre>NSSplitViewItem.collapseBehavior</pre>
Controls split view item collapse behavior. For details and available values, see [https://developer.apple.com/documentation/appkit/nssplitviewitem/collapsebehavior Apple developer documentation].
<pre>NSSplitViewItem.holdingPriority</pre>
Controls priority for a split view item to hold its size. Allowed range: 0...1000. For details, see [https://developer.apple.com/documentation/appkit/nssplitviewitem/1388887-holdingpriority Apple developer documentation].
Example:
<pre>splitter
albumlist NSSplitViewItem.canCollapse NSSplitViewItem.behavior=NSSplitViewItemBehaviorSidebar
playlist NSSplitViewItem.behavior=NSSplitViewItemBehaviorDefault</pre>
=== Media Library ===
=== Media Library ===
==== Album List ====
==== Album List ====

Revision as of 17:02, 15 October 2024

Introduction

2024 preview versions of foobar2000 for Mac, versioned as v2.7 series, introduced the ability to customize UI layout.

There's no live layout editing similar to Windows foobar2000; instead you edit layout description as plain text.

Syntax

Each layout line is formatted as:

element-name [argument=value ...]

Specific example:

console mode=lite

Declares "console" element with argument "mode" set to "lite", which produces slim version of the console view, without utility buttons.

Some elements such as splitters and tabs can contain other elements.

To embed an element in other element, add indentation (space characters) before the declaration of an embedded element:

tabs
 elem1
 elem2
 elem3

Elements

Containers

Tabs

tabs
tabs position=top
tabs position=bottom
tabs position=left
tabs position=right

Declares a tabs container.

You can set names of individual tabs by adding tab-name argument to each tab element:

tabs
 albumlist tab-name="Album List"
 albumart tab-name="Album Art"
 selection-properties tab-name="Properties"

Splitter

splitter
splitter vertical
splitter style=thin
splitter style=thick
splitter style=pane

Splitter can hold any number of panes. Use optional style argument to control splitter visual style.

Add "vertical" argument, with no value, to create vertical instead of default horizontal.

Example:

splitter
 albumlist
 playlist
Splitter item properties

New feature added in build 2024-10-14.

NSSplitViewItem.canCollapse

Causes item to be collapsible, when out of space. Value is ignored - adding this argument causes the item to become collapsible. See also: Apple developer documentation.

NSSplitViewItem.behavior

Controls split view item behavior. For details and available values, see Apple developer documentation.

NSSplitViewItem.collapseBehavior

Controls split view item collapse behavior. For details and available values, see Apple developer documentation.

NSSplitViewItem.holdingPriority

Controls priority for a split view item to hold its size. Allowed range: 0...1000. For details, see Apple developer documentation.

Example:

splitter
 albumlist NSSplitViewItem.canCollapse NSSplitViewItem.behavior=NSSplitViewItemBehaviorSidebar
 playlist NSSplitViewItem.behavior=NSSplitViewItemBehaviorDefault

Media Library

Album List

albumlist

No arguments.

ReFacets

refacets

No arguments.

Selected track info

Selection Properties

selection-properties
selection-properties sections=metadata,location,general,replaygain,other

Use sections argument to specific which sections you want shown, defaults to all. Order of them can't be changed.

Album Art

albumart

No arguments.

Playlist & playback

Playlist

playlist

No arguments.

Playback controls bar

playback-controls

No arguments.

Playlist picker sidebar

playlist-picker

Arguments (new in build 2024-10-04):

  • style, either "plain" or "sourcelist" (default, similar to past foobar2000 versions).

Playlist manager

playlist-manager

New in build 2024-10-11. No arguments.

Audio Unit

audiounit mode=control name=AUGraphicEQ vendor=Apple

Embeds an Audio Unit in your layout.

Arguments:

  • mode, either "control" (the default) or "visualization". "control" mode can't accurately show singal being played but applies changes in Audio Unit settings to current playback chain; "visualization" doesn't alter played audio but synchronizes singal fed to the audio unit with live audio, resulting in smoother appearance of Audio Units that visualize played audio.
  • name, name of the Audio Unit
  • vendor, OPTIONAL, name of the Audio Unit vendor, in case two different unrelated Audio Units exist with the same name.

Other

Console

console
console mode=lite

foobar2000 console view. Use mode=lite to omit clear etc buttons.