HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
audio_device_win32.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "audio_device.hpp"
8
9struct IMMDevice;
10struct IPropertyStore;
11struct IMMEndpoint;
12
13namespace tt {
14
18public:
19 audio_device_win32(IMMDevice *device);
21
22 std::string id() const noexcept override;
23 std::string name() const noexcept override;
24 tt::label label() const noexcept override;
25 audio_device_state state() const noexcept override;
26 audio_device_flow_direction direction() const noexcept override;
27
28 static std::string get_id_from_device(IMMDevice *device) noexcept;
29
30private:
31 IMMDevice *_device;
32 IMMEndpoint *_endpoint;
33 IPropertyStore *_property_store;
34
39 std::string device_name() const noexcept;
40
44 std::string end_point_name() const noexcept;
45};
46
47}
STL namespace.
A set of audio channels which can be rendered and/or captures at the same time.
Definition audio_device.hpp:59
Definition audio_device_win32.hpp:17
audio_device_state state() const noexcept override
Get the current state of the audio device.
std::string id() const noexcept override
The nonephemeral unique id that for an audio device on the system.
std::string name() const noexcept override
Get a user friendly name of the audio device.
A localized text + icon label.
Definition label.hpp:76