HikoGUI
Select Version: ⚠️ This documents the main development branch of HikoGUI. It might differ from release versions.
A low latency retained GUI
|
#include <hikogui/audio/audio_device.hpp>
Public Member Functions | |
std::string const & | id () const noexcept |
The nonephemeral unique id that for an audio device on the system. | |
std::string | name () const noexcept |
Get a user friendly name of the audio device. | |
virtual label | label () const noexcept=0 |
Get a user friendly label of the audio device. | |
virtual void | update_state () noexcept=0 |
Update the internal state based on the audio device. | |
virtual audio_device_state | state () const noexcept=0 |
Get the current state of the audio device. | |
virtual audio_direction | direction () const noexcept=0 |
virtual bool | exclusive () const noexcept=0 |
Check if the device is in exclusive mode. | |
virtual void | set_exclusive (bool exclusive) noexcept=0 |
Set the device in exclusive or shared mode. | |
virtual double | sample_rate () const noexcept=0 |
Get the currently configured sample rate. | |
virtual void | set_sample_rate (double sample_rate) noexcept=0 |
Set the sample rate. | |
virtual hi::speaker_mapping | input_speaker_mapping () const noexcept=0 |
Get the currently configured input speaker mapping. | |
virtual void | set_input_speaker_mapping (hi::speaker_mapping speaker_mapping) noexcept=0 |
Set the input speaker mapping. | |
virtual std::vector< hi::speaker_mapping > | available_input_speaker_mappings () const noexcept=0 |
Speaker mapping that are available in the current configuration. | |
virtual hi::speaker_mapping | output_speaker_mapping () const noexcept=0 |
Get the currently configured output speaker mapping. | |
virtual void | set_output_speaker_mapping (hi::speaker_mapping speaker_mapping) noexcept=0 |
Set the output speaker mapping. | |
virtual std::vector< hi::speaker_mapping > | available_output_speaker_mappings () const noexcept=0 |
Speaker mapping that are available in the current configuration. | |
A set of audio channels which can be rendered and/or captures at the same time.
On win32 this would be Audio Endpoint gfx_device, which can either render or capture but not at the same time.
On MacOS this would contain all the inputs and outputs of either a physical or aggregate device that can run in the same clock domain, with both render and capture at the same time.
|
pure virtualnoexcept |
Speaker mapping that are available in the current configuration.
|
pure virtualnoexcept |
Speaker mapping that are available in the current configuration.
|
pure virtualnoexcept |
Check if the device is in exclusive mode.
|
inlinenoexcept |
The nonephemeral unique id that for an audio device on the system.
|
pure virtualnoexcept |
Get the currently configured input speaker mapping.
|
pure virtualnoexcept |
Get a user friendly label of the audio device.
This is a combination of the name of the device and the name of the end-point, plus an icon for the driver architecture.
|
inlinenoexcept |
Get a user friendly name of the audio device.
This is a combination of the name of the device and the name of the end-point.
|
pure virtualnoexcept |
Get the currently configured output speaker mapping.
|
pure virtualnoexcept |
Get the currently configured sample rate.
|
pure virtualnoexcept |
Set the device in exclusive or shared mode.
In shared mode:
In exclusive mode:
exclusive | True to get exclusive mode, False to get shared mode. |
|
pure virtualnoexcept |
Set the input speaker mapping.
speaker_mapping | The input speaker mapping to configure the device to. |
|
pure virtualnoexcept |
Set the output speaker mapping.
speaker_mapping | The output speaker mapping to configure the device to. |
|
pure virtualnoexcept |
Set the sample rate.
sample_rate | The sample rate to configure the device to. |
|
pure virtualnoexcept |
Get the current state of the audio device.
|
pure virtualnoexcept |
Update the internal state based on the audio device.
This function is called by the audio-system when a device change was detected.