bass-manage

Qt Quick / Kirigami control panel for the PipeWire Bass Manage 7.1 virtual sink (bass_manage.7.1). Live tweaks for center→FL/FR fold, LFE mix, and LFE delay; Save writes ~/.config/pipewire/filter-chain.conf.d/50-bass-manage-lfe.conf.

Requirements

  • Qt 6 (qt6-base, qt6-declarative, qt6-wayland, qt6-svg)
  • Kirigami 6 + qqc2-desktop-style (Plasma look)
  • PipeWire with pw-cli / pw-dump
  • Your bass-manage filter-chain already loaded (e.g. filter-chain.service)

Arch/SteamOS packages (names may vary slightly):

sudo pacman -S --needed qt6-base qt6-declarative qt6-wayland qt6-svg \
  kirigami qqc2-desktop-style cmake gcc

Build & install

cd ~/dev/bass-manage   # or wherever you cloned this
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$HOME/.local"
cmake --build build -j"$(nproc)"
cmake --install build

This installs:

Path What
~/.local/bin/bass-manage-gui App binary
~/.local/share/bass-manage/ QML + Lucide icons
~/.local/share/applications/bass-manage-gui.desktop App menu entry

Ensure ~/.local/bin is on your PATH.

Run

bass-manage-gui

Or open Bass Manage 7.1 from the app launcher.

Needs a Wayland (or X11) session and a running bass_manage.7.1 sink:

systemctl --user status filter-chain.service
pactl list short sinks | grep bass_manage

PipeWire sink (if missing)

The GUI does not create the virtual device. Put a filter-chain config in:

~/.config/pipewire/filter-chain.conf.d/50-bass-manage-lfe.conf

Then:

systemctl --user restart filter-chain.service
pactl set-default-sink bass_manage.7.1

Point playback.props.target.object at your real 7.1 hardware sink.

Rebuild after changes

cmake --build ~/dev/bass-manage/build && cmake --install ~/dev/bass-manage/build

QML under the source tree is preferred when the binary was built with BASS_MANAGE_SOURCE_DIR, so UI edits in qml/Main.qml often apply on the next launch without reinstall.

Description
PipeWire bass-manage Qt Quick / Kirigami control panel
Readme 41 KiB
Languages
C++ 55.5%
QML 41.6%
CMake 2.9%