Browse Source

AU: Cache MIDI output block

v6.1.6
reuk 3 years ago
parent
commit
7d8c5b845d
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
1 changed files with 7 additions and 1 deletions
  1. +7
    -1
      modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm

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

@@ -867,6 +867,9 @@ public:
hostMusicalContextCallback = [getAudioUnit() musicalContextBlock];
hostTransportStateCallback = [getAudioUnit() transportStateBlock];
if (@available (macOS 10.13, iOS 11.0, *))
midiOutputEventBlock = [au MIDIOutputEventBlock];
reset();
return true;
@@ -874,6 +877,8 @@ public:
void deallocateRenderResources() override
{
midiOutputEventBlock = nullptr;
hostMusicalContextCallback = nullptr;
hostTransportStateCallback = nullptr;
@@ -1602,7 +1607,7 @@ private:
#if JucePlugin_ProducesMidiOutput && JUCE_AUV3_MIDI_OUTPUT_SUPPORTED
if (@available (macOS 10.13, iOS 11.0, *))
{
if (auto midiOut = [au MIDIOutputEventBlock])
if (auto midiOut = midiOutputEventBlock)
for (const auto metadata : midiMessages)
midiOut (metadata.samplePosition, 0, metadata.numBytes, metadata.data);
}
@@ -1772,6 +1777,7 @@ private:
OwnedArray<BusBuffer> inBusBuffers, outBusBuffers;
MidiBuffer midiMessages;
AUMIDIOutputEventBlock midiOutputEventBlock = nullptr;
#if JUCE_AUV3_MIDI_EVENT_LIST_SUPPORTED
ump::ToBytestreamDispatcher converter { 2048 };


Loading…
Cancel
Save