MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Vruta Namespace Reference

Classes

struct  audio_promise
 Coroutine promise type for audio processing tasks with sample-accurate timing. More...
 
struct  complex_promise
 Coroutine promise type for complex processing tasks with multi-rate scheduling. More...
 
class  ComplexRoutine
 Multi-domain coroutine that can handle multiple processing rates. More...
 
class  CustomClock
 Configurable timing system for custom processing domains. More...
 
class  Event
 Coroutine type for event-driven suspension. More...
 
struct  event_promise
 
struct  EventFilter
 Filter criteria for window events. More...
 
class  EventManager
 
class  EventSource
 Awaitable event stream for window events. More...
 
class  FrameClock
 Frame-accurate timing system for visual processing domain. More...
 
struct  graphics_promise
 Coroutine promise type for graphics processing tasks with frame-accurate timing. More...
 
class  GraphicsRoutine
 A C++20 coroutine-based graphics processing task with frame-accurate timing. More...
 
class  IClock
 Abstract base interface for all clock types in the multimodal scheduling system. More...
 
class  NetworkSource
 Awaitable broadcast message stream for a network endpoint. More...
 
class  Routine
 Base class for all coroutine types in the MayaFlux engine. More...
 
struct  routine_promise
 Base coroutine promise type for audio processing tasks. More...
 
class  SampleClock
 Sample-accurate timing system for audio processing domain. More...
 
class  SoundRoutine
 A C++20 coroutine-based audio processing task with sample-accurate timing. More...
 
struct  TaskEntry
 
class  TaskScheduler
 Token-based multimodal task scheduling system for unified coroutine processing. More...
 

Typedefs

using token_processing_func_t = std::function< void(const std::vector< std::shared_ptr< Routine > > &, uint64_t)>
 Function type for processing tasks in a specific token domain.
 

Enumerations

enum class  DelayContext : uint8_t {
  NONE , SAMPLE_BASED , BUFFER_BASED , FRAME_BASED ,
  EVENT_BASED , AWAIT
}
 Discriminator for different temporal delay mechanisms. More...
 
enum class  ProcessingToken {
  SAMPLE_ACCURATE , FRAME_ACCURATE , EVENT_DRIVEN , MULTI_RATE ,
  ON_DEMAND , CUSTOM
}
 

Functions

uint64_t blocks_to_samples (uint64_t blocks, uint32_t block_size)
 Convert blocks to samples.
 
double blocks_to_seconds (uint64_t blocks, uint32_t sample_rate, uint32_t block_size)
 Convert blocks to seconds.
 
std::chrono::milliseconds frame_duration_ms (uint32_t frame_rate)
 Get duration of a single frame at given frame rate.
 
std::chrono::microseconds frame_duration_us (uint32_t frame_rate)
 Get duration of a single frame at given frame rate (high precision)
 
std::chrono::milliseconds frames_duration_ms (uint64_t num_frames, uint32_t frame_rate)
 Get duration for N frames at given frame rate.
 
std::chrono::microseconds frames_duration_us (uint64_t num_frames, uint32_t frame_rate)
 Get duration for N frames at given frame rate (high precision)
 
uint64_t frames_to_samples (uint64_t frames, uint32_t sample_rate, uint32_t frame_rate)
 Convert frames to samples at a given sample rate and frame rate.
 
uint64_t frames_to_seconds (uint64_t frames, uint32_t frame_rate)
 Convert frames to seconds at a given frame rate.
 
uint64_t samples_to_blocks (uint64_t samples, uint32_t block_size)
 Convert samples to number of processing blocks.
 
uint64_t samples_to_frames (uint64_t samples, uint32_t sample_rate, uint32_t frame_rate)
 Convert samples to frames at a given sample rate and frame rate.
 
uint64_t samples_to_seconds (uint64_t samples, uint32_t sample_rate)
 Convert samples to seconds at a given sample rate.
 
uint64_t seconds_to_blocks (double seconds, uint32_t sample_rate, uint32_t block_size)
 Convert seconds to number of processing blocks.
 
uint64_t seconds_to_frames (double seconds, uint32_t frame_rate)
 Convert seconds to frames at a given frame rate.
 
uint64_t seconds_to_samples (double seconds, uint32_t sample_rate)
 Convert seconds to samples at a given sample rate.
 
uint64_t seconds_to_units (double seconds, uint32_t rate)
 Convert seconds to processing units for any rate.
 
double units_to_seconds (uint64_t units, uint32_t rate)
 Convert processing units to seconds for any rate.