summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2026-05-12 21:32:53 -0400
committerCalvin Morrison <calvin@pobox.com>2026-05-12 21:32:53 -0400
commitf6f7c36909fa161efe53c40e9b4c34856e751536 (patch)
treeeff44527b0be61eb2e19c9f483ed38b72879af11 /CMakeLists.txt
Initial tmix skeleton — model layer + basic UI
PulseModel: stable PulseDevice objects keyed by PA index, updated in-place via postEvent reconciliation. No bulk rebuilds. Three signals: deviceAdded, deviceRemoved (device changed handled per-device via volumeChanged/muteChanged/nameChanged). MixerWindow: four-tab layout (Output/Input/Playback/Recording), adds and removes individual DeviceWidgets in response to model signals. Builds and links cleanly against TQt3/TDE + libpulse. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt39
1 files changed, 39 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..29462ff
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,39 @@
+include( TDEVersion )
+cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} )
+project( tmix )
+
+include( TDEMacros )
+include( FindPkgConfig )
+
+pkg_check_modules( PULSE REQUIRED libpulse )
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TQT_INCLUDE_DIRS}
+ /usr/include/tqt3
+ /usr/include/tqt
+ ${TDE_INCLUDE_DIR}
+ /opt/trinity/include
+ ${PULSE_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ /opt/trinity/lib
+)
+
+tde_add_executable( tmix AUTOMOC
+ SOURCES
+ src/main.cpp
+ src/model/audiodevice.cpp
+ src/model/pulsedevice.cpp
+ src/model/pulsemodel.cpp
+ src/ui/devicewidget.cpp
+ src/ui/mixerwindow.cpp
+ LINK
+ tqt-mt
+ tdecore
+ tdeui
+ ${PULSE_LIBRARIES}
+ DESTINATION ${BIN_INSTALL_DIR}
+)