MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Utils Namespace Reference

Enumerations

enum  AudioBackendType : uint8_t { RTAUDIO }
 
enum class  WindowingBackendType : uint8_t { GLFW }
 
enum class  distribution : uint8_t { UNIFORM , NORMAL , EXPONENTIAL , POISSON }
 
enum  ActionType : uint8_t { NODE , TIME , FUNCTION }
 
enum  NodeState : uint32_t {
  INACTIVE = 0x00 , ACTIVE = 0x01 , PENDING_REMOVAL = 0x02 , MOCK_PROCESS = 0x04 ,
  PROCESSED = 0x08 , ENGINE_PROCESSED = ACTIVE | PROCESSED , EXTERMAL_PROCESSED = INACTIVE | PROCESSED , ENGINE_MOCK_PROCESSED = ACTIVE | MOCK_PROCESS | PROCESSED
}
 
enum  NodeChainSemantics : uint8_t { REPLACE_TARGET , PRESERVE_BOTH , ONLY_CHAIN }
 Defines how to handle existing nodes when creating a new chain. More...
 
enum  NodeBinaryOpSemantics : uint8_t { REPLACE , KEEP }
 
enum class  ComplexConversionStrategy : uint8_t { MAGNITUDE , REAL_PART , IMAG_PART , SQUARED_MAGNITUDE }
 Strategy for converting complex numbers to real values. More...
 

Functions

std::string to_lowercase (std::string_view str)
 Convert string to lowercase.
 
std::string to_uppercase (std::string_view str)
 Convert string to uppercase.
 
template<typename EnumType >
std::string enum_to_lowercase_string (EnumType value) noexcept
 Universal enum to lowercase string converter using magic_enum.
 
template<typename EnumType >
constexpr std::string_view enum_to_string (EnumType value) noexcept
 Universal enum to string converter using magic_enum (original case)
 
template<typename EnumType >
std::optional< EnumType > string_to_enum_case_insensitive (std::string_view str) noexcept
 Universal case-insensitive string to enum converter using magic_enum.
 
template<typename EnumType >
constexpr std::optional< EnumType > string_to_enum (std::string_view str) noexcept
 Universal string to enum converter using magic_enum (exact case match)
 
template<typename EnumType >
std::vector< std::string > get_enum_names_lowercase () noexcept
 Get all enum values as lowercase strings.
 
template<typename EnumType >
constexpr auto get_enum_names () noexcept
 Get all enum values as strings (original case)
 
template<typename EnumType >
constexpr auto get_enum_values () noexcept
 Get all enum values.
 
template<typename EnumType >
bool is_valid_enum_string_case_insensitive (std::string_view str) noexcept
 Validate if string is a valid enum value (case-insensitive)
 
template<typename EnumType >
constexpr size_t enum_count () noexcept
 Get enum count.
 
template<typename EnumType >
EnumType string_to_enum_or_throw_case_insensitive (std::string_view str, std::string_view context="")
 Convert string to enum with exception on failure (case-insensitive)
 
std::any safe_get_parameter (const std::string &parameter_name, const std::map< std::string, std::any > parameters)
 
uint64_t frames_to_seconds (uint64_t frames, uint32_t frame_rate)
 Convert frames to seconds at a given frame rate.
 
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 samples_to_seconds (uint64_t samples, uint32_t sample_rate)
 Convert samples to seconds at a given sample rate.
 
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 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 seconds_to_samples (double seconds, uint32_t sample_rate)
 Convert seconds to samples at a given sample rate.
 
uint64_t seconds_to_frames (double seconds, uint32_t frame_rate)
 Convert seconds to frames at a given frame 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.