Browse Source

AAX midi fix.

tags/2021-05-28
jules 12 years ago
parent
commit
a72a2f2661
1 changed files with 27 additions and 1 deletions
  1. +27
    -1
      modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp

+ 27
- 1
modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp View File

@@ -182,8 +182,14 @@ struct AAXClasses
float** outputChannels; float** outputChannels;
int32_t* bufferSize; int32_t* bufferSize;
int32_t* bypass; int32_t* bypass;
#if JucePlugin_WantsMidiInput
AAX_IMIDINode* midiNodeIn; AAX_IMIDINode* midiNodeIn;
#endif
#if JucePlugin_ProducesMidiOutput
AAX_IMIDINode* midiNodeOut; AAX_IMIDINode* midiNodeOut;
#endif
PluginInstanceInfo* pluginInstance; PluginInstanceInfo* pluginInstance;
int32_t* isPrepared; int32_t* isPrepared;
@@ -197,13 +203,33 @@ struct AAXClasses
outputChannels = AAX_FIELD_INDEX (JUCEAlgorithmContext, outputChannels), outputChannels = AAX_FIELD_INDEX (JUCEAlgorithmContext, outputChannels),
bufferSize = AAX_FIELD_INDEX (JUCEAlgorithmContext, bufferSize), bufferSize = AAX_FIELD_INDEX (JUCEAlgorithmContext, bufferSize),
bypass = AAX_FIELD_INDEX (JUCEAlgorithmContext, bypass), bypass = AAX_FIELD_INDEX (JUCEAlgorithmContext, bypass),
#if JucePlugin_WantsMidiInput
midiNodeIn = AAX_FIELD_INDEX (JUCEAlgorithmContext, midiNodeIn), midiNodeIn = AAX_FIELD_INDEX (JUCEAlgorithmContext, midiNodeIn),
#endif
#if JucePlugin_ProducesMidiOutput
midiNodeOut = AAX_FIELD_INDEX (JUCEAlgorithmContext, midiNodeOut), midiNodeOut = AAX_FIELD_INDEX (JUCEAlgorithmContext, midiNodeOut),
#endif
pluginInstance = AAX_FIELD_INDEX (JUCEAlgorithmContext, pluginInstance), pluginInstance = AAX_FIELD_INDEX (JUCEAlgorithmContext, pluginInstance),
preparedFlag = AAX_FIELD_INDEX (JUCEAlgorithmContext, isPrepared) preparedFlag = AAX_FIELD_INDEX (JUCEAlgorithmContext, isPrepared)
}; };
}; };
#if JucePlugin_WantsMidiInput
static AAX_IMIDINode* getMidiNodeIn (JUCEAlgorithmContext& c) noexcept { return c.midiNodeIn; }
#else
static AAX_IMIDINode* getMidiNodeIn (JUCEAlgorithmContext&) noexcept { return nullptr; }
#endif
#if JucePlugin_ProducesMidiOutput
AAX_IMIDINode* midiNodeOut;
static AAX_IMIDINode* getMidiNodeOut (JUCEAlgorithmContext& c) noexcept { return c.midiNodeOut; }
#else
static AAX_IMIDINode* getMidiNodeOut (JUCEAlgorithmContext&) noexcept { return nullptr; }
#endif
//============================================================================== //==============================================================================
class JuceAAX_GUI : public AAX_CEffectGUI class JuceAAX_GUI : public AAX_CEffectGUI
{ {
@@ -721,7 +747,7 @@ struct AAXClasses
i.pluginInstance->parameters.process (i.inputChannels, i.outputChannels, i.pluginInstance->parameters.process (i.inputChannels, i.outputChannels,
*(i.bufferSize), *(i.bypass) != 0, *(i.bufferSize), *(i.bypass) != 0,
i.midiNodeIn, i.midiNodeOut);
getMidiNodeIn(i), getMidiNodeOut(i));
} }
} }


Loading…
Cancel
Save