Foobar2000:Components/Playlist Organizer (foo plorg)

From Hydrogenaudio Knowledgebase
Foobar2000_Logo.png
Playlist Organizer Main view

General

foo_plorg is a simple component that will let your organize your playlists in a treeview fashion. It is available as either a Column UI panel or an UI element for the default UI. It enables your to create folders, hierarchies and move around folders and playlists by dragging and dropping them wherever you want in the panel.

Download link

The component is available from here

Discussion

Please use this thread to provide feedback or report any bug.

Requirements

Foobar 1.x and Column UI 0.3.8.x (Optional). The component will not work with previous versions of Foobar.

Getting started

Install the toolbar as an UI element (Default UI) or a column UI panel. The commands are available with a right click on the panel. Folders and Playlists be can selected by a left click, then moved and dropped around.

Usage

Basic Usage

The component implements a treeview control, basically made of playlist and folders. When the component is used for the first time, a "Default" folder will be created and all playlists placed in this folder.

The basic usage is to create folders (right click anywhere on the panel to access this function) and move your playlists within those newly created folders. Folders can be nested. Playlists and folders can be moved (e.g. Drag & Dropped) to their desired location within the hierarchy.

Visual Indication for playlists

Playlist Organizer Visual status of playlists

Based on the general or customized color scheme, foo_playlist_organizer will give an indication of Selected, Active and Playing playlists, as well as the source of Drag & Drop operations.

Please note that Selected and Active playlists will be kept equal (except for instance when selecting folders) when the "Activate on single click" option is chosen.

Drag& Drop

... to be completed

Context Menu

Playlist Organizer Context Menu

A context menu is available from everywhere in the treeview, from a mouse right click or using the Alt+Keydown short cut. Options are the following :

Activate

Will activate the chosen playlist. Note that activation happens automatically when "Activate on single click" is chosen in the preferences page

Rename

Will rename the selected playlist or folder. This option is also available using the F2 key.

Remove

Will remove (delete) the selected playlist or folder. This option is also available using the Del key. Note that folders cannot be removed while they still contain playlists or other folders.

Sort

Will sort the content of the selected folder alphabetically.

Contents

Will give access to the standard context menu for the selected playlist.

Preferences

The preferences page is available from the preferences dialog (General->Playlist Organizer) and provides with the following options.

Behavior

  • Activate on single click will activate (e.g. make visible on the playlist renderer) the selected playlist on a single click. Please note that when this option is selected and a playlist is activated by other means (for example the standard playlist switcher), it will be automatically selected and thus made visible as a result of the standard treeview behavior.
  • Play on double click will play the next item (according to the currently selected playback order) in the selected playlist.
  • Make playing playlist visible on activation will ensure that the playing playlist is visible when activated (for instance when double clicking on the status bar). This option only make sense when "Activate on single click" is unchecked.

Nodes

  • Title formatting enables the customization of how playlists and folders are displayed in the treeview. The formatting of nodes uses foobar formatting language and the following variables are available :
  • %node_name% is the name of the node, either a playlist or a folder.
  • %is_folder% is a boolean value for use in $if( ...) expressions and is true when the node is a folder.
  • %children_count% will provide the number of children for each node (0 for playlists).

The default formatting string is %node_name%$if(%is_folder%,' ['%children_count%']',) and will give an indication of the number of children (folders or playlists) for each folder in the tree.

Notes

  • Using foo_plorg as a standalone (popup) window may lead to loosing part of your playlists organization if some changes (addition, deletion, reordering, ...) are applied with other playlist managers while the window is closed. The window startup is more or less intelligent to recognize such situations but it is by nature limited. It is recommended that you use it as a "permanent" panel or UI element rather.

Change Log

  • Upcoming
    • Reworked Drag & drop and introduce content copy from one playlist to another (with Ctrl Key), or copy inside a playlist when Drag & Drop is from "external" source
    • Introduced titleformatting script for nodes (See Preferences page)
    • Memorized last known tree configuration for recall when new instance is initialized
    • Implemented options to restore deleted playlists
    • Fixed Reset function not working in preferences
    • Added indication of external drop operations in status bar
    • Autonamed newly created playlists and folders
    • Ensured active playlist is selected at initialization
    • Eliminated flickering during single click
    • Fixed dialog not getting focus when using Tab key
    • Fixed bug in framestyle setting
    • Forced playlist activation (after double click) when "Play on double click" option is selected and "Playback follow cursor" is not selected
    • Cleaned internal variables (tvi)
  • V0.9
    • Implemented external drag & drop support (Thanks kerpondile !)
    • Fixed preferences page activated from 1st item of standard context menu
    • Fixed improper colors on selection (drop highlight) rectangle
  • V0.8
    • 0.8.3 Fixed glitch in active item display. Applied theme. Introduced a new option to make playing playlist visible upon activation. Fixed background color of preferences page.
    • 0.8.2 Fixed crash in debug mode due to resize called before window activation (OnInit).
    • 0.8.1 CUI colors when not restored properly after unselecting custom background color
    • Fixed playback continuation (after double click) happening in same playlist when "Play on double click" option is selected and "Playback follow cursor" is not selected
    • Fixed improper display of playlists or folders containing "&"
    • Improved look for Vista/seven (Custom Draw for all items, No lines)
    • Added visual indication of playing playlist
  • V0.6
    • Fixed DUI context menu not appearing in edit mode
    • Neutralized selection of first playlist if clicking on an empty region
    • Double click now jumps to next track when "Play on double click" option is selected
  • V0.5
    • Fixed unwanted column ui context menu
    • Neutralized keyboard shortcuts while editing an item
    • Various changes on click/double click handling
  • V0.4
    • Added options to hide item count (Context Menu-> Options)
    • Tentatively introduced Vista / Seven style (to be confirmed)
    • Implemented "Preferences" entry in context menu
    • Implemented "Activate on single click" option (Preferences)
    • Implemented "Play on double click" option (Preferences)
    • Fix glitch with drophightlight rectangle (dotted rectangle sometimes breaks and takes on strange colors)
    • Re engineered visual appearance + drag & drop operations, fixed some glitches
    • Implemented minimum width/height
    • Fixed active playlist not appearing at startup
    • Fixed "active playlist" status/color lost after move
    • Fixed glitch during window scrolling (drag& drop)
    • New border drawing to integrate nicely with DUI
  • V0.3
    • Fixed item count not refreshing instantaneously
    • Fixed double click not working outside of playlist name
  • V0.2
    • Link to this page from the preferences page (Help button)
    • Fixed bug in managing (Enter/Delete) keys for label editing
    • Make the matching (at startup) of tree content vs. actual playlists more intelligent (usefull for utilization of the popup window)
    • Fixed panel appearing twice in column UI layout
  • V0.1
    • Initial release
  • To do (in no particular order) :
    • Finish this documentation
    • Implement Cut, copy & paste capability
    • Implement re-sorting of standard playlist view
    • Generate superset of contained playlists when activating a folder
    • Make the matching (at startup) even more intelligent
    • Prevent the panel from appearing in the toolbar menu (CUI)