From f6f7c36909fa161efe53c40e9b4c34856e751536 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Tue, 12 May 2026 21:32:53 -0400 Subject: Initial tmix skeleton — model layer + basic UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') 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} +) -- cgit v1.2.3