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

◆ apply_broadcast_parameter()

void MayaFlux::Nodes::Network::ResonatorNetwork::apply_broadcast_parameter ( const std::string &  param,
double  value 
)
private

Apply a BROADCAST value to the named parameter across all resonators.

Parameters
param"frequency", "q", "gain", "retune" or "decay"
valueScalar value from source node

Definition at line 310 of file ResonatorNetwork.cpp.

311{
312 if (param == "frequency") {
314 } else if (param == "q") {
316 } else if (param == "gain") {
317 for (auto& r : m_resonators) {
318 r.gain = value;
319 }
320 } else if (param == "scale") {
321 m_output_scale = std::max(0.0, value);
322 } else if (param == "retune") {
323 for (size_t i = 0; i < m_resonators.size(); ++i) {
324 retune(i, value);
325 }
326 } else if (param == "decay") {
327 for (size_t i = 0; i < m_resonators.size(); ++i) {
328 set_decay(i, value);
329 }
330 }
331}
glm::vec3 value
double m_output_scale
Post-processing scalar applied to m_last_audio_buffer each batch.
void set_all_q(double q)
Set Q factor of all resonators uniformly.
void set_all_frequencies(double frequency)
Set centre frequency of all resonators uniformly.
void set_decay(size_t index, double seconds)
Set how long a resonator rings, without clearing its state.
void retune(size_t index, double frequency)
Move a resonator's centre frequency without clearing its state.

References MayaFlux::Nodes::Network::NodeNetwork::m_output_scale, m_resonators, retune(), set_all_frequencies(), set_all_q(), set_decay(), and value.

Referenced by update_mapped_parameters().

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