MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / Poll

Method Poll

Source/VSTPlugin.cpp:572–692  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

570}
571
572void VSTPlugin::Poll()
573{
574 if (mRescanParameterNames)
575 {
576 mRescanParameterNames = false;
577 const auto& parameters = mPlugin->getParameters();
578
579 int numParameters = MIN((int)mParameterSliders.size(), (int)parameters.size());
580 for (int i = 0; i < numParameters; ++i)
581 {
582 mParameterSliders[i].mDisplayName = parameters[i]->getName(64).toStdString();
583 if (mParameterSliders[i].mSlider != nullptr)
584 mParameterSliders[i].mSlider->SetOverrideDisplayName(mParameterSliders[i].mDisplayName);
585 }
586
587 if (numParameters <= kMaxParametersInDropdown) // update the dropdown in this case
588 {
589 mShowParameterDropdown->Clear();
590 for (int i = 0; i < numParameters; ++i)
591 {
592 mShowParameterDropdown->AddLabel(mParameterSliders[i].mDisplayName.c_str(), i);
593 mParameterSliders[i].mInSelectorList = true;
594 }
595 }
596 }
597 if (mDisplayMode == kDisplayMode_Sliders)
598 {
599 for (int i = 0; i < mParameterSliders.size(); ++i)
600 {
601 float value = mParameterSliders[i].mParameter->getValue();
602 if (mParameterSliders[i].mValue != value)
603 mParameterSliders[i].mValue = value;
604 }
605
606 if (mChangeGestureParameterIndex != -1)
607 {
608 if (mChangeGestureParameterIndex < (int)mParameterSliders.size() &&
609 !mParameterSliders[mChangeGestureParameterIndex].mInSelectorList &&
610 mTemporarilyDisplayedParamIndex != mChangeGestureParameterIndex)
611 {
612 if (mTemporarilyDisplayedParamIndex != -1)
613 mShowParameterDropdown->RemoveLabel(mTemporarilyDisplayedParamIndex);
614 mTemporarilyDisplayedParamIndex = mChangeGestureParameterIndex;
615 mShowParameterDropdown->AddLabel(mParameterSliders[mChangeGestureParameterIndex].mDisplayName, mChangeGestureParameterIndex);
616 }
617
618 mChangeGestureParameterIndex = -1;
619 }
620 }
621
622 if (mWantOpenVstWindow)
623 {
624 mWantOpenVstWindow = false;
625 if (mPlugin != nullptr)
626 {
627 if (mWindow == nullptr)
628 mWindow = std::unique_ptr<VSTWindow>(VSTWindow::CreateVSTWindow(this, VSTWindow::Normal));
629 mWindow->ShowWindow();

Callers

nothing calls this directly

Calls 8

sizeMethod · 0.80
ShowWindowMethod · 0.80
GetBoolMethod · 0.80
MakeSliderMethod · 0.80
ClearMethod · 0.45
AddLabelMethod · 0.45
RemoveLabelMethod · 0.45

Tested by

no test coverage detected