|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Flexible data capture interface for buffer-based processing pipelines. More...
#include <Capture.hpp>
Collaboration diagram for MayaFlux::Kriya::BufferCapture:Public Types | |
| enum class | CaptureMode : uint8_t { TRANSIENT , ACCUMULATE , TRIGGERED , WINDOWED , CIRCULAR } |
| Defines the data capture and retention strategy. More... | |
| enum class | ProcessingControl : uint8_t { AUTOMATIC , ON_CAPTURE , MANUAL } |
| Controls how and when data processing occurs. More... | |
Public Member Functions | |
| BufferCapture (std::shared_ptr< Buffers::AudioBuffer > buffer, CaptureMode mode=CaptureMode::TRANSIENT, uint32_t cycle_count=1) | |
| Construct a BufferCapture with specified mode and parameters. | |
| BufferCapture & | with_processing_control (ProcessingControl control) |
| Set processing control strategy. | |
| BufferCapture & | for_cycles (uint32_t count) |
| Set the number of times to execute this capture operation. | |
| BufferCapture & | until_condition (std::function< bool()> predicate) |
| Set a condition that stops capture when met. | |
| BufferCapture & | with_window (uint32_t window_size, float overlap_ratio=0.0F) |
| Configure windowed capture with overlap. | |
| BufferCapture & | as_circular (uint32_t size) |
| Enable circular buffer mode with fixed size. | |
| BufferCapture & | on_data_ready (OperationFunction callback) |
| Set callback for when captured data is ready. | |
| BufferCapture & | on_cycle_complete (std::function< void(uint32_t)> callback) |
| Set callback for when a capture cycle completes. | |
| BufferCapture & | on_data_expired (std::function< void(const Kakshya::DataVariant &, uint32_t)> callback) |
| Set callback for when captured data expires. | |
| BufferCapture & | with_tag (const std::string &tag) |
| Assign a tag for identification and organization. | |
| BufferCapture & | with_metadata (const std::string &key, const std::string &value) |
| Add metadata key-value pair. | |
| std::shared_ptr< Buffers::AudioBuffer > | get_buffer () const |
| CaptureMode | get_mode () const |
| ProcessingControl | get_processing_control () const |
| uint32_t | get_cycle_count () const |
| const std::string & | get_tag () const |
| uint32_t | get_circular_size () const |
| uint32_t | get_window_size () const |
| float | get_overlap_ratio () const |
| void | set_processing_control (ProcessingControl control) |
Private Attributes | |
| std::shared_ptr< Buffers::AudioBuffer > | m_buffer |
| CaptureMode | m_mode |
| ProcessingControl | m_processing_control = ProcessingControl::AUTOMATIC |
| uint32_t | m_cycle_count |
| uint32_t | m_window_size |
| uint32_t | m_circular_size |
| float | m_overlap_ratio |
| std::function< bool()> | m_stop_condition |
| OperationFunction | m_data_ready_callback |
| std::function< void(uint32_t)> | m_cycle_callback |
| std::function< void(const Kakshya::DataVariant &, uint32_t)> | m_data_expired_callback |
| std::string | m_tag |
| std::unordered_map< std::string, std::string > | m_metadata |
Friends | |
| class | BufferOperation |
| class | BufferPipeline |
Flexible data capture interface for buffer-based processing pipelines.
BufferCapture provides sophisticated data capture capabilities within the Kriya processing system, enabling various capture modes and lifecycle management for buffer data. It supports transient, accumulative, windowed, and circular capture patterns for different real-time processing scenarios.
Capture Modes:
Key Features:
Use Cases:
Definition at line 52 of file Capture.hpp.