diff --git a/jucewrapper/CardinalWrapper.cpp b/jucewrapper/CardinalWrapper.cpp index 15561c2..7b07525 100644 --- a/jucewrapper/CardinalWrapper.cpp +++ b/jucewrapper/CardinalWrapper.cpp @@ -264,14 +264,13 @@ public: updatedParameters(nullptr) { if (const double sampleRate = getSampleRate()) - plugin.setSampleRate(sampleRate); + if (sampleRate > 0.0) + plugin.setSampleRate(sampleRate); if (const int samplesPerBlock = getBlockSize()) if (samplesPerBlock > 0) plugin.setBufferSize(static_cast(samplesPerBlock)); - getBypassParameter(); - if (parameterCount != 0) { updatedParameters = new bool[parameterCount]; @@ -429,7 +428,7 @@ protected: juce::AudioProcessorParameter* getBypassParameter() const override { - return nullptr; + return bypassParameter; } juce::AudioProcessorEditor* createEditor() override; @@ -508,10 +507,13 @@ private: CardinalWrapperProcessor* const processor = static_cast(ptr); DISTRHO_SAFE_ASSERT_RETURN(processor != nullptr, false); + juce::MidiBuffer* const currentMidiMessages = processor->currentMidiMessages; + DISTRHO_SAFE_ASSERT_RETURN(currentMidiMessages != nullptr, false); + const uint8_t* const data = midiEvent.size > MidiEvent::kDataSize ? midiEvent.dataExt : midiEvent.data; - return processor->currentMidiMessages->addEvent(data, - static_cast(midiEvent.size), - static_cast(midiEvent.frame)); + return currentMidiMessages->addEvent(data, + static_cast(midiEvent.size), + static_cast(midiEvent.frame)); } };