Signed-off-by: falkTX <falktx@falktx.com>tags/24.05
| @@ -220,6 +220,9 @@ native: carla deps dgl plugins resources | |||||
| mini: carla deps dgl mini-plugins mini-resources | mini: carla deps dgl mini-plugins mini-resources | ||||
| $(MAKE) mini -C src $(CARLA_EXTRA_ARGS) | $(MAKE) mini -C src $(CARLA_EXTRA_ARGS) | ||||
| au: carla deps dgl plugins resources | |||||
| $(MAKE) au -C src $(CARLA_EXTRA_ARGS) | |||||
| clap: carla deps dgl plugins resources | clap: carla deps dgl plugins resources | ||||
| $(MAKE) clap -C src $(CARLA_EXTRA_ARGS) | $(MAKE) clap -C src $(CARLA_EXTRA_ARGS) | ||||
| @@ -1 +1 @@ | |||||
| Subproject commit 8ac24f80446a0f3d48365e96a31f12fd201fd3ff | |||||
| Subproject commit 32ba6c1cb418e6a1d6d97c979e76c8ecab46fbc7 | |||||
| @@ -36,6 +36,7 @@ | |||||
| #define DISTRHO_PLUGIN_AU_TYPE aumf | #define DISTRHO_PLUGIN_AU_TYPE aumf | ||||
| #define DISTRHO_PLUGIN_BRAND_ID Dstr | #define DISTRHO_PLUGIN_BRAND_ID Dstr | ||||
| #define DISTRHO_PLUGIN_UNIQUE_ID DcnM | #define DISTRHO_PLUGIN_UNIQUE_ID DcnM | ||||
| #define DISTRHO_PLUGIN_EXTRA_IO { CARDINAL_NUM_AUDIO_INPUTS, CARDINAL_NUM_AUDIO_OUTPUTS }, { 2, 2 } | |||||
| #ifdef HEADLESS | #ifdef HEADLESS | ||||
| #define DISTRHO_PLUGIN_HAS_UI 0 | #define DISTRHO_PLUGIN_HAS_UI 0 | ||||
| @@ -196,6 +196,14 @@ class CardinalPlugin : public CardinalBasePlugin | |||||
| float fMiniReportValues[kCardinalParameterCountAtMini - kCardinalParameterStartMini]; | float fMiniReportValues[kCardinalParameterCountAtMini - kCardinalParameterStartMini]; | ||||
| #endif | #endif | ||||
| #ifdef DISTRHO_PLUGIN_EXTRA_IO | |||||
| uint16_t fNumActiveInputs = DISTRHO_PLUGIN_NUM_INPUTS; | |||||
| uint16_t fNumActiveOutputs = DISTRHO_PLUGIN_NUM_OUTPUTS; | |||||
| #else | |||||
| static constexpr const uint16_t fNumActiveInputs = DISTRHO_PLUGIN_NUM_INPUTS; | |||||
| static constexpr const uint16_t fNumActiveOutputs = DISTRHO_PLUGIN_NUM_OUTPUTS; | |||||
| #endif | |||||
| public: | public: | ||||
| CardinalPlugin() | CardinalPlugin() | ||||
| : CardinalBasePlugin(kCardinalParameterCount, 0, kCardinalStateCount), | : CardinalBasePlugin(kCardinalParameterCount, 0, kCardinalStateCount), | ||||
| @@ -1135,7 +1143,10 @@ protected: | |||||
| #if DISTRHO_PLUGIN_NUM_INPUTS != 0 | #if DISTRHO_PLUGIN_NUM_INPUTS != 0 | ||||
| fAudioBufferCopy = new float*[DISTRHO_PLUGIN_NUM_INPUTS]; | fAudioBufferCopy = new float*[DISTRHO_PLUGIN_NUM_INPUTS]; | ||||
| for (int i=0; i<DISTRHO_PLUGIN_NUM_INPUTS; ++i) | for (int i=0; i<DISTRHO_PLUGIN_NUM_INPUTS; ++i) | ||||
| { | |||||
| fAudioBufferCopy[i] = new float[context->bufferSize]; | fAudioBufferCopy[i] = new float[context->bufferSize]; | ||||
| std::memset(fAudioBufferCopy[i], 0, sizeof(float) * context->bufferSize); | |||||
| } | |||||
| #endif | #endif | ||||
| fNextExpectedFrame = 0; | fNextExpectedFrame = 0; | ||||
| @@ -1226,7 +1237,7 @@ protected: | |||||
| else | else | ||||
| { | { | ||||
| #if DISTRHO_PLUGIN_NUM_INPUTS != 0 | #if DISTRHO_PLUGIN_NUM_INPUTS != 0 | ||||
| for (int i=0; i<DISTRHO_PLUGIN_NUM_INPUTS; ++i) | |||||
| for (int i=0; i<fNumActiveInputs; ++i) | |||||
| { | { | ||||
| #if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_MINI | #if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_MINI | ||||
| // can be null on main and mini variants | // can be null on main and mini variants | ||||
| @@ -1241,7 +1252,7 @@ protected: | |||||
| context->dataOuts = outputs; | context->dataOuts = outputs; | ||||
| } | } | ||||
| for (int i=0; i<DISTRHO_PLUGIN_NUM_OUTPUTS; ++i) | |||||
| for (int i=0; i<fNumActiveOutputs; ++i) | |||||
| { | { | ||||
| #if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_MINI | #if CARDINAL_VARIANT_MAIN || CARDINAL_VARIANT_MINI | ||||
| // can be null on main and mini variants | // can be null on main and mini variants | ||||
| @@ -1288,6 +1299,14 @@ protected: | |||||
| context->engine->setSampleRate(newSampleRate); | context->engine->setSampleRate(newSampleRate); | ||||
| } | } | ||||
| #ifdef DISTRHO_PLUGIN_EXTRA_IO | |||||
| void ioChanged(const uint16_t numInputs, const uint16_t numOutputs) override | |||||
| { | |||||
| fNumActiveInputs = numInputs; | |||||
| fNumActiveOutputs = numOutputs; | |||||
| } | |||||
| #endif | |||||
| // ------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------- | ||||
| private: | private: | ||||
| @@ -426,10 +426,6 @@ public: | |||||
| const double height = std::max(538.f, rack::settings::windowSize.y) * scaleFactor; | const double height = std::max(538.f, rack::settings::windowSize.y) * scaleFactor; | ||||
| setSize(width, height); | setSize(width, height); | ||||
| } | } | ||||
| else if (scaleFactor != 1.0) | |||||
| { | |||||
| setSize(DISTRHO_UI_DEFAULT_WIDTH * scaleFactor, DISTRHO_UI_DEFAULT_HEIGHT * scaleFactor); | |||||
| } | |||||
| #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS | #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS | ||||
| const DGL_NAMESPACE::Window::ScopedGraphicsContext sgc(window); | const DGL_NAMESPACE::Window::ScopedGraphicsContext sgc(window); | ||||
| @@ -932,7 +928,7 @@ protected: | |||||
| context->patch->loadAutosave(); | context->patch->loadAutosave(); | ||||
| } catch(const rack::Exception& e) { | } catch(const rack::Exception& e) { | ||||
| d_stderr(e.what()); | d_stderr(e.what()); | ||||
| } DISTRHO_SAFE_EXCEPTION_RETURN("setState loadAutosave",); | |||||
| } DISTRHO_SAFE_EXCEPTION_RETURN("stateChanged loadAutosave",); | |||||
| return; | return; | ||||
| } | } | ||||
| @@ -1180,7 +1176,7 @@ protected: | |||||
| const int height = static_cast<int>(ev.size.getHeight() / scaleFactor + 0.5); | const int height = static_cast<int>(ev.size.getHeight() / scaleFactor + 0.5); | ||||
| char sizeString[64] = {}; | char sizeString[64] = {}; | ||||
| std::snprintf(sizeString, sizeof(sizeString), "%d:%d", width, height); | |||||
| std::snprintf(sizeString, sizeof(sizeString) - 1, "%d:%d", width, height); | |||||
| setState("windowSize", sizeString); | setState("windowSize", sizeString); | ||||
| if (rack::isStandalone()) | if (rack::isStandalone()) | ||||
| @@ -142,6 +142,10 @@ native: $(TARGETS) | |||||
| mini: $(TARGETS) | mini: $(TARGETS) | ||||
| $(MAKE) jack -C CardinalMini | $(MAKE) jack -C CardinalMini | ||||
| au: $(TARGETS) | |||||
| $(MAKE) au -C CardinalFX $(CARDINAL_SYNTH_ARGS) | |||||
| $(MAKE) au -C CardinalSynth $(CARDINAL_SYNTH_ARGS) | |||||
| lv2: $(TARGETS) | lv2: $(TARGETS) | ||||
| $(MAKE) lv2 -C Cardinal | $(MAKE) lv2 -C Cardinal | ||||
| $(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS) | $(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS) | ||||
| @@ -412,7 +412,7 @@ BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"' | |||||
| # Enable all possible plugin types and setup resources | # Enable all possible plugin types and setup resources | ||||
| ifeq ($(CARDINAL_VARIANT),main) | ifeq ($(CARDINAL_VARIANT),main) | ||||
| TARGETS = jack lv2 vst3 clap | |||||
| TARGETS = clap jack lv2 vst3 | |||||
| else ifeq ($(DSP_UI_SPLIT),true) | else ifeq ($(DSP_UI_SPLIT),true) | ||||
| TARGETS = lv2_sep | TARGETS = lv2_sep | ||||
| else ifeq ($(CARDINAL_VARIANT),mini) | else ifeq ($(CARDINAL_VARIANT),mini) | ||||