diff --git a/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.cpp b/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.cpp index e1d6a8e53..6b2d2886d 100644 --- a/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.cpp +++ b/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.cpp @@ -224,7 +224,7 @@ void DistrhoPlugin3BandEQ::d_deactivate() tmp1LP = tmp2LP = tmp1HP = tmp2HP = 0.0f; } -void DistrhoPlugin3BandEQ::d_run(float** inputs, float** outputs, uint32_t frames, uint32_t, const MidiEvent*) +void DistrhoPlugin3BandEQ::d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent*, uint32_t) { float* in1 = inputs[0]; float* in2 = inputs[1]; diff --git a/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.hpp b/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.hpp index 92cbf3ce3..572bf316f 100644 --- a/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.hpp +++ b/source/modules/carla_native/3bandeq/DistrhoPlugin3BandEQ.hpp @@ -88,7 +88,7 @@ protected: void d_activate() override; void d_deactivate() override; - void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) override; + void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; // ------------------------------------------------------------------- diff --git a/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.cpp b/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.cpp index bc9ac9cd6..5c689d6a8 100644 --- a/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.cpp +++ b/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.cpp @@ -224,7 +224,7 @@ void DistrhoPlugin3BandSplitter::d_deactivate() tmp1LP = tmp2LP = tmp1HP = tmp2HP = 0.0f; } -void DistrhoPlugin3BandSplitter::d_run(float** inputs, float** outputs, uint32_t frames, uint32_t, const MidiEvent*) +void DistrhoPlugin3BandSplitter::d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent*, uint32_t) { float* in1 = inputs[0]; float* in2 = inputs[1]; diff --git a/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.hpp b/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.hpp index 8614a8a90..69685d465 100644 --- a/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.hpp +++ b/source/modules/carla_native/3bandsplitter/DistrhoPlugin3BandSplitter.hpp @@ -88,7 +88,7 @@ protected: void d_activate() override; void d_deactivate() override; - void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) override; + void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; // ------------------------------------------------------------------- diff --git a/source/modules/carla_native/audio-base.hpp b/source/modules/carla_native/audio-base.hpp index f9b4c3177..d61b5fd2b 100644 --- a/source/modules/carla_native/audio-base.hpp +++ b/source/modules/carla_native/audio-base.hpp @@ -370,7 +370,7 @@ protected: private: AbstractAudioPlayer* const kPlayer; - bool fNeedsRead; + mutable bool fNeedsRead; void* fFilePtr; ADInfo fFileNfo; diff --git a/source/modules/carla_native/distrho/DistrhoPluginCarla.cpp b/source/modules/carla_native/distrho/DistrhoPluginCarla.cpp index 493dda965..05a6bfa0c 100644 --- a/source/modules/carla_native/distrho/DistrhoPluginCarla.cpp +++ b/source/modules/carla_native/distrho/DistrhoPluginCarla.cpp @@ -98,6 +98,11 @@ public: #endif } + void carla_setUiTitle(const char* const uiName) + { + glWindow.setWindowTitle(uiName); + } + // --------------------------------------------- protected: @@ -343,15 +348,16 @@ protected: realMidiEvent->frame = midiEvent->time; realMidiEvent->size = midiEvent->size; - carla_copy(realMidiEvent->buf, midiEvent->data, midiEvent->size); + for (uint8_t j=0; j < midiEvent->size; ++j) + realMidiEvent->buf[j] = midiEvent->data[j]; } - fPlugin.run(inBuffer, outBuffer, frames, i, fRealMidiEvents); + fPlugin.run(inBuffer, outBuffer, frames, fRealMidiEvents, i); } #else void process(float** const inBuffer, float** const outBuffer, const uint32_t frames, const ::MidiEvent* const, const uint32_t) override { - fPlugin.run(inBuffer, outBuffer, frames, 0, nullptr); + fPlugin.run(inBuffer, outBuffer, frames, nullptr, 0); } #endif @@ -414,6 +420,27 @@ protected: #endif // ------------------------------------------------------------------- + // Plugin dispatcher calls + + void bufferSizeChanged(const uint32_t bufferSize) override + { + fPlugin.setBufferSize(bufferSize, true); + } + + void sampleRateChanged(const double sampleRate) override + { + fPlugin.setSampleRate(sampleRate, true); + } + +#if DISTRHO_PLUGIN_HAS_UI + void uiNameChanged(const char* const uiName) override + { + if (fUiPtr != nullptr) + fUiPtr->carla_setUiTitle(uiName); + } +#endif + + // ------------------------------------------------------------------- private: PluginInternal fPlugin; diff --git a/source/modules/carla_native/nekobi/DistrhoPluginNekobi.cpp b/source/modules/carla_native/nekobi/DistrhoPluginNekobi.cpp index 2848fa12b..57edb9f0a 100644 --- a/source/modules/carla_native/nekobi/DistrhoPluginNekobi.cpp +++ b/source/modules/carla_native/nekobi/DistrhoPluginNekobi.cpp @@ -341,7 +341,7 @@ void DistrhoPluginNekobi::d_deactivate() nekobee_synth_all_voices_off(fSynth); } -void DistrhoPluginNekobi::d_run(float**, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) +void DistrhoPluginNekobi::d_run(float**, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) { uint32_t framesDone = 0; uint32_t curEventIndex = 0; diff --git a/source/modules/carla_native/nekobi/DistrhoPluginNekobi.hpp b/source/modules/carla_native/nekobi/DistrhoPluginNekobi.hpp index f59975cc2..73f21b7a1 100644 --- a/source/modules/carla_native/nekobi/DistrhoPluginNekobi.hpp +++ b/source/modules/carla_native/nekobi/DistrhoPluginNekobi.hpp @@ -93,7 +93,7 @@ protected: void d_activate() override; void d_deactivate() override; - void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) override; + void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; // ------------------------------------------------------------------- diff --git a/source/modules/carla_native/notes/DistrhoPluginInfo.h b/source/modules/carla_native/notes/DistrhoPluginInfo.h index 1afe91dfa..bae0bc553 100644 --- a/source/modules/carla_native/notes/DistrhoPluginInfo.h +++ b/source/modules/carla_native/notes/DistrhoPluginInfo.h @@ -33,6 +33,6 @@ #define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Notes" -#define DISTRHO_UI_QT +#define DISTRHO_UI_EXTERNAL #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.cpp b/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.cpp index e2a588df2..cee365cf6 100644 --- a/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.cpp +++ b/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.cpp @@ -134,7 +134,7 @@ void DistrhoPluginPingPongPan::d_deactivate() wavePos = 0.0f; } -void DistrhoPluginPingPongPan::d_run(float** inputs, float** outputs, uint32_t frames, uint32_t, const MidiEvent*) +void DistrhoPluginPingPongPan::d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent*, uint32_t) { float* in1 = inputs[0]; float* in2 = inputs[1]; diff --git a/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.hpp b/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.hpp index ecb44650c..8fbd70bb2 100644 --- a/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.hpp +++ b/source/modules/carla_native/pingpongpan/DistrhoPluginPingPongPan.hpp @@ -84,7 +84,7 @@ protected: void d_activate() override; void d_deactivate() override; - void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) override; + void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; // ------------------------------------------------------------------- diff --git a/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.cpp b/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.cpp index 75e924af3..dd727bce4 100644 --- a/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.cpp +++ b/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.cpp @@ -165,7 +165,7 @@ void DistrhoPluginStereoEnhancer::d_deactivate() tmp1HP = tmp2HP = 0.0f; } -void DistrhoPluginStereoEnhancer::d_run(float** inputs, float** outputs, uint32_t frames, uint32_t, const MidiEvent*) +void DistrhoPluginStereoEnhancer::d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent*, uint32_t) { float* in1 = inputs[0]; float* in2 = inputs[1]; diff --git a/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.hpp b/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.hpp index bf28d4ef7..895d16e3a 100644 --- a/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.hpp +++ b/source/modules/carla_native/stereoenhancer/DistrhoPluginStereoEnhancer.hpp @@ -85,7 +85,7 @@ protected: void d_activate() override; void d_deactivate() override; - void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) override; + void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) override; // ------------------------------------------------------------------- diff --git a/source/modules/distrho/DistrhoPlugin.hpp b/source/modules/distrho/DistrhoPlugin.hpp index 24d7fe840..5af317cbb 100644 --- a/source/modules/distrho/DistrhoPlugin.hpp +++ b/source/modules/distrho/DistrhoPlugin.hpp @@ -234,7 +234,7 @@ protected: virtual void d_activate() {} virtual void d_deactivate() {} - virtual void d_run(float** inputs, float** outputs, uint32_t frames, uint32_t midiEventCount, const MidiEvent* midiEvents) = 0; + virtual void d_run(float** inputs, float** outputs, uint32_t frames, const MidiEvent* midiEvents, uint32_t midiEventCount) = 0; // ------------------------------------------------------------------- // Callbacks (optional) diff --git a/source/modules/distrho/src/DistrhoPluginInternal.hpp b/source/modules/distrho/src/DistrhoPluginInternal.hpp index 480bd8f1e..164efe4cb 100644 --- a/source/modules/distrho/src/DistrhoPluginInternal.hpp +++ b/source/modules/distrho/src/DistrhoPluginInternal.hpp @@ -302,12 +302,12 @@ public: fPlugin->d_deactivate(); } - void run(float** const inputs, float** const outputs, const uint32_t frames, const uint32_t midiEventCount, const MidiEvent* const midiEvents) + void run(float** const inputs, float** const outputs, const uint32_t frames, const MidiEvent* const midiEvents, const uint32_t midiEventCount) { assert(fPlugin != nullptr); if (fPlugin != nullptr) - fPlugin->d_run(inputs, outputs, frames, midiEventCount, midiEvents); + fPlugin->d_run(inputs, outputs, frames, midiEvents, midiEventCount); } // ------------------------------------------------------------------- diff --git a/source/plugin/carla-native-export.cpp b/source/plugin/carla-native-export.cpp index 1b2087bec..beb5294ca 100644 --- a/source/plugin/carla-native-export.cpp +++ b/source/plugin/carla-native-export.cpp @@ -524,11 +524,11 @@ void writePluginFile(const PluginDescriptor* const pluginDesc) if (paramUnit.isNotEmpty()) { - text += " units:unit [\n"; - text += " a units:Unit ;\n"; - text += " rdfs:label \"" + paramUnit + "\" ;\n"; - text += " units:symbol \"" + paramUnit + "\" ;\n"; - text += " units:render \"%f " + paramUnit + "\" ;\n"; + text += " unit:unit [\n"; + text += " a unit:Unit ;\n"; + text += " rdfs:label \"" + paramUnit + "\" ;\n"; + text += " unit:symbol \"" + paramUnit + "\" ;\n"; + text += " unit:render \"%f " + paramUnit + "\" ;\n"; text += " ] ;\n"; }