Initial commit: pwweb - PipeWire WebUI
C++ backend with SSE streaming (reuses qpwgraph PipeWire callbacks). Svelte frontend with custom SVG canvas for port-level connections. Features: - Live PipeWire graph via SSE - Drag output->input port to connect - Double-click or select+Delete to disconnect - Node positions saved to localStorage - Pan (drag bg) and zoom (scroll) - Port type coloring (audio=green, midi=red, video=blue)
This commit is contained in:
43
CMakeLists.txt
Normal file
43
CMakeLists.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(pwweb VERSION 0.1.0 LANGUAGES C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(PW REQUIRED libpipewire-0.3)
|
||||
pkg_check_modules(SPA REQUIRED libspa-0.2)
|
||||
|
||||
# ZLIB for cpp-httplib gzip compression
|
||||
find_package(ZLIB QUIET)
|
||||
|
||||
add_executable(pwweb
|
||||
src/main.cpp
|
||||
src/graph_engine.cpp
|
||||
src/web_server.cpp
|
||||
)
|
||||
|
||||
target_include_directories(pwweb PRIVATE
|
||||
src
|
||||
src/third_party
|
||||
${PW_INCLUDE_DIRS}
|
||||
${SPA_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
target_link_directories(pwweb PRIVATE
|
||||
${PW_LIBRARY_DIRS}
|
||||
${SPA_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
target_link_libraries(pwweb PRIVATE
|
||||
${PW_LIBRARIES}
|
||||
${SPA_LIBRARIES}
|
||||
pthread
|
||||
)
|
||||
|
||||
if(ZLIB_FOUND)
|
||||
target_link_libraries(pwweb PRIVATE ZLIB::ZLIB)
|
||||
target_compile_definitions(pwweb PRIVATE CPPHTTPLIB_ZLIB_SUPPORT)
|
||||
endif()
|
||||
|
||||
target_compile_options(pwweb PRIVATE ${PW_CFLAGS_OTHER} ${SPA_CFLAGS_OTHER})
|
||||
Reference in New Issue
Block a user