17 [[nodiscard]] virtual auto
get_channels() const -> std::uint8_t = 0;
20 [[nodiscard]] virtual auto
read_samples(std::span<
float> out) -> std::
size_t = 0;
24 [[nodiscard]] virtual auto
seek_to_sample([[maybe_unused]] std::
size_t index) ->
bool {
return false; }
26 [[nodiscard]]
virtual auto get_cursor() const -> std::optional<std::
size_t> {
return {}; }
32 [[nodiscard]]
virtual auto set_looping([[maybe_unused]]
bool looping) ->
bool {
return true; }
Interface for custom audio stream (data source). Supports streaming data of indefinite length....
Definition stream.hpp:12
virtual auto seek_to_sample(std::size_t index) -> bool
Definition stream.hpp:24
virtual auto set_looping(bool looping) -> bool
Handle custom looping behavior, if applicable. Just return true / don't override for the bound Audio ...
Definition stream.hpp:32
virtual auto get_sample_count() const -> std::size_t
Definition stream.hpp:28
virtual auto get_cursor() const -> std::optional< std::size_t >
Definition stream.hpp:26
virtual auto get_channels() const -> std::uint8_t=0
Must return positive value.
virtual auto get_sample_rate() const -> std::uint32_t=0
Must return positive value.
virtual auto read_samples(std::span< float > out) -> std::size_t=0
Base class for polymorphic types.
Definition polymorphic.hpp:5