#pragma once #include #include #include #include namespace LibAudio { struct AudioBuffer { using sample_t = float; uint32_t sample_rate; uint32_t channels; BAN::Atomic paused { false }; uint32_t capacity; BAN::Atomic tail { 0 }; BAN::Atomic head { 0 }; sample_t samples[/* capacity */]; }; class Audio { BAN_NON_COPYABLE(Audio); public: static BAN::ErrorOr