IStream wrapper that enables subtypes to push arbitrary number of samples. More...
#include <capo/stream_pipe.hpp>
Protected Member Functions | |
virtual void | push_samples (std::vector< float > &out)=0 |
Push desired number of samples at the end of out. Push nothing to indicate end of stream. | |
Additional Inherited Members | |
![]() | |
virtual auto | get_sample_rate () const -> std::uint32_t=0 |
Must return positive value. | |
virtual auto | get_channels () const -> std::uint8_t=0 |
Must return positive value. | |
virtual auto | seek_to_sample (std::size_t index) -> bool |
virtual auto | get_cursor () const -> std::optional< std::size_t > |
virtual auto | get_sample_count () const -> std::size_t |
virtual auto | set_looping (bool looping) -> bool |
Handle custom looping behavior, if applicable. Just return true / don't override for the bound Audio Source to use its own looping mechanism. | |
![]() | |
Polymorphic ()=default | |
virtual | ~Polymorphic ()=default |
Polymorphic (Polymorphic const &)=default | |
Polymorphic (Polymorphic &&)=default | |
auto | operator= (Polymorphic const &) -> Polymorphic &=default |
auto | operator= (Polymorphic &&) -> Polymorphic &=default |
IStream wrapper that enables subtypes to push arbitrary number of samples.
|
protectedpure virtual |
Push desired number of samples at the end of out. Push nothing to indicate end of stream.
out | Buffer to push next samples into. Do not modify existing data! |