diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-11-05 02:32:43 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2022-11-05 02:32:43 -0400 |
commit | f8f9a907c931623b8ef43d7af45b10c49d41afaa (patch) | |
tree | a7d6bafcc1ffdde32428f23b1d86292efaa6ab43 /src/audio/devices.hpp | |
parent | cb690b6defde4851889d04a68efa4f06d7e38847 (diff) | |
download | abaddon-portaudio-f8f9a907c931623b8ef43d7af45b10c49d41afaa.tar.gz abaddon-portaudio-f8f9a907c931623b8ef43d7af45b10c49d41afaa.zip |
add basic combobox to choose output device, start using spdlog
Diffstat (limited to 'src/audio/devices.hpp')
-rw-r--r-- | src/audio/devices.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/audio/devices.hpp b/src/audio/devices.hpp new file mode 100644 index 0000000..0a88873 --- /dev/null +++ b/src/audio/devices.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include <gtkmm/liststore.h> +#include <miniaudio.h> +#include <optional> + +class AudioDevices { +public: + AudioDevices(); + + Glib::RefPtr<Gtk::ListStore> GetPlaybackDeviceModel(); + + void SetDevices(ma_device_info *pPlayback, ma_uint32 playback_count, ma_device_info *pCapture, ma_uint32 capture_count); + std::optional<ma_device_id> GetDeviceIDFromModel(const Gtk::TreeModel::iterator &iter); + +private: + class PlaybackColumns : public Gtk::TreeModel::ColumnRecord { + public: + PlaybackColumns(); + + Gtk::TreeModelColumn<Glib::ustring> Name; + Gtk::TreeModelColumn<ma_device_id> DeviceID; + }; + PlaybackColumns m_playback_columns; + Glib::RefPtr<Gtk::ListStore> m_playback; +}; |