mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-21 01:24:21 +00:00
This change reshuffles the way that parameter updates and notifications work for hosted VST3 plugins. Previously: - Parameter::setValue would update the processor and editor, but not the host - Parameter::setValueFromEditor would update the processor and host, but not the editor - MIDI CC events would be converted to events and added to the processor's input event list, but were not forwarded to the IEditController. Now: - Parameter::setValue updates the host's cachedParamValues, which is the host's source of truth for parameter values. On each process callback, changes will be added to the input parameter list. Then, for each item in the parameter list, an update will be dispatched back to the editor. - Parameter::setValueFromEditor is removed. All parameter changes will be sent back to the editor, even if they originated from the editor. setValueNotifyingHost can be used to notify listeners that one of the host's JUCE parameters has changed, e.g. in the host context's performEdit. - MIDI CC events trigger calls to setValueNotifyingHost on any mapped parameters. The flow is very similar to a parameter change from the editor: the cachedParamValues are updated immediately, and host parameter listeners are notified. Then, for each changed cachedParamValue an entry is added to the inputParameterChanges (updating the processor), then for each item in the inputParameterChanges an update is sent to the editor. |
||
|---|---|---|
| .. | ||
| juce_analytics | ||
| juce_audio_basics | ||
| juce_audio_devices | ||
| juce_audio_formats | ||
| juce_audio_plugin_client | ||
| juce_audio_processors | ||
| juce_audio_utils | ||
| juce_box2d | ||
| juce_core | ||
| juce_cryptography | ||
| juce_data_structures | ||
| juce_dsp | ||
| juce_events | ||
| juce_graphics | ||
| juce_gui_basics | ||
| juce_gui_extra | ||
| juce_opengl | ||
| juce_osc | ||
| juce_product_unlocking | ||
| juce_video | ||
| CMakeLists.txt | ||