Browse Source

AU and AUv3: Enabled JucePlugin_AUHighResolutionParameters by default and combined this breaking change with 4dcce50

tags/2021-05-28
tpoole 7 years ago
parent
commit
bab3ce9759
3 changed files with 12 additions and 8 deletions
  1. +10
    -6
      BREAKING-CHANGES.txt
  2. +1
    -1
      modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm
  3. +1
    -1
      modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm

+ 10
- 6
BREAKING-CHANGES.txt View File

@@ -7,14 +7,15 @@ Develop Branch
Change
------
The method used to classify AudioUnit, VST3 and AAX plug-in parameters as
either continuous or discrete has changed.
either continuous or discrete has changed, and AudioUnit and AudioUnit v3
parameters are marked as high precision by default.

Possible Issues
---------------
Plug-ins: DAW projects with automation data written by an AudioUnit, VST3 or
AAX plug-in built with JUCE version 5.1.1 or earlier may load incorrectly when
opened by an AudioUnit, VST3 or AAX plug-in built with JUCE version 5.2.0 and
later.
Plug-ins: DAW projects with automation data written by an AudioUnit, AudioUnit
v3 VST3 or AAX plug-in built with JUCE version 5.1.1 or earlier may load
incorrectly when opened by an AudioUnit, AudioUnit v3, VST3 or AAX plug-in
built with JUCE version 5.2.0 and later.

Hosts: The AudioPluginInstance::getParameterNumSteps method now returns correct
values for AU and VST3 plug-ins.
@@ -32,7 +33,10 @@ Rationale
The old system for presenting plug-in parameters to a host as either continuous
or discrete is inconsistent between plug-in types and lacks sufficient
flexibility. This change harmonises the behaviour and allows individual
parameters to be marked as continuous or discrete.
parameters to be marked as continuous or discrete. If AudioUnit and AudioUnit
v3 parameters are not marked as high precision then hosts like Logic Pro only
offer a limited number of parameter values, which again produces different
behaviour for different plug-in types.


Change


+ 1
- 1
modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm View File

@@ -835,7 +835,7 @@ public:
| kAudioUnitParameterFlag_HasCFNameString
| kAudioUnitParameterFlag_ValuesHaveStrings);
#if JucePlugin_AUHighResolutionParameters
#if ! JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE
outParameterInfo.flags |= (UInt32) kAudioUnitParameterFlag_IsHighResolution;
#endif


+ 1
- 1
modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm View File

@@ -1102,7 +1102,7 @@ private:
| kAudioUnitParameterFlag_HasCFNameString
| kAudioUnitParameterFlag_ValuesHaveStrings);
#if JucePlugin_AUHighResolutionParameters
#if ! JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE
flags |= (UInt32) kAudioUnitParameterFlag_IsHighResolution;
#endif


Loading…
Cancel
Save