15 class BufferOperation;
92 CaptureMode
mode = CaptureMode::TRANSIENT,
93 uint32_t cycle_count = 1);
96 CaptureMode
mode = CaptureMode::TRANSIENT,
97 uint32_t cycle_count = 1);
104 BufferCapture& with_processing_control(ProcessingControl control);
126 BufferCapture& until_condition(std::function<
bool()> predicate);
134 BufferCapture& with_window(uint32_t window_size,
float overlap_ratio = 0.0F);
180 inline std::shared_ptr<Buffers::AudioBuffer>
get_audio_buffer()
const {
return m_audio_buffer; }
184 std::shared_ptr<Buffers::Buffer> get_source_buffer()
const;
188 inline const std::string&
get_tag()
const {
return m_tag; }
199 uint32_t m_cycle_count { 1 };
200 uint32_t m_window_size {};
201 uint32_t m_circular_size {};
202 float m_overlap_ratio {};
304 CaptureBuilder& with_window(uint32_t window_size,
float overlap_ratio = 0.0F);
346 inline std::string
get_tag() {
return m_capture.get_tag(); }
std::shared_ptr< NetworkGeometryBuffer > buffer
OperationFunction m_data_ready_callback
float get_overlap_ratio() const
std::shared_ptr< Buffers::AudioBuffer > get_audio_buffer() const
Return the configured audio source.
std::function< void(const Kakshya::DataVariant &, uint32_t)> m_data_expired_callback
std::shared_ptr< Buffers::VKBuffer > m_graphics_buffer
ProcessingControl get_processing_control() const
CaptureMode
Defines the data capture and retention strategy.
std::shared_ptr< Buffers::VKBuffer > get_graphics_buffer() const
Return the configured graphics source.
std::function< bool()> m_stop_condition
void set_processing_control(ProcessingControl control)
ProcessingControl
Controls how and when data processing occurs.
CaptureMode get_mode() const
uint32_t get_window_size() const
std::shared_ptr< Buffers::AudioBuffer > m_audio_buffer
uint32_t get_cycle_count() const
BufferCapture(std::nullptr_t)
std::unordered_map< std::string, std::string > m_metadata
const std::string & get_tag() const
std::function< void(uint32_t)> m_cycle_callback
uint32_t get_circular_size() const
Flexible data capture interface for buffer-based processing pipelines.
Fundamental unit of operation in buffer processing pipelines.
Coroutine-based execution engine for composable, multi-strategy buffer processing.
std::string get_tag()
Get the assigned tag for this capture.
BufferCapture m_capture
Internal BufferCapture being configured.
Fluent builder interface for constructing BufferCapture configurations.
@ Buffers
Buffers, Managers, processors and processing chains.
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.
std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
std::function< Kakshya::DataVariant(Kakshya::DataVariant &, uint32_t)> TransformationFunction
std::function< void(Kakshya::DataVariant &, uint32_t)> OperationFunction
Main namespace for the Maya Flux audio engine.