MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ extract_value()

double MayaFlux::Nodes::Input::InputNode::extract_value ( const Core::InputValue value)
protectedvirtual

Extract a scalar value from an InputValue.

Parameters
valueThe input value to extract from
Returns
Scalar value for smoothing/output

Override in derived classes for specific input types. Default handles SCALAR and MIDI CC values.

Reimplemented in MayaFlux::Nodes::Input::HIDNode, and MayaFlux::Nodes::Input::MIDINode.

Definition at line 78 of file InputNode.cpp.

79{
80 switch (value.type) {
82 return value.as_scalar();
83
85 const auto& vec = value.as_vector();
86 return vec.empty() ? m_config.default_value : vec[0];
87 }
88
90 // Default: treat data2 as 0-127 normalized value
91 const auto& midi = value.as_midi();
92 return static_cast<double>(midi.data2) / 127.0;
93 }
94
95 default:
97 }
98}
@ MIDI
Structured MIDI message.
@ VECTOR
Multiple float values (e.g., accelerometer xyz)
@ SCALAR
Single normalized float [-1.0, 1.0] or [0.0, 1.0].
double default_value
Initial output value.
Definition InputNode.hpp:83

References MayaFlux::Core::InputValue::as_midi(), MayaFlux::Core::InputValue::as_scalar(), MayaFlux::Core::InputValue::as_vector(), MayaFlux::Nodes::Input::InputConfig::default_value, m_config, MayaFlux::Core::InputValue::MIDI, MayaFlux::Core::InputValue::SCALAR, MayaFlux::Core::InputValue::type, and MayaFlux::Core::InputValue::VECTOR.

Referenced by process_input().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: