MCPcopy Create free account
hub / github.com/VCVRack/Befaco / updatePatchParameters

Method updatePatchParameters

src/Iroi.cpp:385–468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

383 }
384
385 void updatePatchParameters(PatchCtrls *patchCtrls, PatchCvs *patchCvs, Ui *ui) {
386 // Faders (also act as CV attenuators when CV is patched)
387 patchCtrls->filterVol =
388 params[FILTER_VCA_PARAM].getValue() * clamp(inputs[F_VCA_INPUT].getNormalVoltage(5.f) / 5.f, 0.f, 1.f);
389 patchCtrls->resonatorVol =
390 params[RESO_DRY_WET_PARAM].getValue() * clamp(inputs[RESONATOR_INPUT].getNormalVoltage(5.f) / 5.f, 0.f, 1.f);
391 patchCtrls->echoVol =
392 params[ECHO_DRY_WET_PARAM].getValue() * clamp(inputs[ECHO_INPUT].getNormalVoltage(5.f) / 5.f, 0.f, 1.f);
393 patchCtrls->ambienceVol =
394 params[AMB_DRY_WET_PARAM].getValue() * clamp(inputs[AMBIENCE_INPUT].getNormalVoltage(5.f) / 5.f, 0.f, 1.f);
395
396 // filter
397 ui->SetFilterCutoffMain(params[FILTER_CUTOFF_PARAM].getValue());
398 patchCtrls->filterResonance = params[RESONANCE_PARAM].getValue();
399 patchCtrls->filterMode = params[FILTER_MODE_PARAM].getValue() / 4.0f;
400 patchCtrls->filterPosition = (params[FILTER_POSITION_PARAM].getValue() - 1) / 3.0f;
401
402 // resonator
403 patchCtrls->resonatorTune = params[RESONATOR_TUNE_PARAM].getValue();
404 patchCtrls->resonatorFeedback = params[RESONATOR_FEEDBACK_PARAM].getValue();
405 patchCtrls->resonatorDissonance = params[RESONATOR_DISSONANCE_PARAM].getValue();
406
407 // echo
408 patchCtrls->echoDensity = params[ECHO_DENSITY_PARAM].getValue();
409 patchCtrls->echoRepeats = params[ECHO_REPEATS_PARAM].getValue();
410 patchCtrls->echoFilter = params[ECHO_FILTER_PARAM].getValue();
411
412 // ambience
413 patchCtrls->ambienceSpacetime = params[AMBIENCE_SPACETIME_PARAM].getValue();
414 patchCtrls->ambienceDecay = params[AMBIENCE_DECAY_PARAM].getValue();
415 patchCtrls->ambienceAutoPan = params[AMBIENCE_AUTOPAN_PARAM].getValue();
416
417 // modulation
418 patchCtrls->modSpeed = params[MOD_SPEED_PARAM].getValue();
419 patchCtrls->modLevel = params[MOD_LEVEL_PARAM].getValue();
420 patchCtrls->modType = params[MOD_TYPE_PARAM].getValue() / 6.f;
421
422 // MOD amounts
423 patchCtrls->filterCutoffModAmount = params[FILTER_CUTOFF_MOD_PARAM].getValue();
424 patchCtrls->filterResonanceModAmount = params[RESONANCE_MOD_PARAM].getValue();
425 patchCtrls->resonatorTuneModAmount = params[RESONATOR_TUNE_MOD_PARAM].getValue();
426 patchCtrls->resonatorFeedbackModAmount = params[RESONATOR_FEEDBACK_MOD_PARAM].getValue();
427 patchCtrls->echoDensityModAmount = params[ECHO_DENSITY_MOD_PARAM].getValue();
428 patchCtrls->echoRepeatsModAmount = params[ECHO_REPEATS_MOD_PARAM].getValue();
429 patchCtrls->ambienceSpacetimeModAmount = params[AMBIENCE_SPACETIME_MOD_PARAM].getValue();
430 patchCtrls->ambienceDecayModAmount = params[AMBIENCE_DECAY_MOD_PARAM].getValue();
431
432 // CV amounts
433 patchCtrls->filterCutoffCvAmount = params[FILTER_CUTOFF_CV_PARAM].getValue();
434 patchCtrls->filterResonanceCvAmount = params[RESONANCE_CV_PARAM].getValue();
435 patchCtrls->resonatorTuneCvAmount = params[RESONATOR_TUNE_CV_PARAM].getValue();
436 patchCtrls->resonatorFeedbackCvAmount = params[RESONATOR_FEEDBACK_CV_PARAM].getValue();
437 patchCtrls->echoDensityCvAmount = params[ECHO_DENSITY_CV_PARAM].getValue();
438 patchCtrls->echoRepeatsCvAmount = params[ECHO_REPEATS_CV_PARAM].getValue();
439 patchCtrls->ambienceSpacetimeCvAmount = params[AMBIENCE_SPACETIME_CV_PARAM].getValue();
440 patchCtrls->ambienceDecayCvAmount = params[AMBIENCE_DECAY_CV_PARAM].getValue();
441
442 // CV signals (-5V..+10V mapped to -0.5..1.0)

Callers

nothing calls this directly

Calls 1

getValueMethod · 0.80

Tested by

no test coverage detected