|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Classes | |
| class | AggregateBindingsProcessor |
| BufferProcessor that aggregates multiple node outputs into GPU buffers. More... | |
| class | AudioBuffer |
| Concrete audio implementation of the Buffer interface for double-precision audio data. More... | |
| class | Buffer |
| Backend-agnostic interface for sequential data storage and transformation. More... | |
| class | BufferAccessControl |
| Token-aware buffer and unit access patterns. More... | |
| class | BufferDownloadProcessor |
| Transfers data from GPU VKBuffer to CPU target buffer. More... | |
| class | BufferInputControl |
| Audio input buffer management and listener coordination. More... | |
| class | BufferManager |
| Token-based multimodal buffer management system for unified data stream processing. More... | |
| class | BufferProcessingChain |
| Advanced pipeline manager for multi-stage buffer transformations with backend optimization. More... | |
| class | BufferProcessingControl |
| Processor attachment, removal, and processing chain management. More... | |
| class | BufferProcessor |
| Central computational transformation interface for continuous buffer processing. More... | |
| class | BufferSupplyMixing |
| External buffer supply, mixing, and interleaved data I/O. More... | |
| class | BufferTokenDistributor |
| Determines routing for buffers based on type + token combination. More... | |
| class | BufferUploadProcessor |
| Transfers data from CPU source buffer to GPU VKBuffer. More... | |
| class | ChannelProcessor |
| Processor that implements hierarchical data aggregation for root buffers. More... | |
| class | ContainerBuffer |
| AudioBuffer implementation backed by a StreamContainer. More... | |
| class | ContainerToBufferAdapter |
| Adapter for bridging N-dimensional containers and AudioBuffer interface. More... | |
| class | DescriptorBindingsProcessor |
| ShaderProcessor that uploads node outputs to descriptor sets. More... | |
| class | DescriptorBuffer |
| Specialized buffer for shader parameter bindings from nodes. More... | |
| struct | DistributionDecision |
| Routing decision for a buffer with a given token. More... | |
| class | FeedbackBuffer |
| Specialized buffer implementing computational feedback systems. More... | |
| class | FeedbackProcessor |
| Processor that implements recursive computational algorithms. More... | |
| class | FileBridgeBuffer |
| An audio buffer that bridges a sound file container to a dynamic sound stream. More... | |
| class | FileBridgeProcessor |
| A buffer processor that uses a FileToStreamChain to process audio data. More... | |
| class | FileToStreamChain |
| A processing chain that reads audio data from a sound file container and writes it to a dynamic sound stream. More... | |
| class | FilterProcessor |
| Buffer processor that applies filter nodes to audio data. More... | |
| class | FinalLimiterProcessor |
| Processor that enforces boundary conditions on output data. More... | |
| class | GeometryBindingsProcessor |
| BufferProcessor that uploads geometry node data to GPU vertex buffers. More... | |
| class | GeometryBuffer |
| Specialized buffer for generative geometry from GeometryWriterNode. More... | |
| class | GraphicsBatchProcessor |
| Default processor for coordinating batch GPU buffer processing. More... | |
| class | InputAccessProcessor |
| Simple processor for dispatching input data to listeners. More... | |
| class | InputAudioBuffer |
| Specialized buffer for audio input with listener dispatch. More... | |
| class | LogicProcessor |
| Digital signal processor that applies boolean logic operations to data streams. More... | |
| class | MixProcessor |
| Processes multiple audio buffers and mixes their data into a single output buffer. More... | |
| struct | MixSource |
| Represents a source audio buffer with its data and mixing properties. More... | |
| class | NetworkGeometryBuffer |
| Specialized buffer for geometry from NodeNetwork instances. More... | |
| class | NetworkGeometryProcessor |
| BufferProcessor that aggregates geometry from NodeNetwork nodes. More... | |
| class | NodeBindingsProcessor |
| ShaderProcessor with automatic node-to-push-constant binding. More... | |
| class | NodeBuffer |
| Specialized buffer that automatically captures output from computational nodes. More... | |
| class | NodeSourceProcessor |
| Processor that bridges computational nodes and data buffers. More... | |
| class | PolynomialProcessor |
| Buffer processor that applies polynomial transformations to audio data. More... | |
| class | PresentProcessor |
| Final processor that executes render operations after all buffer processing. More... | |
| struct | ProcessorTokenInfo |
| Holds information about a processor's compatibility with a buffer's processing token. More... | |
| class | QuickProcess |
| class | RenderProcessor |
| class | RootAudioBuffer |
| Top-level aggregation buffer for computational data streams. More... | |
| struct | RootAudioUnit |
| Represents a root audio unit containing buffers and processing chains for multiple channels. More... | |
| class | RootBuffer |
| class | RootGraphicsBuffer |
| Root container for GPU buffer lifecycle management and batch processing. More... | |
| struct | RootGraphicsUnit |
| Represents a root graphics unit containing a buffer and processing chain. More... | |
| struct | ShaderBinding |
| Describes how a VKBuffer binds to a shader descriptor. More... | |
| struct | ShaderDispatchConfig |
| Configuration for compute shader dispatch. More... | |
| class | ShaderProcessor |
| Generic compute shader processor for VKBuffers. More... | |
| struct | ShaderProcessorConfig |
| Complete configuration for shader processor. More... | |
| class | StreamWriteProcessor |
| Channel-aware processor that writes AudioBuffer data to DynamicSoundStream containers. More... | |
| class | TextureBindBuffer |
| Specialized buffer for generative texture/pixel data from TextureNode. More... | |
| class | TextureBindingsProcessor |
| BufferProcessor that uploads multiple texture nodes to GPU. More... | |
| class | TextureBuffer |
| A hybrid buffer managing both a textured quad geometry and its pixel data. More... | |
| class | TextureProcessor |
| Internal processor: handles CPU→GPU transfers for TextureBuffer. More... | |
| struct | TokenCompatibilityReport |
| Holds the results of token compatibility analysis for a buffer processing chain. More... | |
| class | TokenUnitManager |
| Token-scoped unit storage and lifecycle management. More... | |
| class | TransferProcessor |
| class | VKBuffer |
| Vulkan-backed buffer wrapper used in processing chains. More... | |
| class | VKBufferProcessor |
| struct | VKBufferResources |
Typedefs | |
| using | AudioProcessingFunction = std::function< void(const std::shared_ptr< AudioBuffer > &)> |
| Audio processing function - receives correctly-typed AudioBuffer. | |
| using | GraphicsProcessingFunction = std::function< void(const std::shared_ptr< VKBuffer > &)> |
| Graphics processing function - receives correctly-typed VKBuffer. | |
| using | BufferProcessingFunction = std::variant< AudioProcessingFunction, GraphicsProcessingFunction > |
| using | RootAudioProcessingFunction = std::function< void(std::vector< std::shared_ptr< RootAudioBuffer > > &, uint32_t)> |
| using | RootGraphicsProcessingFunction = std::function< void(std::shared_ptr< RootGraphicsBuffer > &, uint32_t)> |
| using | RenderPipelineID = uint64_t |
| using | CommandBufferID = uint64_t |
Enumerations | |
| enum class | TokenEnforcementStrategy { STRICT , FILTERED , OVERRIDE_SKIP , OVERRIDE_REJECT , IGNORE } |
| Defines how strictly processing token requirements are enforced in buffer processing chains. More... | |
| enum class | DistributionResult : uint8_t { DIRECT_ROOT , TRANSFER_TO_ROOT , TRANSFER_ONLY , INTERNAL_ONLY , REJECTED } |
| Outcome of token distribution decision. More... | |
| enum class | TransferDirection : uint8_t { AUDIO_TO_GPU = 0 , GPU_TO_AUDIO = 1 , BIDIRECTIONAL = 2 } |
| Specifies the direction of data transfer. More... | |
| enum | ProcessingToken : uint32_t { SAMPLE_RATE = 0x0 , FRAME_RATE = 0x2 , CPU_PROCESS = 0x4 , GPU_PPOCESS = 0x8 , SEQUENTIAL = 0x10 , PARALLEL = 0x20 , AUDIO_BACKEND = SAMPLE_RATE | CPU_PROCESS | SEQUENTIAL , GRAPHICS_BACKEND = FRAME_RATE | GPU_PPOCESS | PARALLEL , AUDIO_PARALLEL = SAMPLE_RATE | GPU_PPOCESS | PARALLEL , WINDOW_EVENTS = FRAME_RATE | CPU_PROCESS | SEQUENTIAL } |
| Bitfield enum defining processing characteristics and backend requirements for buffer operations. More... | |
Functions | |
| void | validate_token (ProcessingToken token) |
| Validates that a processing token has a valid, non-conflicting configuration. | |
| bool | are_tokens_compatible (ProcessingToken preferred, ProcessingToken current) |
| Determines if two processing tokens are compatible for joint execution. | |
| ProcessingToken | get_optimal_token (const std::string &buffer_type, uint32_t system_capabilities) |
| Gets the optimal processing token for a given buffer type and system configuration. | |
| void | upload_host_visible (const std::shared_ptr< VKBuffer > &target, const Kakshya::DataVariant &data) |
| Upload data to a host-visible buffer. | |
| void | upload_device_local (const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging_buffer, const Kakshya::DataVariant &data) |
| Upload data to a device-local buffer using a staging buffer. | |
| void | download_host_visible (const std::shared_ptr< VKBuffer > &source, const std::shared_ptr< VKBuffer > &target) |
| Download data from a host-visible buffer. | |
| void | download_device_local (const std::shared_ptr< VKBuffer > &source, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging_buffer) |
| Download data from a device-local buffer using a staging buffer. | |
| bool | is_device_local (const std::shared_ptr< VKBuffer > &buffer) |
| Check if buffer is device-local (staging needed) | |
| std::shared_ptr< VKBuffer > | create_staging_buffer (size_t size) |
| Create staging buffer for transfers. | |
| void | upload_to_gpu (const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload raw data to GPU buffer (auto-detects host-visible vs device-local) | |
| void | download_from_gpu (const std::shared_ptr< VKBuffer > &source, void *data, size_t size, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download from GPU buffer to raw data (auto-detects host-visible vs device-local) | |
| void | upload_audio_to_gpu (const std::shared_ptr< AudioBuffer > &audio_buffer, const std::shared_ptr< VKBuffer > &gpu_buffer, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload AudioBuffer to GPU (always double precision) | |
| void | download_audio_from_gpu (const std::shared_ptr< VKBuffer > &gpu_buffer, const std::shared_ptr< AudioBuffer > &audio_buffer, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download GPU buffer to AudioBuffer (expects double precision) | |
| template<typename T > | |
| void | upload_to_gpu (std::span< const T > data, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload typed data to GPU buffer. | |
| template<typename T > | |
| void | upload_to_gpu (const std::vector< T > &data, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload vector to GPU buffer. | |
| template<typename T > | |
| void | download_from_gpu (const std::shared_ptr< VKBuffer > &source, std::span< T > data, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download from GPU buffer to typed span. | |
| template<typename T > | |
| void | download_from_gpu (const std::shared_ptr< VKBuffer > &source, std::vector< T > &data, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download from GPU buffer to vector. | |
| template<typename T > | |
| void | upload_from_view (const Kakshya::DataAccess &accessor, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload data from DataAccess view to GPU buffer (precision-preserving) | |
| template<typename T > requires GlmType<T> | |
| void | upload_structured_view (const Kakshya::DataAccess &accessor, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload structured data with GLM double-precision types. | |
| template<typename T > | |
| Kakshya::DataAccess | download_to_view (const std::shared_ptr< VKBuffer > &source, Kakshya::DataVariant &target_variant, const std::vector< Kakshya::DataDimension > &dimensions, Kakshya::DataModality modality, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download GPU buffer to DataAccess-compatible format (precision-preserving) | |
Variables | |
| const std::vector< TextureBuffer::QuadVertex > | base_quad |