In miniaudio based on their specifications. There should ever only be one audio::engine instance.
Where each instance manages their own payload of audio effects and resources that are being utilized per `audio::engine.
About audio::context
In miniaudio's case. An audio context allows for multiple audio engine API's to effectively poll which audio devices to output to or select specific audio devices to take in inputs.
Before we can enable for intaking specific audio devices. We need to specify the configuration to the audio context beforehand.
Expected Behavior
Should be able to enumerate the number of audio devices and print out their names that are connected to your current platforms.
Example API:
audio::context test_context(/* set params */);
std::span<const audio::device> connected_devices = test_context.enumerate_devices();
std::optional<audio::device> device1 = connected_devices[0];
std::println("Name = {}", device1->name()); // prints the vendor for specific audio device.
In miniaudio based on their specifications. There should ever only be one
audio::engineinstance.Where each instance manages their own payload of audio effects and resources that are being utilized per `audio::engine.
About
audio::contextIn miniaudio's case. An audio context allows for multiple audio engine API's to effectively poll which audio devices to output to or select specific audio devices to take in inputs.
Before we can enable for intaking specific audio devices. We need to specify the configuration to the audio context beforehand.
Expected Behavior
Should be able to enumerate the number of audio devices and print out their names that are connected to your current platforms.
Example API: