7#include "audio_system.hpp"
8#include "audio_system_delegate.hpp"
9#include "audio_device_id.hpp"
10#include "../wfree_fifo.hpp"
13struct IMMDeviceEnumerator;
15namespace hi::inline v1 {
17class audio_system_win32_notification_client;
19class audio_system_win32;
32 void init()
noexcept override;
38 for (
hilet &device : _devices) {
39 r.push_back(device.get());
44 void update_device_list() noexcept;
58 IMMDeviceEnumerator *_device_enumerator;
59 audio_system_win32_notification_client *_notification_client;
61 void default_device_changed(hi::
audio_device_id const &device_id) noexcept;
64 void device_state_changed(hi::
audio_device_id const &device_id) noexcept;
65 void device_property_value_changed(hi::
audio_device_id const &device_id) noexcept;
67 friend audio_system_win32_notification_client;
#define hilet
Invariant should be the default for variables.
Definition required.hpp:23
A set of audio channels which can be rendered and/or captures at the same time.
Definition audio_device.hpp:52
Definition audio_device_id.hpp:14
Definition audio_system.hpp:19
Definition audio_system_win32.hpp:21
Definition audio_system_win32.hpp:25
std::vector< audio_device * > devices() noexcept override
The devices that are part of the audio system.
Definition audio_system_win32.hpp:34