@@ -18,6 +18,7 @@ struct audio_config {
|
||||
std::uint32_t channels{2};
|
||||
std::float32_t master_volume{0.70F};
|
||||
std::bool_t no_device{false};
|
||||
std::string playback_device_id{};
|
||||
std::string playback_device_name{};
|
||||
std::uint32_t period_size_frames{0};
|
||||
std::uint32_t period_size_milliseconds{0};
|
||||
@@ -25,6 +26,12 @@ struct audio_config {
|
||||
sonus::performance_profile performance{sonus::performance_profile::LOW_LATENCY};
|
||||
};
|
||||
|
||||
struct device_info {
|
||||
std::string id{};
|
||||
std::string name{};
|
||||
std::bool_t is_default{false};
|
||||
};
|
||||
|
||||
struct metronome_config {
|
||||
std::uint32_t bpm{120};
|
||||
std::uint32_t beats_per_bar{4};
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <expected>
|
||||
#include <filesystem>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include <modulus.hpp>
|
||||
#include <sonus/config.hpp>
|
||||
@@ -13,6 +14,7 @@ namespace sonus {
|
||||
auto validate(sonus::audio_config const& config) -> std::expected<void, modulus::error>;
|
||||
auto validate(sonus::metronome_config const& config) -> std::expected<void, modulus::error>;
|
||||
auto validate(sonus::playback_options const& options) -> std::expected<void, modulus::error>;
|
||||
auto enumerate_playback_devices() -> std::expected<std::vector<sonus::device_info>, modulus::error>;
|
||||
|
||||
class engine {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user