MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Utils.hpp File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Utils
 

Enumerations

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

Functions

std::any MayaFlux::Utils::safe_get_parameter (const std::string &parameter_name, const std::map< std::string, std::any > parameters)
 
uint64_t MayaFlux::Utils::frames_to_seconds (uint64_t frames, uint32_t frame_rate)
 Convert frames to seconds at a given frame rate.
 
std::chrono::milliseconds MayaFlux::Utils::frame_duration_ms (uint32_t frame_rate)
 Get duration of a single frame at given frame rate.
 
std::chrono::microseconds MayaFlux::Utils::frame_duration_us (uint32_t frame_rate)
 Get duration of a single frame at given frame rate (high precision)
 
std::chrono::milliseconds MayaFlux::Utils::frames_duration_ms (uint64_t num_frames, uint32_t frame_rate)
 Get duration for N frames at given frame rate.
 
std::chrono::microseconds MayaFlux::Utils::frames_duration_us (uint64_t num_frames, uint32_t frame_rate)
 Get duration for N frames at given frame rate (high precision)
 
uint64_t MayaFlux::Utils::samples_to_seconds (uint64_t samples, uint32_t sample_rate)
 Convert samples to seconds at a given sample rate.
 
uint64_t MayaFlux::Utils::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 MayaFlux::Utils::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 MayaFlux::Utils::seconds_to_samples (double seconds, uint32_t sample_rate)
 Convert seconds to samples at a given sample rate.
 
uint64_t MayaFlux::Utils::seconds_to_frames (double seconds, uint32_t frame_rate)
 Convert seconds to frames at a given frame rate.
 
uint64_t MayaFlux::Utils::seconds_to_units (double seconds, uint32_t rate)
 Convert seconds to processing units for any rate.
 
double MayaFlux::Utils::units_to_seconds (uint64_t units, uint32_t rate)
 Convert processing units to seconds for any rate.