| 399 | } |
| 400 | |
| 401 | void 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 | |
| 422 | VST3ParametersWindow* VST3ParametersWindow::Setup(wxWindow& parent, Steinberg::Vst::IEditController& editController, |
| 423 | Steinberg::Vst::IComponentHandler& componentHandler) |
nothing calls this directly
no test coverage detected