179 virtual uint64_t
peek_sequential(std::span<double> output, uint64_t count, uint64_t offset = 0)
const = 0;
Data-driven interface for managing arbitrary processable signal sources.
virtual uint64_t time_to_position(double time) const =0
Convert from time (seconds) to position units (e.g., frame/sample index).
virtual const std::vector< uint64_t > & get_read_position() const =0
Get the current read position.
virtual Region get_loop_region() const =0
Get the current loop region.
virtual void reset_processing_token()=0
virtual void set_loop_region(const Region ®ion)=0
Set the loop region using a Region.
virtual ~StreamContainer()=default
virtual uint64_t read_sequential(std::span< double > output, uint64_t count)=0
Read data sequentially from the current position.
virtual bool try_acquire_processing_token(int channel)=0
virtual bool is_ready() const =0
Check if the stream is ready for reading.
virtual void reset_read_position()=0
Reset read position to the beginning of the stream.
virtual double position_to_time(uint64_t position) const =0
Convert from position units (e.g., frame/sample index) to time (seconds).
virtual void set_looping(bool enable)=0
Enable or disable looping behavior for the stream.
virtual bool has_processing_token(int channel) const =0
virtual uint64_t get_temporal_rate() const =0
Get the temporal rate (e.g., sample rate, frame rate) of the stream.
virtual void advance_read_position(const std::vector< uint64_t > &frames)=0
Advance the read position by a specified amount.
virtual bool is_looping() const =0
Check if looping is enabled for the stream.
virtual uint64_t peek_sequential(std::span< double > output, uint64_t count, uint64_t offset=0) const =0
Peek at data without advancing the read position.
virtual std::vector< uint64_t > get_remaining_frames() const =0
Get the number of remaining frames from the current position, per channel.
virtual void update_read_position_for_channel(size_t channel, uint64_t frame)=0
Update the read position for a specific channel.
virtual bool is_at_end() const =0
Check if read position has reached the end of the stream.
virtual void set_read_position(const std::vector< uint64_t > &position)=0
Set the current read position in the primary temporal dimension per channel.
Data-driven interface for temporal stream containers with navigable read position.
Represents a point or span in N-dimensional space.