MCPcopy Create free account
hub / github.com/audacity/audacity / OnParameterValueChanged

Method OnParameterValueChanged

src/effects/VST3/VST3ParametersWindow.cpp:401–420  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

399}
400
401void VST3ParametersWindow::OnParameterValueChanged(const wxCommandEvent& evt)
402{
403 if(auto control = dynamic_cast<VST3ParameterControl*>(evt.GetEventObject()))
404 {
405 const auto paramId = control->GetParameterId();
406 const auto normalizedValue = control->GetNormalizedValue(*mEditController);
407
408 mEditController->setParamNormalized(paramId, normalizedValue);
409 if(mComponentHandler->beginEdit(paramId) == Steinberg::kResultOk)
410 {
411 auto cleanup = finally([=] { mComponentHandler->endEdit(paramId); });
412 mComponentHandler->performEdit(paramId, normalizedValue);
413 }
414 auto it = mLabels.find(paramId);
415 if (it != mLabels.end()) {
416 it->second->SetNormalizedValue(*mEditController, normalizedValue);
417 control->UpdateAccessible(*mEditController, normalizedValue);
418 }
419 }
420}
421
422VST3ParametersWindow* VST3ParametersWindow::Setup(wxWindow& parent, Steinberg::Vst::IEditController& editController,
423 Steinberg::Vst::IComponentHandler& componentHandler)

Callers

nothing calls this directly

Calls 10

finallyFunction · 0.85
GetParameterIdMethod · 0.80
beginEditMethod · 0.80
endEditMethod · 0.80
performEditMethod · 0.80
GetNormalizedValueMethod · 0.45
findMethod · 0.45
endMethod · 0.45
SetNormalizedValueMethod · 0.45
UpdateAccessibleMethod · 0.45

Tested by

no test coverage detected