Columns UI is an alternative UI for the Windows version of the foobar2000 audio player, with interchangeable panels and toolbars.
Its features include:
- a dark mode on Windows 10 and 11
- a playlist view with grouping, artwork and in-line metadata editing
- DirectWrite text rendering in most built-in panels, including colour emoji support
- colour management for artwork
- support for SVG icons in the buttons toolbar via SVG services
- item details and properties panels to view detailed track information
To use Columns UI, you need:
- Windows 7 Service Pack 1 with the Platform Update, or newer
- foobar2000 1.5 or newer
Stable and pre-release versions can be downloaded from the Columns UI home page.
If you’re logged into GitHub, you can download the latest development version by visiting the list of recent GitHub Actions builds, clicking on the most recent entry with a green tick, and then scrolling down to the links named ‘Component package (release, win32)’ and ‘Component package (release, x64)’ at the bottom.
Development versions may be buggier than formal releases; if you encounter a problem, open an issue.
The source code of Columns UI is released under the GNU Lesser General Public License (LGPL) version 3.
To clone the repo and dependencies, download and install Git, and then run:
git clone --recursive https://github.com/reupen/columns_ui.gitThis repo makes use of Git submodules. If you're not familiar with them, see the guide here.
To build Columns UI, you need:
- Visual Studio 2022
- Windows 11 SDK, version 10.0.26100.0 or newer
- vcpkg
- Python 3.12 (including the
pylauncher)
Download Visual Studio 2022. During installation, select the Desktop development with C++ workload and version 10.0.26100 or newer of the Windows 11 SDK from the right-hand side.
You can install and set up vcpkg by running the following commands (in a directory of your choice outside the Columns UI source tree):
git clone https://github.com/Microsoft/vcpkg.git
vcpkg\bootstrap-vcpkg.bat
vcpkg\vcpkg integrate installDependencies will then be automatically installed when Columns UI is built.
(You’ll need to occasionally run git pull in the vcpkg directory to fetch
updated package metatdata.)
Open vc17/columns_ui-public.sln in Visual Studio 2022.
Select the Release configuration and a platform (Win32 or x64), and build the solution.
If the build is successful, foo_ui_columns.<architecture>.fb2k-component will
be output in vc17\release-<platform>-v143.
You can use MSBuild if you prefer. To build a 32-bit component, start a Developer Command Prompt for VS 2022 (from the start menu), and run:
msbuild /m "/p:Platform=Win32;Configuration=Release" vc17\columns_ui-public.slnIf the build is successful, foo_ui_columns.x86.fb2k-component will be output
in vc17\release-win32-v143.
For a clean build, run:
msbuild /m "/p:Platform=Win32;Configuration=Release" "/t:Rebuild" vc17\columns_ui-public.slnInstructions for building with Clang
Columns UI can be also compiled using the version of Clang distributed with Visual Studio.
(Note that Clang is not installed by default – in the Visual Studio 2022 installer, you will need to select the Clang compiler and the Clang build tools components.)
With these installed, open a Developer Command Prompt for VS 2022 from the start menu, switch to the Columns UI source directory and run:
msbuild /m "/p:PlatformToolset=ClangCL;LinkToolExe=link.exe;VcpkgAutoLink=true;Platform=Win32;Configuration=Release" vc17\columns_ui-public.sln(Note: Currently lld-link.exe can't be used due to
missing wildcard support.)
A universal release package (containing x86 and x64 build) can be created by running:
py scripts\build-release-package.py
If successful, a component package will be created in the component-packages
directory.
(A Visual Studio Developer Command Prompt is not required to run the script.)
This repo also includes the source for a
documentation site in the docs directory.
See docs/README.md for more information.
