Apply one-to-one parameter from another network.
200{
201 if (source->get_node_count() !=
m_modes.size()) {
202 return;
203 }
204
205 if (param == "amplitude") {
206 for (
size_t i = 0; i <
m_modes.size(); ++i) {
207 auto val = source->get_node_output(i);
208 if (val) {
210 }
211 }
212 } else if (param == "detune") {
213 for (
size_t i = 0; i <
m_modes.size(); ++i) {
214 auto val = source->get_node_output(i);
215 if (val) {
216 double detune_cents = *val * 100.0;
217 double ratio = std::pow(2.0, detune_cents / 1200.0);
219 m_modes[i].oscillator->set_frequency(
m_modes[i].current_frequency);
220 }
221 }
222 }
223}
std::vector< ModalNode > m_modes