|
HikoGUI
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.
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.
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.
Get the currently configured sample rate.
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. |
Set the sample rate.
| sample_rate | The sample rate to configure the device to. |
|
pure virtualnoexcept |
Get the current state of the audio device.
Update the internal state based on the audio device.
This function is called by the audio-system when a device change was detected.