foobar2000:Components/Queue Editor (foo_queue_editor)

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
Queue Editor
Queue editor general.png
Queue Editor
Developer(s) Sami Salonen
da yuyu
Repository github
Release information
Initial release
Stable release 2.0.1 (December 13, 2023)
Preview release
foobar2000 compatibility
Architecture {{{foobar2000_architecture}}}
Minimum version 2.0
Maximum version
UI module(s) Default UI, Columns UI
Additional information
Use
License GPL-3.0
Discussion thread {{{discussion_thread}}}
View all components


General

This component is a 64-bit port of the foo_queuecontents component originally released by Sami Salonen.

foo_queue_editor enables the user to edit and view queue contents through an ui element. Both the Default User Interface (DUI) and Columns User Interface (CUI/uie) are supported. As a legacy option, queue editor can also be viewed and edited by a special queue playlist, which is updated automatically with queue contents.

Discussion

Please use this thread to provide feedback, or to report any bugs you might have found.

Getting started

The recommended way to use foo_queue_editor is to use the UI element. Just add the panel as you would any other UI element. The element can be found under Utility category in DUI, or under Panels category in CUI with the name Queue Editor.

Features and Usage

As stated before the component supports two kind of interfaces: UI element (CUI/DUI) and a special playlist for displaying/editing queue contents.

UI Element

UI Element: Context menu for queue items
UI Element: Context menu for column header

UI element works with both popular user interfaces for foobar: Default UI and Columns UI. Following features are supported in each:

  • Views items currently in the queue using interface similar to foobar default playlist component.
  • Reorder queue items by drag & drop, and by using keyboard shortcuts similar to foobar default playlist component.
  • Delete queue items through the context menu, or pressing the delete key.
  • Add items to queue by drag & drop. Files can be dragged either outside or inside from foobar. Files that are dragged from a foobar playlist are queued in the same way they would have been with the Add to Playback Queue command.
  • Fully user-customizable columns in the UI element. You can add, delete and reorder columns however you like. User can define new columns with custom format strings from the preferences.
  • Optionally auto-size of columns so that column width/element width ratio is kept constant (Auto-scale Columns with Window Size).
  • Optionally show or hide the column header. You can show or hide the column header by clicking Show column header in the preferences panel.
  • Frame style of the component can be changed with Columns UI (CUI) by clicking anywhere in the UI element and choosing a style from the Frame style context menu.

Playlist (legacy)

Queue playlist functionality has been from the start. It is now considered obsolete/legacy option since reflecting queue contents in a separate playlist is confusing to say the least. It also has strange behaviour (due to inherent features of a playlist) that might confuse people. However, the functionality is preserved for compatibility reasons. UI element is recommended over the playlist functionality.

Features:

  • Queue contents are reflected to a special playlist. The items are ordered according to their queue position, i.e. items on the top of the playlist are played first.
  • All changes (deletions, insertions and reordering) to playlist is reflected also to queue.
  • Queue playlist name can be changed by just renaming the playlist. It can also be changed from the foobar preferences.
  • Queue playlist functionality is disabled by default but it can be enabled from the preferences.

Configuration

Queue Editor Preferences

Configuration of the columns is very straight-forward and should be familiar to anyone with foobar DUI experience. Each column has the following properties:

  • Name, used for the column header in the UI element
  • Pattern, format string for displaying information about the queue item. Click Syntax Help for more information on format strings.
  • Alignment, alignment of the column.

In the pattern you can also use %queue_index% to reference item's position in the queue (first one has index 1), and %queue_total% to reference items currently in a queue. In addition you can use %playlist_name% to refer to the playlist name of the queued item. Similarly, %list_index% and %list_total% tell you the position and size of the playlist corresponding to the queued item.

For each queue editor UI element you have, you can choose different columns to display by right-clicking the column header.


As a legacy option, foo_queue_editor supports reflecting of playlist contents to a special playlist. You can enable/disable the functionality from the preferences using the checkbox Enable Queue Playlist Feature.

External links