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

◆ capture_file()

BufferOperation MayaFlux::Kriya::BufferOperation::capture_file ( const std::shared_ptr< IO::IOManager > &  io_manager,
const std::string &  filepath,
uint32_t  channel = 0,
uint32_t  cycle_count = 0 
)
static

Create a file capture operation that reads from file and stores in stream.

Parameters
io_managerIOManager for file loading
filepathPath to audio file
channelChannel index (default: 0)
cycle_countNumber of cycles to capture (0 = continuous)
Returns
BufferOperation configured for file capture

Definition at line 39 of file BufferOperation.cpp.

44{
45 auto file_container = io_manager->load_audio(filepath);
46 if (!file_container) {
47 error<std::runtime_error>(Journal::Component::Kriya, Journal::Context::AsyncIO, std::source_location::current(),
48 "Failed to load audio file: {}", filepath);
49 }
50
51 auto file_buffer = std::make_shared<Buffers::SoundFileBridge>(channel, file_container);
52 file_buffer->setup_processors(Buffers::ProcessingToken::AUDIO_BACKEND);
53
54 BufferCapture capture(file_buffer,
55 cycle_count > 0 ? BufferCapture::CaptureMode::ACCUMULATE : BufferCapture::CaptureMode::TRANSIENT,
56 cycle_count);
57
59
60 return { BufferOperation::OpType::CAPTURE, std::move(capture) };
61}
@ 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.
@ AsyncIO
Async I/O operations ( network, streaming)
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.

References MayaFlux::Kriya::BufferCapture::ACCUMULATE, MayaFlux::Journal::AsyncIO, MayaFlux::Buffers::AUDIO_BACKEND, CAPTURE, capture(), MayaFlux::Journal::Kriya, MayaFlux::Kriya::BufferCapture::ON_CAPTURE, and MayaFlux::Kriya::BufferCapture::TRANSIENT.

+ Here is the call graph for this function: