13 class BufferOperation;
83 CaptureMode mode = CaptureMode::TRANSIENT,
84 uint32_t cycle_count = 1);
91 BufferCapture& with_processing_control(ProcessingControl control);
113 BufferCapture& until_condition(std::function<
bool()> predicate);
121 BufferCapture& with_window(uint32_t window_size,
float overlap_ratio = 0.0F);
142 BufferCapture& on_cycle_complete(std::function<
void(uint32_t)> callback);
164 BufferCapture& with_metadata(
const std::string& key,
const std::string& value);
167 inline std::shared_ptr<Buffers::AudioBuffer>
get_buffer()
const {
return m_buffer; }
171 inline const std::string&
get_tag()
const {
return m_tag; }
237 explicit CaptureBuilder(std::shared_ptr<Buffers::AudioBuffer> buffer);
284 CaptureBuilder& with_window(uint32_t window_size,
float overlap_ratio = 0.0F);
298 CaptureBuilder& on_cycle_complete(std::function<
void(uint32_t)> callback);
320 CaptureBuilder& with_metadata(
const std::string& key,
const std::string& value);
326 inline std::string
get_tag() {
return m_capture.get_tag(); }
std::shared_ptr< Buffers::AudioBuffer > get_buffer() const
OperationFunction m_data_ready_callback
float get_overlap_ratio() const
std::function< void(const Kakshya::DataVariant &, uint32_t)> m_data_expired_callback
ProcessingControl get_processing_control() const
CaptureMode
Defines the data capture and retention strategy.
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_buffer
uint32_t get_cycle_count() const
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.