Formatting
publish / publish (push) Successful in 14m33s

This commit is contained in:
khodowany
2026-09-14 23:56:16 -05:00
parent 3816eb96c9
commit 59b96ddf95
16 changed files with 127 additions and 232 deletions
+1 -2
View File
@@ -6,6 +6,7 @@
#include <modulus/types.hpp>
namespace sonus {
enum class performance_profile : std::uint8_t {
@@ -47,6 +48,4 @@ struct playback_options {
std::bool_t stream{true};
};
using sound_handle = std::uint64_t;
}
+4 -3
View File
@@ -8,6 +8,7 @@
#include <modulus.hpp>
namespace sonus::detail {
constexpr std::int32_t error_invalid_argument{1};
@@ -18,13 +19,13 @@ constexpr std::int32_t error_internal{4};
auto make_error(std::int32_t code, std::string message, modulus::source_location location = modulus::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION())) -> modulus::error;
auto fail_void(modulus::error error) -> std::expected<void, modulus::error>;
auto fail_void(std::int32_t code, std::string message, modulus::source_location location = modulus::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION())) -> std::expected<void, modulus::error>;
auto fail_void(std::expected<void, modulus::error> const& result) -> std::expected<void, modulus::error>;
auto fail_void(std::expected<void, modulus::error> const &result) -> std::expected<void, modulus::error>;
template <typename VALUE>
auto fail(modulus::error error) -> std::expected<VALUE, modulus::error>;
template <typename VALUE>
auto fail(std::expected<void, modulus::error> const& result) -> std::expected<VALUE, modulus::error>;
auto fail(std::expected<void, modulus::error> const &result) -> std::expected<VALUE, modulus::error>;
template <typename VALUE>
auto fail(std::int32_t code, std::string message, modulus::source_location location = modulus::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION())) -> std::expected<VALUE, modulus::error>;
@@ -37,7 +38,7 @@ auto sonus::detail::fail(modulus::error error) -> std::expected<VALUE, modulus::
}
template <typename VALUE>
auto sonus::detail::fail(std::expected<void, modulus::error> const& result) -> std::expected<VALUE, modulus::error> {
auto sonus::detail::fail(std::expected<void, modulus::error> const &result) -> std::expected<VALUE, modulus::error> {
assert(!result);
return modulus::fail<VALUE>(result.error());
}
+11 -19
View File
@@ -11,47 +11,39 @@
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 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:
static auto create(sonus::audio_config config = {}) -> std::expected<sonus::engine, modulus::error>;
engine(sonus::engine const&) = delete;
auto operator=(sonus::engine const&) -> sonus::engine& = delete;
engine(sonus::engine&& other) noexcept;
auto operator=(sonus::engine&& other) noexcept -> sonus::engine&;
engine(sonus::engine const &) = delete;
auto operator=(sonus::engine const &) -> sonus::engine & = delete;
engine(sonus::engine &&other) noexcept;
auto operator=(sonus::engine &&other) noexcept -> sonus::engine &;
~engine();
auto start() -> std::expected<void, modulus::error>;
auto stop() -> void;
auto started() const -> std::bool_t;
auto sample_rate() const -> std::uint32_t;
auto channels() const -> std::uint32_t;
auto set_master_volume(std::float32_t volume) -> std::expected<void, modulus::error>;
auto play_file(std::filesystem::path const& path, sonus::playback_options options = {}) -> std::expected<sonus::sound_handle, modulus::error>;
auto stop(sonus::sound_handle handle) -> std::expected<void, modulus::error>;
auto play_file(std::filesystem::path const &path, sonus::playback_options options = {}) -> std::expected<std::uint64_t, modulus::error>;
auto stop(std::uint64_t handle) -> std::expected<void, modulus::error>;
auto stop_all() -> void;
auto is_playing(sonus::sound_handle handle) -> std::expected<std::bool_t, modulus::error>;
auto is_playing(std::uint64_t handle) -> std::expected<std::bool_t, modulus::error>;
auto collect_finished() -> std::uint64_t;
auto active_sound_count() -> std::uint64_t;
auto start_metronome(sonus::metronome_config config = {}) -> std::expected<void, modulus::error>;
auto update_metronome(sonus::metronome_config config) -> std::expected<void, modulus::error>;
auto stop_metronome() -> void;
auto metronome_active() const -> std::bool_t;
auto render(std::float32_t* output, std::uint64_t frame_count) -> std::expected<void, modulus::error>;
auto render(std::float32_t *output, std::uint64_t frame_count) -> std::expected<void, modulus::error>;
private:
struct impl;
explicit engine(std::unique_ptr<sonus::engine::impl> implementation) noexcept;
std::unique_ptr<sonus::engine::impl> implementation_;
};