MCPcopy Create free account
hub / github.com/DISTRHO/Cardinal / process

Method process

plugins/Cardinal/src/AIDA-X.cpp:468–614  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

466#endif
467
468 void process(const ProcessArgs& args) override
469 {
470#ifndef QUICK_BUILD_TESTING
471 const float stime = args.sampleTime;
472 const float inlevelv = DB_CO(params[kParameterINLEVEL].getValue());
473 const float outlevelv = DB_CO(params[kParameterOUTLEVEL].getValue());
474
475 const bool net_bypass = params[kParameterNETBYPASS].getValue() > 0.5f;
476 const bool eq_bypass = params[kParameterEQBYPASS].getValue() > 0.5f;
477 const EqPos eq_pos = params[kParameterEQPOS].getValue() > 0.5f ? kEqPre : kEqPost;
478
479 // update tone controls
480 bool changed = false;
481 float value;
482
483 value = params[kParameterINLPF].getValue();
484 if (d_isNotEqual(cachedParams[kParameterINLPF], value))
485 {
486 cachedParams[kParameterINLPF] = value;
487 in_lpf.setFc(MAP(value, 0.0f, 100.0f, INLPF_MAX_CO, INLPF_MIN_CO));
488 }
489
490 value = params[kParameterBASSGAIN].getValue();
491 if (d_isNotEqual(cachedParams[kParameterBASSGAIN], value))
492 {
493 cachedParams[kParameterBASSGAIN] = value;
494 changed = true;
495 }
496
497 value = params[kParameterBASSFREQ].getValue();
498 if (d_isNotEqual(cachedParams[kParameterBASSFREQ], value))
499 {
500 cachedParams[kParameterBASSFREQ] = value;
501 changed = true;
502 }
503
504 if (changed)
505 {
506 changed = false;
507 bass.setBiquad(bq_type_lowshelf,
508 cachedParams[kParameterBASSFREQ] / args.sampleRate,
509 COMMON_Q,
510 cachedParams[kParameterBASSGAIN]);
511 }
512
513 value = params[kParameterMIDGAIN].getValue();
514 if (d_isNotEqual(cachedParams[kParameterMIDGAIN], value))
515 {
516 cachedParams[kParameterMIDGAIN] = value;
517 changed = true;
518 }
519
520 value = params[kParameterMIDFREQ].getValue();
521 if (d_isNotEqual(cachedParams[kParameterMIDFREQ], value))
522 {
523 cachedParams[kParameterMIDFREQ] = value;
524 changed = true;
525 }

Callers 1

applyToneControlsMethod · 0.45

Calls 10

DB_COFunction · 0.85
MAPFunction · 0.85
applyModelFunction · 0.85
setFcMethod · 0.80
setBiquadMethod · 0.80
setPeakGainMethod · 0.80
getValueMethod · 0.45
getVoltageMethod · 0.45
storeMethod · 0.45
setVoltageMethod · 0.45

Tested by

no test coverage detected