mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
AudioProcessor: Update listener callback with change details
This commit is contained in:
parent
46d24cc1ab
commit
b1917085db
16 changed files with 134 additions and 53 deletions
|
|
@ -960,18 +960,21 @@ public:
|
|||
paramChanged (audioProcessor->getVSTParamIDForIndex (index), newValue);
|
||||
}
|
||||
|
||||
void audioProcessorChanged (AudioProcessor*) override
|
||||
void audioProcessorChanged (AudioProcessor*, const ChangeDetails& details) override
|
||||
{
|
||||
int32 flags = 0;
|
||||
|
||||
for (int32 i = 0; i < parameters.getParameterCount(); ++i)
|
||||
if (auto* param = dynamic_cast<Param*> (parameters.getParameterByIndex (i)))
|
||||
if (param->updateParameterInfo() && (flags & Vst::kParamTitlesChanged) == 0)
|
||||
flags |= Vst::kParamTitlesChanged;
|
||||
if (details.parameterInfoChanged)
|
||||
{
|
||||
for (int32 i = 0; i < parameters.getParameterCount(); ++i)
|
||||
if (auto* param = dynamic_cast<Param*> (parameters.getParameterByIndex (i)))
|
||||
if (param->updateParameterInfo() && (flags & Vst::kParamTitlesChanged) == 0)
|
||||
flags |= Vst::kParamTitlesChanged;
|
||||
}
|
||||
|
||||
if (auto* pluginInstance = getPluginInstance())
|
||||
{
|
||||
if (audioProcessor->getProgramParameter() != nullptr)
|
||||
if (details.programChanged && audioProcessor->getProgramParameter() != nullptr)
|
||||
{
|
||||
auto currentProgram = pluginInstance->getCurrentProgram();
|
||||
auto paramValue = roundToInt (EditController::normalizedParamToPlain (JuceAudioProcessor::paramPreset,
|
||||
|
|
@ -990,7 +993,7 @@ public:
|
|||
|
||||
auto latencySamples = pluginInstance->getLatencySamples();
|
||||
|
||||
if (latencySamples != lastLatencySamples)
|
||||
if (details.latencyChanged && latencySamples != lastLatencySamples)
|
||||
{
|
||||
flags |= Vst::kLatencyChanged;
|
||||
lastLatencySamples = latencySamples;
|
||||
|
|
@ -1116,7 +1119,7 @@ private:
|
|||
initialiseMidiControllerMappings();
|
||||
#endif
|
||||
|
||||
audioProcessorChanged (pluginInstance);
|
||||
audioProcessorChanged (pluginInstance, ChangeDetails().withParameterInfoChanged (true));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue