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

Classes

struct  AttachmentDescription
 
class  AudioBackendFactory
 Factory pattern implementation for audio backend instantiation. More...
 
class  AudioDevice
 Manages audio endpoint discovery and enumeration. More...
 
class  AudioStream
 Manages digital audio data flow between the engine and hardware. More...
 
class  AudioSubsystem
 Audio processing subsystem managing real-time audio I/O and processing. More...
 
class  BackendPipelineManager
 Manages Vulkan pipelines (compute, graphics) and related resources. More...
 
class  BackendResourceManager
 Manages Vulkan resources (buffers, images, samplers) for the graphics backend. More...
 
class  BackendWindowHandler
 
class  BufferProcessingHandle
 Thread-safe interface for buffer operations within a processing domain. More...
 
struct  ColorBlendAttachment
 
struct  ComputePipelineConfig
 Configuration for creating a compute pipeline. More...
 
struct  DescriptorBinding
 Describes a single descriptor binding in a set. More...
 
struct  DescriptorSetLayoutConfig
 Configuration for creating a descriptor set layout. More...
 
class  DescriptorUpdateBatch
 Fluent interface for batching descriptor updates. More...
 
struct  DeviceInfo
 Contains digital audio device configuration parameters. More...
 
class  Engine
 Central lifecycle manager and component orchestrator for the MayaFlux processing system. More...
 
struct  FragmentOutputInfo
 
struct  FragmentOutputState
 
struct  GlfwPreInitConfig
 Configuration hints for GLFW initialization. More...
 
class  GLFWSingleton
 Singleton utility for managing global GLFW initialization and termination. More...
 
class  GlfwWindow
 Platform-agnostic window wrapper. More...
 
struct  GlobalGraphicsConfig
 
class  GlobalInputConfig
 Configuration for the InputSubsystem. More...
 
struct  GlobalStreamInfo
 Comprehensive configuration for digital audio stream processing. More...
 
struct  GraphicsBackendInfo
 Configuration for graphics API backend (Vulkan/OpenGL/etc.) More...
 
struct  GraphicsPipelineConfig
 Configuration for creating a graphics pipeline. More...
 
struct  GraphicsResourceLimits
 Resource limits and budgets for graphics subsystem. More...
 
class  GraphicsSubsystem
 Backend agnostic graphics subsystem for visual processing. More...
 
struct  GraphicsSurfaceInfo
 System-wide configuration for visual stream processing. More...
 
class  HIDBackend
 HIDAPI-based HID input backend. More...
 
struct  HIDBackendInfo
 HID backend configuration. More...
 
struct  HIDDeviceFilter
 Filter for HID device enumeration. More...
 
struct  HIDDeviceInfoExt
 Extended HID device information. More...
 
struct  HIDDeviceState
 Internal state for an open HID device. More...
 
class  IAudioBackend
 Interface for audio system abstraction layer. More...
 
class  IGraphicsBackend
 
class  IInputBackend
 Abstract interface for input device backends. More...
 
struct  InputBinding
 Specifies what input an InputNode wants to receive. More...
 
struct  InputConfig
 Input configuration for a window. More...
 
struct  InputDeviceInfo
 Information about a connected input device. More...
 
class  InputManager
 Manages input processing thread and node dispatch. More...
 
class  InputManagerHandle
 
class  InputSubsystem
 Input processing subsystem for external devices. More...
 
struct  InputValue
 Generic input value container. More...
 
class  ISubsystem
 Base interface for all subsystems in the MayaFlux processing architecture. More...
 
class  MIDIBackend
 RtMidi-based MIDI input backend. More...
 
struct  MIDIBackendInfo
 MIDI backend configuration. More...
 
struct  MonitorInfo
 Information about a physical display. More...
 
class  NodeProcessingHandle
 Interface for node graph operations within a processing domain. More...
 
struct  OSCBackendInfo
 OSC backend configuration. More...
 
struct  PushConstantInfo
 
struct  PushConstantRange
 Defines a push constant range for pipeline creation. More...
 
struct  QueueFamilyIndices
 Stores indices of queue families we need. More...
 
struct  RenderPassCreateInfo
 
class  RtAudioBackend
 RtAudio implementation of the audio backend interface. More...
 
class  RtAudioDevice
 RtAudio implementation of the audio device interface. More...
 
class  RtAudioSingleton
 Thread-safe global access point for audio system resources. More...
 
class  RtAudioStream
 RtAudio implementation of the audio stream interface. More...
 
struct  SerialBackendInfo
 Serial backend configuration. More...
 
struct  SerialPortConfig
 Serial port configuration. More...
 
struct  ShaderReflection
 Metadata extracted from shader module. More...
 
struct  SubpassDependency
 
struct  SubpassDescription
 
class  SubsystemManager
 Central coordinator for all subsystems in the MayaFlux processing architecture. More...
 
class  SubsystemProcessingHandle
 Unified interface combining buffer and node processing for subsystems. More...
 
struct  SubsystemTokens
 Processing token configuration for subsystem operation. More...
 
struct  SurfaceFormatTraits
 DataVariant dispatch descriptor for a swapchain surface format. More...
 
struct  SwapchainSupportDetails
 Holds swapchain capability information for a physical device. More...
 
class  TaskSchedulerHandle
 
struct  VertexAttribute
 
struct  VertexBinding
 
struct  VertexInputInfo
 
struct  VertexInputState
 
struct  VideoMode
 Monitor video mode. More...
 
class  VKCommandManager
 Manages Vulkan command pools and command buffers. More...
 
class  VKComputePipeline
 Wrapper for Vulkan compute pipeline with simplified interface. More...
 
class  VKContext
 High-level wrapper for Vulkan instance and device. More...
 
class  VKDescriptorManager
 Manages descriptor pools, layouts, and set allocation. More...
 
class  VKDevice
 Manages Vulkan physical device selection and logical device creation. More...
 
class  VKFramebuffer
 Wrapper for Vulkan framebuffer. More...
 
class  VKGraphicsPipeline
 Vulkan graphics pipeline wrapper. More...
 
class  VKImage
 Lightweight Vulkan image wrapper for MayaFlux processing pipeline. More...
 
struct  VKImageResources
 Vulkan image resource handles. More...
 
class  VKInstance
 Manages Vulkan instance creation and validation layers. More...
 
class  VKRenderPass
 A wrapper class for Vulkan Render Pass. More...
 
class  VKShaderModule
 Wrapper for Vulkan shader module with lifecycle and reflection. More...
 
class  VKSwapchain
 Manages Vulkan swapchain using C++ API (vulkan.hpp) More...
 
class  VulkanBackend
 Vulkan implementation of the IGraphicsBackend interface. More...
 
class  Window
 Platform-agnostic window wrapper. More...
 
struct  WindowCreateInfo
 Configuration for creating a single window instance. More...
 
struct  WindowEvent
 Event data for window and input events. More...
 
class  WindowManager
 Manages window lifecycle and GLFW event polling. More...
 
class  WindowManagerHandle
 
struct  WindowRenderContext
 
struct  WindowState
 Runtime state of a window (mutable by system, read by user) More...
 

Typedefs

using InputCallback = std::function< void(const InputValue &)>
 Callback signature for input events.
 
using DeviceCallback = std::function< void(const InputDeviceInfo &, bool connected)>
 Callback signature for device connection/disconnection events.
 
using WindowEventCallback = std::function< void(const WindowEvent &)>
 
using ProcessHook = std::function< void(unsigned int num_frames)>
 Function type for process hooks that can be registered with the engine.
 

Enumerations

enum class  Stage : uint8_t {
  COMPUTE , VERTEX , FRAGMENT , GEOMETRY ,
  TESS_CONTROL , TESS_EVALUATION , MESH , TASK
}
 
enum class  CursorMode : uint8_t { NORMAL , HIDDEN , DISABLED , CAPTURED }
 Cursor visibility and behavior. More...
 
enum class  WindowEventType : uint8_t {
  WINDOW_CREATED , WINDOW_DESTROYED , WINDOW_CLOSED , WINDOW_RESIZED ,
  WINDOW_MOVED , WINDOW_FOCUS_GAINED , WINDOW_FOCUS_LOST , WINDOW_MINIMIZED ,
  WINDOW_MAXIMIZED , WINDOW_RESTORED , KEY_PRESSED , KEY_RELEASED ,
  KEY_REPEAT , MOUSE_MOTION , MOUSE_BUTTON_PRESSED , MOUSE_BUTTON_RELEASED ,
  MOUSE_SCROLLED , MOUSE_ENTERED , MOUSE_EXITED , FRAMEBUFFER_RESIZED ,
  CUSTOM
}
 Types of window and input events. More...
 
enum  AudioBackendType : uint8_t { RTAUDIO }
 
enum class  InputType : uint8_t {
  HID , MIDI , OSC , SERIAL ,
  CUSTOM
}
 Input backend type enumeration. More...
 
enum class  HookPosition : uint8_t { PRE_PROCESS , POST_PROCESS }
 Defines the position in the processing cycle where a hook should be executed. More...
 
enum class  SubsystemType : uint8_t {
  AUDIO , GRAPHICS , INPUT , NETWORK ,
  CUSTOM
}
 

Functions

static DeviceInfo convert_device_info (const RtAudio::DeviceInfo &rtInfo, unsigned int id, unsigned int defaultOutputDevice, unsigned int defaultInputDevice)
 Converts RtAudio-specific device information to the engine's device model.
 
vk::Format to_vk_format (GraphicsSurfaceInfo::SurfaceFormat fmt)
 
vk::ColorSpaceKHR to_vk_color_space (GraphicsSurfaceInfo::ColorSpace space)
 
vk::PresentModeKHR to_vk_present_mode (GraphicsSurfaceInfo::PresentMode mode)
 
uint32_t vk_format_bytes_per_pixel (vk::Format fmt)
 Byte width of a single pixel for a given Vulkan format.
 
GraphicsSurfaceInfo::SurfaceFormat from_vk_format (vk::Format fmt)
 Reverse-map a vk::Format to the nearest GraphicsSurfaceInfo::SurfaceFormat.
 
SurfaceFormatTraits get_surface_format_traits (GraphicsSurfaceInfo::SurfaceFormat fmt)
 Query DataVariant-dispatch traits for a surface format.
 
IO::Keys from_glfw_key (int glfw_key) noexcept
 Convert a GLFW key code to MayaFlux Keys enum.
 
int to_glfw_key (IO::Keys key) noexcept
 Convert a MayaFlux Keys enum to GLFW key code.
 
bool is_valid_glfw_key (int glfw_key) noexcept
 Check if a GLFW key code is valid/supported.
 
std::unique_ptr< IGraphicsBackendcreate_graphics_backend (GlobalGraphicsConfig::GraphicsApi api)
 

Variables

static const std::vector< const char * > VALIDATION_LAYERS