diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index 338bea2885..115711e676 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -577,7 +577,10 @@ struct AAXClasses for (uint32_t i = 0; i < numMidiEvents; ++i) { - const AAX_CMidiPacket& m = midiStream->mBuffer[i]; + // (This 8-byte alignment is a workaround to a bug in the AAX SDK. Hopefully can be + // removed in future when the packet structure size is fixed) + const AAX_CMidiPacket& m = *addBytesToPointer (midiStream->mBuffer, + i * ((sizeof (AAX_CMidiPacket) + 7) & ~7)); jassert ((int) m.mTimestamp < bufferSize); midiBuffer.addEvent (m.mData, (int) m.mLength, jlimit (0, (int) bufferSize - 1, (int) m.mTimestamp));