MayaFlux 0.2.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

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

Public Member Functions

double as_scalar () const
 
const std::vector< double > & as_vector () const
 
const std::vector< uint8_t > & as_bytes () const
 
const MIDIMessageas_midi () const
 
const OSCMessageas_osc () const
 

Static Public Member Functions

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)
 
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)
 

Public Attributes

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

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: