MayaFlux 1.0.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, MayaFlux::Nodes::Input::MIDINode, MayaFlux::Nodes::Input::OSCNode, and MayaFlux::Nodes::Input::TabletNode.

Definition at line 76 of file InputNode.cpp.

77{
78 switch (value.type) {
80 return value.as_scalar();
81
83 const auto& vec = value.as_vector();
84 return vec.empty() ? m_config.default_value : vec[0];
85 }
86
88 // Default: treat data2 as 0-127 normalized value
89 const auto& midi = value.as_midi();
90 return static_cast<double>(midi.data2) / 127.0;
91 }
92
93 default:
95 }
96}
glm::vec3 value
@ 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:71

References MayaFlux::Nodes::Input::InputConfig::default_value, m_config, MayaFlux::Core::InputValue::MIDI, MayaFlux::Core::InputValue::SCALAR, value, and MayaFlux::Core::InputValue::VECTOR.

Referenced by process_input().

+ Here is the caller graph for this function: