|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Classes | |
| struct | audio_promise |
| Coroutine promise type for audio processing tasks with sample-accurate timing. More... | |
| class | BroadcastSource |
| Awaitable single-value broadcast channel for cross-thread signal delivery. More... | |
| struct | conditional_promise |
| Coroutine promise for routines suspended on an arbitrary boolean condition. More... | |
| struct | cross_promise |
| Coroutine promise for routines resumed by more than one clock. More... | |
| class | CrossRoutine |
| Coroutine resumed by more than one clock. More... | |
| class | CustomClock |
| Configurable timing system for custom processing domains. More... | |
| class | Event |
| Coroutine type for event-driven suspension. More... | |
| struct | event_promise |
| class | EventFilter |
| Base for event filters used by EventSources to match signals to awaiters. More... | |
| class | EventManager |
| class | EventSource |
| Abstract base for all awaitable signal sources. More... | |
| class | FrameClock |
| Frame-accurate timing system for visual processing domain. More... | |
| class | FreeRoutine |
| Coroutine resumed when a caller-supplied condition becomes true. 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... | |
| struct | WindowEventFilter |
| Filter criteria for GLFW window input events. More... | |
| class | WindowEventSource |
| Awaitable stream of GLFW window input events. 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 , MULTIPLE } |
| Discriminator for different temporal delay mechanisms. More... | |
| enum class | ProcessingToken { SAMPLE_ACCURATE , FRAME_ACCURATE , EVENT_DRIVEN , MULTI_RATE , ON_DEMAND , CONDITIONAL , 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=s_registered_frame_rate) |
| Get duration of a single frame at given frame rate. | |
| std::chrono::microseconds | frame_duration_us (uint32_t frame_rate=s_registered_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=s_registered_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=s_registered_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=s_registered_sample_rate, uint32_t frame_rate=s_registered_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=s_registered_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=s_registered_sample_rate, uint32_t frame_rate=s_registered_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=s_registered_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=s_registered_frame_rate) |
| Convert seconds to frames at a given frame rate. | |
| uint64_t | seconds_to_samples (double seconds, uint32_t sample_rate=s_registered_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. | |
Variables | |
| uint32_t | s_registered_frame_rate { 60 } |
| uint32_t | s_registered_sample_rate { 48000 } |