MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::InputValue Struct Reference

Generic input value container. More...

#include <InputBinding.hpp>

+ Collaboration diagram for MayaFlux::Core::InputValue:

Classes

struct  MIDIMessage
 MIDI message structure. More...
 
struct  OSCMessage
 OSC message structure. More...
 

Public Types

using OSCArg = std::variant< int32_t, float, std::string, std::vector< uint8_t > >
 OSC argument types.
 
enum class  Type : uint8_t {
  SCALAR , VECTOR , BYTES , MIDI ,
  OSC
}
 Type of input data. More...
 

Public Member Functions

const std::vector< uint8_t > & as_bytes () const
 
const MIDIMessageas_midi () const
 
const OSCMessageas_osc () const
 
double as_scalar () const
 
const std::vector< double > & as_vector () const
 
const std::vector< uint8_t > * try_bytes () const noexcept
 Safe bytes extraction.
 
const MIDIMessagetry_midi () const noexcept
 Safe MIDI extraction.
 
const OSCMessagetry_osc () const noexcept
 Safe OSC extraction.
 
std::optional< double > try_scalar () const noexcept
 Safe scalar extraction.
 
const std::vector< double > * try_vector () const noexcept
 Safe vector extraction.
 

Static Public Member Functions

static InputValue make_bytes (std::vector< uint8_t > v, uint32_t dev_id, InputType src)
 
static InputValue make_midi (uint8_t status, uint8_t d1, uint8_t d2, uint32_t dev_id)
 
static InputValue make_osc (std::string addr, std::vector< OSCArg > args, uint32_t dev_id)
 
static InputValue make_scalar (double v, uint32_t dev_id, InputType src)
 
static InputValue make_vector (std::vector< double > v, uint32_t dev_id, InputType src)
 

Public Attributes

std::variant< double, std::vector< double >, std::vector< uint8_t >, MIDIMessage, OSCMessagedata
 
uint32_t device_id
 Source device identifier.
 
InputType source_type
 Backend that generated this value.
 
uint64_t timestamp_ns
 Nanoseconds since epoch (or backend start)
 
Type type
 

Detailed Description

Generic input value container.

Represents a single input event from any backend type. Uses variant to handle different data formats efficiently.

Definition at line 206 of file InputBinding.hpp.


The documentation for this struct was generated from the following files: