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

◆ process_operation()

void MayaFlux::Kriya::BufferPipeline::process_operation ( BufferOperation &  op,
uint64_t  cycle 
)
private

Definition at line 47 of file BufferPipelineOperations.cpp.

48{
49 try {
50 switch (op.get_type()) {
52 capture_operation(op, cycle);
53 break;
54
56 process_transform(op, cycle);
57 break;
58
60 process_route(op);
61 break;
62
64 process_load(op);
65 break;
66
68 process_fuse(op, cycle);
69 break;
70
72 process_dispatch(op, cycle);
73 break;
74
76 process_modify(op, cycle);
77 break;
78
80 break;
81
82 default:
85 "Unknown operation type in pipeline : {} : {}",
86 Reflect::enum_to_string(op.get_type()), std::to_string(static_cast<int>(op.get_type())));
87 break;
88 }
89 } catch (const std::exception& e) {
92 std::source_location::current(),
93 "Error processing operation in BufferPipeline: {}",
94 e.what());
95 }
96}
#define MF_ERROR(comp, ctx,...)
@ LOAD
Load data from container to buffer with position control.
@ CONDITION
Conditional operation for branching logic.
@ FUSE
Fuse multiple sources using custom fusion functions.
@ ROUTE
Route data to destination (buffer or container)
@ CAPTURE
Capture data from source buffer using BufferCapture strategy.
@ MODIFY
Modify Buffer Data using custom quick process.
@ DISPATCH
Dispatch to external handler for custom processing.
@ TRANSFORM
Apply transformation function to data variants.
void process_transform(BufferOperation &op, uint64_t cycle)
void process_modify(BufferOperation &op, uint64_t cycle)
void capture_operation(BufferOperation &op, uint64_t cycle)
void process_dispatch(BufferOperation &op, uint64_t cycle)
void process_fuse(BufferOperation &op, uint64_t cycle)
@ CoroutineScheduling
Coroutine scheduling and temporal coordination (Vruta::TaskScheduler)
void error_rethrow(Component component, Context context, std::source_location location=std::source_location::current(), std::string_view additional_context="")
Catch and log an exception, then rethrow it.
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.
constexpr std::string_view enum_to_string(EnumType value) noexcept
Universal enum to string converter using magic_enum (original case)

References MayaFlux::Kriya::BufferOperation::CAPTURE, capture_operation(), MayaFlux::Kriya::BufferOperation::CONDITION, MayaFlux::Journal::CoroutineScheduling, MayaFlux::Kriya::BufferOperation::DISPATCH, MayaFlux::Reflect::enum_to_string(), MayaFlux::Kriya::BufferOperation::FUSE, MayaFlux::Kriya::BufferOperation::get_type(), MayaFlux::Journal::Kriya, MayaFlux::Kriya::BufferOperation::LOAD, MF_ERROR, MayaFlux::Kriya::BufferOperation::MODIFY, process_dispatch(), process_fuse(), process_load(), process_modify(), process_route(), process_transform(), MayaFlux::Kriya::BufferOperation::ROUTE, and MayaFlux::Kriya::BufferOperation::TRANSFORM.

Referenced by execute_frame_phased(), execute_frame_streaming(), execute_phased(), execute_streaming(), and flow_through().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: