From 0fce665f5da7119809b2d5ce13eb763a6c2eb4c6 Mon Sep 17 00:00:00 2001 From: zeldakatze Date: Wed, 6 Aug 2025 23:28:30 +0200 Subject: add portaudio --- src/audio/devices.hpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/audio/devices.hpp') diff --git a/src/audio/devices.hpp b/src/audio/devices.hpp index c83bdb4..54d1713 100644 --- a/src/audio/devices.hpp +++ b/src/audio/devices.hpp @@ -4,7 +4,13 @@ // clang-format off #include + +#ifndef USE_PORTAUDIO #include +#else +#include +#endif + #include // clang-format on @@ -16,13 +22,26 @@ public: Glib::RefPtr GetPlaybackDeviceModel(); Glib::RefPtr GetCaptureDeviceModel(); + #ifndef USE_PORTAUDIO void SetDevices(ma_device_info *pPlayback, ma_uint32 playback_count, ma_device_info *pCapture, ma_uint32 capture_count); + #else + /* call Pa directly */ + void SetDevices(); + #endif +#ifdef USE_PORTAUDIO + [[nodiscard]] std::optional GetPlaybackDeviceIDFromModel(const Gtk::TreeModel::iterator &iter) const; + [[nodiscard]] std::optional GetCaptureDeviceIDFromModel(const Gtk::TreeModel::iterator &iter) const; + + [[nodiscard]] std::optional GetDefaultPlayback() const; + [[nodiscard]] std::optional GetDefaultCapture() const; +#else [[nodiscard]] std::optional GetPlaybackDeviceIDFromModel(const Gtk::TreeModel::iterator &iter) const; [[nodiscard]] std::optional GetCaptureDeviceIDFromModel(const Gtk::TreeModel::iterator &iter) const; [[nodiscard]] std::optional GetDefaultPlayback() const; [[nodiscard]] std::optional GetDefaultCapture() const; +#endif void SetActivePlaybackDevice(const Gtk::TreeModel::iterator &iter); void SetActiveCaptureDevice(const Gtk::TreeModel::iterator &iter); @@ -36,7 +55,11 @@ private: PlaybackColumns(); Gtk::TreeModelColumn Name; +#ifdef USE_PORTAUDIO + Gtk::TreeModelColumn DeviceID; +#else Gtk::TreeModelColumn DeviceID; +#endif }; PlaybackColumns m_playback_columns; Glib::RefPtr m_playback; @@ -48,7 +71,11 @@ private: CaptureColumns(); Gtk::TreeModelColumn Name; +#ifndef USE_PORTAUDIO Gtk::TreeModelColumn DeviceID; +#else /* USE_PORTAUDIO */ + Gtk::TreeModelColumn DeviceID; +#endif /* USE_PORTAUDIO */ }; CaptureColumns m_capture_columns; Glib::RefPtr m_capture; -- cgit v1.2.3