11class DynamicSoundStream;
57 std::shared_ptr<Kakshya::DynamicSoundStream> stream,
109 m_processor->load(index, std::move(slice));
110 return m_processor->slice(index);
135 void build_for(uint64_t milliseconds);
146 void rebuild_for(uint64_t milliseconds);
152 void play(
size_t index = 0);
169 void play_continuous(
size_t index = 0);
187 void stop(
size_t index = 0);
196 MF_ERROR(Journal::Component::Kriya, Journal::Context::Configuration,
197 "SamplingPipeline::slice_from_stream called with null stream");
200 return Kakshya::StreamSlice::from_stream(m_stream, index);
210 uint64_t start_frame, uint64_t end_frame, uint8_t index = 0)
const
214 MF_ERROR(Journal::Component::Kriya, Journal::Context::Configuration,
215 "SamplingPipeline::slice_from_range called with null stream");
218 return Kakshya::StreamSlice::from_frame_range(m_stream, start_frame, end_frame, index);
246 std::shared_ptr<Buffers::AudioBuffer>
get_buffer()
const {
return m_buffer; }
256 std::shared_ptr<Kakshya::DynamicSoundStream>
get_stream()
const {
return m_stream; }
259 std::shared_ptr<Kakshya::DynamicSoundStream>
m_stream;
269 bool m_built {
false };
271 [[nodiscard]]
bool any_active()
const;
#define MF_ERROR(comp, ctx,...)
Token-based multimodal buffer management system for unified data stream processing.
Coroutine-based execution engine for composable, multi-strategy buffer processing.
Fluent builder interface for constructing BufferCapture configurations.
std::shared_ptr< Buffers::AudioBuffer > m_buffer
std::shared_ptr< Kakshya::DynamicSoundStream > m_stream
Kakshya::StreamSlice slice_from_stream(uint8_t index=0) const
Construct a slice spanning the full stream.
SamplingPipeline & operator=(const SamplingPipeline &)=delete
std::shared_ptr< Buffers::StreamSliceProcessor > m_processor
Vruta::TaskScheduler & m_scheduler
Kakshya::StreamSlice slice_from_range(uint64_t start_frame, uint64_t end_frame, uint8_t index=0) const
Construct a slice spanning a frame sub-region.
Buffers::BufferManager & m_mgr
std::shared_ptr< BufferPipeline > m_pipeline
SamplingPipeline(const SamplingPipeline &)=delete
std::shared_ptr< Kakshya::DynamicSoundStream > get_stream() const
Get the underlying DynamicSoundStream.
std::shared_ptr< Buffers::AudioBuffer > get_buffer() const
Get the internal AudioBuffer for direct manipulation.
Kakshya::StreamSlice & load(size_t index, Kakshya::StreamSlice slice)
Load a StreamSlice into a voice slot for later playback.
Pipeline-coordinated polyphonic playback of a bounded audio stream.
Token-based multimodal task scheduling system for unified coroutine processing.
A bounded region of a DynamicSoundStream with associated playback parameters.