Columns UI SDK  6.5
Columns UI SDK


The Columns UI SDK provides interfaces you can use to:

The uie namespace is synonymous with the ui_extension namespace.


You'll need:

To install, extract the columns_ui-sdk.7z archive to the foobar2000 subdirectory of your foobar2000 SDK folder.


Insert the columns_ui-sdk project into your solution, and add it as a dependency for your project. Then #include "columns_ui-sdk/ui_extension.h" in your project as needed.

Panel APIs


Clients should implement ui_extension::window. Specific sub-classes exist for

Hosts should implement ui_extension::window_host. Hosts wishing to expose extnernal control methods can implement ui_extension::window_host_with_control instead.


The prefered method of implementing the window class is to derive from ui_extension::container_ui_extension. Single instance panels or dialog-based panels may wish to derive from ui_extension::window_base_t instead.

Deriving directly from ui_extension::window is generally not needed.

Button APIs


The base class for buttons is ui_extension::button.

If you wish to provide default bitmaps and additional information for your menu items, derive from ui_extension::menu_button. If you wish to implement a custom button not not based upon a menu item, derive from ui_extension::custom_button.

Standard windows

The GUIDs for the standard panels may be found in the cui::panels nampespace. The GUIDs for the standard toolbars may be found in the cui::toolbars nampespace.

You may use these GUIDs to create the standard windows in your own component; do not use them as GUIDs for your own windows.