MayaFlux 1.0.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 47 of file BufferOperation.cpp.

52{
53 auto input_buffer = std::make_shared<Buffers::AudioBuffer>(input_channel);
54 buffer_manager->register_input_listener(input_buffer, input_channel);
55 buffer_manager->add_buffer(input_buffer, Buffers::ProcessingToken::AUDIO_BACKEND, input_channel);
56
57 BufferCapture capture(input_buffer, mode, cycle_count);
58 if (mode == BufferCapture::CaptureMode::ACCUMULATE && cycle_count == 0) {
59 capture.as_circular(4096);
60 }
61
62 return { BufferOperation::OpType::CAPTURE, std::move(capture) };
63}
uint32_t mode
@ 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, capture(), and mode.

+ Here is the call graph for this function: