A parameter has changed on the plugin side. This is called by the host to inform the UI about parameter changes. */
| 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; |
nothing calls this directly
no test coverage detected