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

Classes

class  AudioStreamContext
 RAII owner of one audio stream's codec and resampler state. More...
 
struct  CameraConfig
 Platform-specific FFmpeg input format string for camera devices. More...
 
class  CameraReader
 FFmpeg device reader for live camera input with background decode. More...
 
class  EXRWriter
 ImageWriter implementation backed by tinyexr. More...
 
class  FFmpegDemuxContext
 RAII owner of a single AVFormatContext and associated demux state. More...
 
struct  FileMetadata
 Generic metadata structure for any file type. More...
 
class  FileReader
 Abstract interface for reading various file formats into containers. More...
 
class  FileReaderRegistry
 Registry for file reader implementations. More...
 
struct  FileRegion
 Generic region descriptor for any file type. More...
 
class  FileWriter
 Abstract base class for file writing operations. More...
 
struct  ImageData
 Raw image data loaded from file. More...
 
class  ImageReader
 File reader for image formats (PNG, JPG, BMP, TGA, etc.) More...
 
struct  ImageWriteOptions
 Configuration for image writing. More...
 
class  ImageWriter
 Abstract base for image format writers. More...
 
class  ImageWriterRegistry
 Singleton registry dispatching image writes by file extension. More...
 
class  IOManager
 Optional orchestration layer for IO reader lifetime and IOService dispatch. More...
 
struct  is_optional
 
struct  is_optional< std::optional< T > >
 
struct  is_string_map
 
struct  is_string_map< std::map< std::string, V > >
 
struct  is_string_map< std::unordered_map< std::string, V > >
 
struct  is_vector
 
struct  is_vector< std::vector< T > >
 
class  JSONSerializer
 Converts arbitrary C++ types to/from JSON strings and disk files. More...
 
struct  LoadConfig
 
class  ModelReader
 Assimp-backed loader for 3D model files. More...
 
struct  OptionalProperty
 Binds a string key to a std::optional<T> member pointer. More...
 
struct  Property
 Binds a string key to a required member pointer. More...
 
class  SoundFileReader
 FFmpeg-based audio file reader for MayaFlux. More...
 
class  STBImageWriter
 ImageWriter implementation backed by stb_image_write. More...
 
class  TextFileWriter
 Simple text file writer for logs and text data. More...
 
class  VideoFileReader
 Streaming FFmpeg-based video file reader with background decode. More...
 
struct  VideoLoadResult
 Result of load_video() when audio extraction is requested via VideoReadOptions::EXTRACT_AUDIO. More...
 
class  VideoStreamContext
 RAII owner of one video stream's codec and pixel-format scaler state. More...
 

Concepts

concept  Reflectable
 
concept  GlmSerializable
 

Typedefs

using FileReaderFactory = std::function< std::unique_ptr< FileReader >()>
 
using ImageWriterFactory = std::function< std::unique_ptr< ImageWriter >()>
 
using TextureResolver = std::function< std::shared_ptr< Core::VKImage >(const std::string &path)>
 Callable that maps a raw material texture path to a GPU image.
 

Enumerations

enum class  AudioReadOptions : uint32_t {
  NONE = 0 , NORMALIZE = 1 << 0 , CONVERT_TO_MONO = 1 << 2 , DEINTERLEAVE = 1 << 3 ,
  ALL = 0xFFFFFFFF
}
 Audio-specific reading options. More...
 
enum class  FileReadOptions : uint32_t {
  NONE = 0 , EXTRACT_METADATA = 1 << 0 , EXTRACT_REGIONS = 1 << 1 , LAZY_LOAD = 1 << 2 ,
  STREAMING = 1 << 3 , HIGH_PRECISION = 1 << 4 , VERIFY_INTEGRITY = 1 << 5 , DECOMPRESS = 1 << 6 ,
  PARSE_STRUCTURE = 1 << 7 , ALL = 0xFFFFFFFF
}
 Generic options for file reading behavior. More...
 
enum class  FileWriteOptions : uint32_t {
  NONE = 0 , APPEND = 1 << 0 , CREATE = 1 << 1 , TRUNCATE = 1 << 2 ,
  SYNC = 1 << 3 , BUFFER = 1 << 4 , ALL = 0xFFFFFFFF
}
 
enum class  Keys : int16_t {
  Space = 32 , Apostrophe = 39 , Comma = 44 , Minus = 45 ,
  Period = 46 , Slash = 47 , N0 = 48 , N1 ,
  N2 , N3 , N4 , N5 ,
  N6 , N7 , N8 , N9 ,
  Semicolon = 59 , Equal = 61 , A = 65 , B ,
  C , D , E , F ,
  G , H , I , J ,
  K , L , M , N ,
  O , P , Q , R ,
  S , T , U , V ,
  W , X , Y , Z ,
  LeftBracket = 91 , Backslash = 92 , RightBracket = 93 , GraveAccent = 96 ,
  Escape = 256 , Enter = 257 , Tab = 258 , Backspace = 259 ,
  Insert = 260 , Delete = 261 , Right = 262 , Left = 263 ,
  Down = 264 , Up = 265 , PageUp = 266 , PageDown = 267 ,
  Home = 268 , End = 269 , CapsLock = 280 , ScrollLock = 281 ,
  NumLock = 282 , PrintScreen = 283 , Pause = 284 , F1 = 290 ,
  F2 , F3 , F4 , F5 ,
  F6 , F7 , F8 , F9 ,
  F10 , F11 , F12 , F13 ,
  F14 , F15 , F16 , F17 ,
  F18 , F19 , F20 , F21 ,
  F22 , F23 , F24 , F25 ,
  KP0 = 320 , KP1 , KP2 , KP3 ,
  KP4 , KP5 , KP6 , KP7 ,
  KP8 , KP9 , KPDecimal = 330 , KPDivide = 331 ,
  KPMultiply = 332 , KPSubtract = 333 , KPAdd = 334 , KPEnter = 335 ,
  KPEqual = 336 , LShift = 340 , LCtrl = 341 , LAlt = 342 ,
  LSuper = 343 , RShift = 344 , RCtrl = 345 , RAlt = 346 ,
  RSuper = 347 , Menu = 348 , Unknown = -1
}
 
enum class  MouseButtons : int8_t {
  Left = 0 , Right = 1 , Middle = 2 , Button4 = 3 ,
  Button5 = 4 , Button6 = 5 , Button7 = 6 , Button8 = 7 ,
  Unknown = -1
}
 Enumeration for mouse buttons. More...
 
enum class  VideoReadOptions : uint32_t { NONE = 0 , EXTRACT_AUDIO = 1 << 0 , ALL = 0xFFFFFFFF }
 Video-specific reading options. More...
 

Functions

auto all_key_names () noexcept
 Returns a container of all key names.
 
std::vector< std::string > all_key_names_lowercase () noexcept
 Returns a vector of all key names in lowercase.
 
auto all_keys () noexcept
 Returns a container of all Keys enum values.
 
std::optional< ImageDatadownload_image (const std::shared_ptr< Core::VKImage > &image)
 Download pixel data from a GPU-resident VKImage into host ImageData.
 
std::optional< ImageDatadownload_texture_buffer (const std::shared_ptr< Buffers::TextureBuffer > &buffer)
 Download a TextureBuffer's GPU texture into host ImageData.
 
std::optional< Keysfrom_char (char c) noexcept
 Converts a character to the corresponding Keys enum value.
 
std::optional< Keysfrom_string (std::string_view str) noexcept
 Converts a string to the corresponding Keys enum value.
 
bool is_function_key (Keys key) noexcept
 Checks if a key is a function key (e.g., F1-F25).
 
bool is_keypad_key (Keys key) noexcept
 Checks if a key is a keypad key.
 
bool is_modifier (Keys key) noexcept
 Checks if a key is a modifier key (e.g., Shift, Ctrl, Alt).
 
bool is_printable (Keys key) noexcept
 Checks if a key is a printable character.
 
size_t key_count () noexcept
 Returns the total number of keys.
 
template<typename Class , typename T >
constexpr auto member (std::string_view key, T Class::*ptr)
 
AudioReadOptions operator& (AudioReadOptions a, AudioReadOptions b)
 
FileReadOptions operator& (FileReadOptions a, FileReadOptions b)
 
FileWriteOptions operator& (FileWriteOptions a, FileWriteOptions b)
 
VideoReadOptions operator& (VideoReadOptions a, VideoReadOptions b)
 
AudioReadOptions operator| (AudioReadOptions a, AudioReadOptions b)
 
FileReadOptions operator| (FileReadOptions a, FileReadOptions b)
 
FileWriteOptions operator| (FileWriteOptions a, FileWriteOptions b)
 
VideoReadOptions operator| (VideoReadOptions a, VideoReadOptions b)
 
template<typename Class , typename T >
constexpr auto opt_member (std::string_view key, std::optional< T > Class::*ptr)
 
bool save_image (const std::shared_ptr< Core::VKImage > &image, const std::string &filepath, const ImageWriteOptions &options={})
 Save a VKImage directly to disk via the ImageWriter registry.
 
bool save_text_buffer (const std::shared_ptr< Buffers::TextBuffer > &buffer, const std::string &filepath, const ImageWriteOptions &options={})
 Save a TextBuffer's rendered glyph texture to disk.
 
bool save_texture_buffer (const std::shared_ptr< Buffers::TextureBuffer > &buffer, const std::string &filepath, const ImageWriteOptions &options={})
 Save a TextureBuffer's current GPU state to disk.
 
std::string to_lowercase_string (Keys key) noexcept
 Converts a Keys enum value to its lowercase string representation.
 
std::string_view to_string (Keys key) noexcept
 Converts a Keys enum value to its string representation.
 

Variables

static bool g_stb_simd_logged
 
template<typename T >
constexpr bool is_optional_v = is_optional<T>::value
 
template<typename T >
constexpr bool is_string_map_v = is_string_map<T>::value
 
template<typename T >
constexpr bool is_vector_v = is_vector<T>::value