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

Function parameterChanged

src/CardinalUI.cpp:745–906  ·  view source on GitHub ↗

A parameter has changed on the plugin side. This is called by the host to inform the UI about parameter changes. */

Source from the content-addressed store, hash-verified

743 This is called by the host to inform the UI about parameter changes.
744 */
745 void parameterChanged(const uint32_t index, const float value) override
746 {
747 // host mapped parameters
748 if (index < kCardinalParameterCountAtModules)
749 {
750 #if CARDINAL_VARIANT_MINI && ! DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
751 context->parameters[index] = value;
752 #endif
753 return;
754 }
755
756 // bypass
757 if (index == kCardinalParameterBypass)
758 {
759 #if CARDINAL_VARIANT_MINI && ! DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
760 context->bypassed = value > 0.5f;
761 #endif
762 return;
763 }
764
765 if (index < kCardinalParameterCountAtWindow)
766 {
767 switch (index - kCardinalParameterStartWindow)
768 {
769 case kWindowParameterShowTooltips:
770 windowParameters.tooltips = value > 0.5f;
771 break;
772 case kWindowParameterCableOpacity:
773 windowParameters.cableOpacity = value / 100.0f;
774 break;
775 case kWindowParameterCableTension:
776 windowParameters.cableTension = value / 100.0f;
777 break;
778 case kWindowParameterRackBrightness:
779 windowParameters.rackBrightness = value / 100.0f;
780 break;
781 case kWindowParameterHaloBrightness:
782 windowParameters.haloBrightness = value / 100.0f;
783 break;
784 case kWindowParameterKnobMode:
785 switch (static_cast<int>(value + 0.5f))
786 {
787 case 0:
788 windowParameters.knobMode = rack::settings::KNOB_MODE_LINEAR;
789 break;
790 case 1:
791 windowParameters.knobMode = rack::settings::KNOB_MODE_ROTARY_ABSOLUTE;
792 break;
793 case 2:
794 windowParameters.knobMode = rack::settings::KNOB_MODE_ROTARY_RELATIVE;
795 break;
796 }
797 break;
798 case kWindowParameterWheelKnobControl:
799 windowParameters.knobScroll = value > 0.5f;
800 break;
801 case kWindowParameterWheelSensitivity:
802 windowParameters.knobScrollSensitivity = value / 1000.0f;

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected