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

◆ capture_file()

BufferOperation MayaFlux::Kriya::BufferOperation::capture_file ( 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
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.

43{
44 auto file_container = MayaFlux::load_audio_file(filepath);
45 if (!file_container) {
46 error<std::runtime_error>(Journal::Component::Kriya, Journal::Context::AsyncIO, std::source_location::current(),
47 "Failed to load audio file: {}", filepath);
48 }
49
50 auto file_buffer = std::make_shared<Buffers::FileBridgeBuffer>(channel, file_container);
51 file_buffer->setup_chain_and_processor();
52
53 BufferCapture capture(file_buffer,
54 cycle_count > 0 ? BufferCapture::CaptureMode::ACCUMULATE : BufferCapture::CaptureMode::TRANSIENT,
55 cycle_count);
56
58
59 return { BufferOperation::OpType::CAPTURE, std::move(capture) };
60}
@ 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.
@ AsyncIO
Async I/O operations ( network, streaming)
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.
std::shared_ptr< MayaFlux::Kakshya::SoundFileContainer > load_audio_file(const std::string &filepath)
Loads an audio file into a SoundFileContainer with automatic format detection.
Definition Depot.cpp:18

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

+ Here is the call graph for this function: