1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00
JUCE/modules
reuk ce061675a5
VST3 Host: Send parameter changes triggered by MIDI CCs to the IEditController
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.
2022-05-04 20:48:10 +01:00
..
juce_analytics Update copyright banners 2022-04-04 12:36:32 +01:00
juce_audio_basics FloatVectorOperations: Add method docstrings 2022-04-26 15:37:30 +01:00
juce_audio_devices macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
juce_audio_formats GCC: Fix some compiler warnings in GCC 11 2022-04-26 15:30:54 +01:00
juce_audio_plugin_client macOS: Remove 32 bit specific functionality 2022-05-03 08:16:37 +01:00
juce_audio_processors VST3 Host: Send parameter changes triggered by MIDI CCs to the IEditController 2022-05-04 20:48:10 +01:00
juce_audio_utils macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
juce_box2d GCC: Fix some compiler warnings in GCC 11 2022-04-26 15:30:54 +01:00
juce_core macOS: Remove 32 bit specific functionality 2022-05-03 08:16:37 +01:00
juce_cryptography Update copyright banners 2022-04-04 12:36:32 +01:00
juce_data_structures Value: Update refersToSameSourceAs documentation 2022-04-27 11:21:42 +01:00
juce_dsp Fix a compilation error in Xcode 9.4 2022-04-26 15:37:45 +01:00
juce_events macOS/iOS: Fix unguarded availability warnings 2022-04-26 15:37:03 +01:00
juce_graphics Fonts: Avoid segfaulting on Linux when there are no installed fonts 2022-05-03 11:44:03 +01:00
juce_gui_basics TableHeaderComponent: Use high-resolution image when header is dragged 2022-05-04 20:04:14 +01:00
juce_gui_extra macOS: Remove 32 bit specific functionality 2022-05-03 08:16:37 +01:00
juce_opengl OpenGL: Set OpenGL view position correctly after adjusting the global scale factor 2022-04-22 14:18:49 +01:00
juce_osc Update copyright banners 2022-04-04 12:36:32 +01:00
juce_product_unlocking Update copyright banners 2022-04-04 12:36:32 +01:00
juce_video macOS: Remove 32 bit specific functionality 2022-05-03 08:16:37 +01:00
CMakeLists.txt LV2: Add turtle-writer program 2022-04-22 14:18:51 +01:00