MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Nodes::Input::MIDIConfig Struct Reference

MIDI input node configuration. More...

#include <MIDINode.hpp>

+ Inheritance diagram for MayaFlux::Nodes::Input::MIDIConfig:
+ Collaboration diagram for MayaFlux::Nodes::Input::MIDIConfig:

Public Member Functions

template<typename F >
MIDIConfigwith_velocity_curve (F &&curve)
 Apply velocity curve transformation.
 
MIDIConfigon_channel (uint8_t ch)
 
MIDIConfignote_on ()
 
MIDIConfignote_off ()
 
MIDIConfiginverted ()
 

Static Public Member Functions

static MIDIConfig note ()
 Note velocity node (responds to any note)
 
static MIDIConfig note (uint8_t note_num)
 Specific note velocity.
 
static MIDIConfig cc (uint8_t cc_num)
 Control Change node.
 
static MIDIConfig pitch_bend ()
 Pitch bend node.
 
static MIDIConfig aftertouch ()
 Aftertouch node.
 
static MIDIConfig program_change ()
 Program change node.
 

Public Attributes

std::optional< uint8_t > channel
 MIDI channel filter (0-15)
 
std::optional< uint8_t > note_number
 Note number filter (0-127)
 
std::optional< uint8_t > cc_number
 CC number filter (0-127)
 
std::optional< uint8_t > message_type
 Message type filter (0x80-0xF0)
 
bool note_on_only {}
 Only respond to Note On.
 
bool note_off_only {}
 Only respond to Note Off.
 
std::function< double(uint8_t)> velocity_curve
 Custom velocity mapping.
 
bool invert_cc { false }
 Flip CC 127→0.
 
- Public Attributes inherited from MayaFlux::Nodes::Input::InputConfig
SmoothingMode smoothing { SmoothingMode::EXPONENTIAL }
 
double smoothing_factor { 0.1 }
 0-1, higher = faster response
 
double slew_rate { 1.0 }
 Max change per sample (SLEW mode)
 
double default_value { 0.0 }
 Initial output value.
 
size_t history_size { 8 }
 Input history buffer size.
 

Detailed Description

MIDI input node configuration.

Definition at line 10 of file MIDINode.hpp.


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