MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ capture_input()

BufferOperation MayaFlux::Kriya::BufferOperation::capture_input ( const std::shared_ptr< Buffers::BufferManager > &  buffer_manager,
uint32_t  input_channel,
BufferCapture::CaptureMode  mode = BufferCapture::CaptureMode::ACCUMULATE,
uint32_t  cycle_count = 0 
)
static

Create capture operation from input channel using convenience API.

Creates input buffer automatically and returns configured capture operation.

Parameters
buffer_managerSystem buffer manager
input_channelInput channel to capture from
modeCapture mode (default: ACCUMULATE)
cycle_countNumber of cycles (0 = continuous, default)
Returns
BufferOperation configured for input capture with default settings

Definition at line 11 of file BufferOperation.cpp.

16{
17 auto input_buffer = std::make_shared<Buffers::AudioBuffer>(input_channel);
18 buffer_manager->register_input_listener(input_buffer, input_channel);
19 buffer_manager->add_buffer(input_buffer, Buffers::ProcessingToken::AUDIO_BACKEND, input_channel);
20
21 BufferCapture capture(input_buffer, mode, cycle_count);
22 if (mode == BufferCapture::CaptureMode::ACCUMULATE && cycle_count == 0) {
23 capture.as_circular(4096);
24 }
25
26 return { BufferOperation::OpType::CAPTURE, std::move(capture) };
27}
@ ACCUMULATE
Accumulate over multiple cycles in container.
static BufferOperation capture(BufferCapture capture)
Create a capture operation using BufferCapture configuration.
@ CAPTURE
Capture data from source buffer using BufferCapture strategy.
@ AUDIO_BACKEND
Standard audio processing backend configuration.

References MayaFlux::Kriya::BufferCapture::ACCUMULATE, MayaFlux::Buffers::AUDIO_BACKEND, CAPTURE, and capture().

+ Here is the call graph for this function: