This commit is contained in:
Joey Yakimowich-Payne 2026-01-31 11:21:28 -07:00
commit 9d57ba5d25
9 changed files with 235 additions and 19 deletions

View file

@ -1,4 +1,4 @@
# Warppipe GUI Plan (Qt6 Node-Based Audio Router)
# Warp Pipe GUI Plan (Qt6 Node-Based Audio Router)
## Overview
A Qt6-based node editor GUI for warppipe using the QtNodes (nodeeditor) library. Visualizes PipeWire audio nodes, ports, and links as draggable nodes with connection lines. Supports creating virtual sinks/sources via context menu and displays ephemeral sources with visual fade when inactive.
@ -395,7 +395,7 @@ Active vs Ghost:
option(BUILD_GUI "Build Qt6 GUI application" ON)
if(BUILD_GUI)
if(WARPPIPE_BUILD_GUI)
find_package(Qt6 6.2 REQUIRED COMPONENTS Core Widgets)
set(CMAKE_AUTOMOC ON)
@ -441,6 +441,7 @@ if(BUILD_GUI)
target_link_libraries(warppipe-gui-tests PRIVATE
warppipe
Qt6::Core
Qt6::Widgets
QtNodes
Catch2::Catch2WithMain
@ -464,9 +465,8 @@ endif()
### Dependencies
- Qt6 >= 6.2 (Core, Widgets)
- Qt6::Test (for GUI test target)
- QtNodes (nodeeditor) — fetched via CMake FetchContent
- Catch2 v3 — fetched via CMake FetchContent (shared with existing tests)
- Catch2 v3 — required for GUI tests (via `find_package`)
- warppipe library (existing)
---