Browse Source

Fix a runtime warning with native MIDI

Signed-off-by: falkTX <falktx@falktx.com>
pull/506/head
falkTX 1 month ago
parent
commit
ab25198ea9
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 27 additions and 8 deletions
  1. +27
    -8
      distrho/src/jackbridge/NativeBridge.hpp

+ 27
- 8
distrho/src/jackbridge/NativeBridge.hpp View File

@@ -73,6 +73,7 @@ struct NativeBridge {
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT || DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
bool midiAvailable;
bool midiUsed;
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
static constexpr const uint32_t kMaxMIDIInputMessageSize = 3;
@@ -105,6 +106,7 @@ struct NativeBridge {
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT || DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
, midiAvailable(false)
, midiUsed(false)
#endif
{
#if DISTRHO_PLUGIN_NUM_INPUTS+DISTRHO_PLUGIN_NUM_OUTPUTS > 0
@@ -136,8 +138,16 @@ struct NativeBridge {
#endif
}

virtual bool isMIDIEnabled() const
{
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT || DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
return midiUsed;
#else
return false;
#endif
}

virtual bool supportsBufferSizeChanges() const { return false; }
virtual bool isMIDIEnabled() const { return false; }
virtual bool requestAudioInput() { return false; }
virtual bool requestBufferSizeChange(uint32_t) { return false; }
virtual bool requestMIDI() { return false; }
@@ -238,7 +248,7 @@ struct NativeBridge {

if (audio)
{
#if DISTRHO_PLUGIN_NUM_INPUTS+DISTRHO_PLUGIN_NUM_OUTPUTS > 0
#if DISTRHO_PLUGIN_NUM_INPUTS + DISTRHO_PLUGIN_NUM_OUTPUTS > 0
audioBufferStorage = new float[bufferSize*(DISTRHO_PLUGIN_NUM_INPUTS+DISTRHO_PLUGIN_NUM_OUTPUTS)];

for (uint i=0; i<DISTRHO_PLUGIN_NUM_INPUTS+DISTRHO_PLUGIN_NUM_OUTPUTS; ++i)
@@ -252,6 +262,9 @@ struct NativeBridge {

if (midi)
{
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT || DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
midiUsed = true;
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
midiInBufferCurrent.createBuffer(kMaxMIDIInputMessageSize * 512);
midiInBufferPending.createBuffer(kMaxMIDIInputMessageSize * 512);
@@ -268,12 +281,18 @@ struct NativeBridge {
delete[] audioBufferStorage;
audioBufferStorage = nullptr;
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
midiInBufferCurrent.deleteBuffer();
midiInBufferPending.deleteBuffer();
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
midiOutBuffer.deleteBuffer();
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT || DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
if (midiUsed)
{
midiUsed = false;
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT
midiInBufferCurrent.deleteBuffer();
midiInBufferPending.deleteBuffer();
#endif
#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
midiOutBuffer.deleteBuffer();
#endif
}
#endif
}



Loading…
Cancel
Save