MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kriya Namespace Reference

Classes

class  BufferCapture
 Flexible data capture interface for buffer-based processing pipelines. More...
 
struct  BufferDelay
 Awaiter for suspending until a buffer cycle boundary. More...
 
class  BufferOperation
 Fundamental unit of operation in buffer processing pipelines. More...
 
class  BufferPipeline
 Coroutine-based execution engine for composable, multi-strategy buffer processing. More...
 
class  CaptureBuilder
 Fluent builder interface for constructing BufferCapture configurations. More...
 
class  CycleCoordinator
 Cross-pipeline synchronization and coordination system. More...
 
class  EventAwaiter
 Awaiter for suspending on window events with optional filtering. More...
 
class  EventChain
 A sequential chain of timed events with precise temporal control. More...
 
struct  FrameDelay
 graphics-domain awaiter for frame-accurate timing delays More...
 
struct  GetPromiseBase
 Templated awaitable for accessing a coroutine's promise object. More...
 
struct  MultiRateDelay
 
struct  SampleDelay
 Awaitable object for precise sample-accurate timing delays. More...
 
class  TemporalActivation
 Specialized timer for controlling computational nodes, buffers, and networks. More...
 
class  TimedAction
 Utility for executing actions with a start and end function over a duration. More...
 
class  Timer
 High-level utility for scheduling one-shot timed callbacks. More...
 

Typedefs

using GetAudioPromise = GetPromiseBase< Vruta::audio_promise >
 Audio domain promise accessor.
 
using GetGraphicsPromise = GetPromiseBase< Vruta::graphics_promise >
 Graphics domain promise accessor.
 
using GetComplexPromise = GetPromiseBase< Vruta::complex_promise >
 Multi-domain promise accessor.
 
using GetEventPromise = GetPromiseBase< Vruta::event_promise >
 Event-driven promise accessor.
 
using TransformVectorFunction = std::function< Kakshya::DataVariant(std::vector< Kakshya::DataVariant > &, uint32_t)>
 
using OperationFunction = std::function< void(Kakshya::DataVariant &, uint32_t)>
 
using TransformationFunction = std::function< Kakshya::DataVariant(Kakshya::DataVariant &, uint32_t)>
 

Enumerations

enum class  ExecutionStrategy : uint8_t { PHASED , STREAMING , PARALLEL , REACTIVE }
 Defines how operations in a pipeline are coordinated and executed. More...
 

Functions

std::shared_ptr< BufferPipelineoperator>> (std::shared_ptr< BufferPipeline > pipeline, BufferOperation &&operation)
 
std::shared_ptr< BufferPipelineoperator>> (std::shared_ptr< BufferPipeline > pipeline, BufferOperation &operation)
 
Vruta::Event key_pressed (std::shared_ptr< Core::Window > window, IO::Keys key, std::function< void()> callback)
 Creates an Event coroutine that triggers on specific key press.
 
Vruta::Event key_released (std::shared_ptr< Core::Window > window, IO::Keys key, std::function< void()> callback)
 Creates an Event coroutine that triggers on specific key release.
 
Vruta::Event any_key (std::shared_ptr< Core::Window > window, std::function< void(IO::Keys)> callback)
 Creates an Event coroutine that triggers on any key press.
 
Vruta::Event mouse_pressed (std::shared_ptr< Core::Window > window, IO::MouseButtons button, std::function< void(double, double)> callback)
 Creates an Event coroutine that triggers on specific mouse button press.
 
Vruta::Event mouse_released (std::shared_ptr< Core::Window > window, IO::MouseButtons button, std::function< void(double, double)> callback)
 Creates an Event coroutine that triggers on specific mouse button release.
 
Vruta::Event mouse_moved (std::shared_ptr< Core::Window > window, std::function< void(double, double)> callback)
 Creates an Event coroutine that triggers on mouse movement.
 
Vruta::Event mouse_scrolled (std::shared_ptr< Core::Window > window, std::function< void(double, double)> callback)
 Creates an Event coroutine that triggers on mouse scroll.
 
Vruta::SoundRoutine metro (Vruta::TaskScheduler &scheduler, double interval_seconds, std::function< void()> callback)
 Creates a periodic event generator that executes a callback at regular intervals.
 
Vruta::SoundRoutine sequence (Vruta::TaskScheduler &scheduler, std::vector< std::pair< double, std::function< void()> > > sequence)
 Creates a temporal sequence that executes callbacks at specified time offsets.
 
Vruta::SoundRoutine line (Vruta::TaskScheduler &scheduler, float start_value, float end_value, float duration_seconds, uint32_t step_duration=5, bool restartable=false)
 Creates a continuous interpolation generator between two values over time.
 
Vruta::SoundRoutine pattern (Vruta::TaskScheduler &scheduler, std::function< std::any(uint64_t)> pattern_func, std::function< void(std::any)> callback, double interval_seconds)
 Creates a generative algorithm that produces values based on a pattern function.
 
Vruta::SoundRoutine Gate (Vruta::TaskScheduler &scheduler, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node, bool open=true)
 Coroutine that executes callback continuously while logic node outputs true.
 
Vruta::SoundRoutine Trigger (Vruta::TaskScheduler &scheduler, bool target_state, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node)
 Coroutine that executes callback when logic node changes to specific state.
 
Vruta::SoundRoutine Toggle (Vruta::TaskScheduler &scheduler, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node)
 Coroutine that executes callback on any logic node state change.