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

◆ set_frequency()

void MayaFlux::Nodes::Network::ResonatorNetwork::set_frequency ( size_t  index,
double  frequency 
)

Set centre frequency of a single resonator and recompute its coefficients.

Parameters
indexResonator index (0-based)
frequencyNew centre frequency in Hz (clamped to [1.0, sample_rate/2 - 1])
Exceptions
std::out_of_rangeif index >= get_node_count()

Definition at line 403 of file ResonatorNetwork.cpp.

404{
405 if (index >= m_resonators.size()) {
406 error<std::out_of_range>(Journal::Component::Nodes, Journal::Context::NodeProcessing, std::source_location::current(),
407 "ResonatorNetwork::set_frequency: index out of range (index={}, resonator_count={})", index, m_resonators.size());
408 }
409 auto& r = m_resonators[index];
410 r.frequency = std::clamp(frequency, 1.0, m_sample_rate * 0.5 - 1.0);
412}
double frequency
void compute_biquad(ResonatorNode &r)
Compute RBJ biquad bandpass coefficients and push them into a resonator's IIR.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References compute_biquad(), frequency, m_resonators, MayaFlux::Nodes::Network::NodeNetwork::m_sample_rate, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.

Referenced by apply_one_to_one_parameter(), and set_all_frequencies().

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