Fix showing AU GUI, leave details for a later main variant

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2024-05-23 19:37:56 +02:00
parent f43fd83580
commit b1bedc8956
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
7 changed files with 33 additions and 10 deletions

View file

@ -220,6 +220,9 @@ native: carla deps dgl plugins resources
mini: carla deps dgl mini-plugins mini-resources
$(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
$(MAKE) clap -C src $(CARLA_EXTRA_ARGS)

2
dpf

@ -1 +1 @@
Subproject commit 8ac24f80446a0f3d48365e96a31f12fd201fd3ff
Subproject commit 32ba6c1cb418e6a1d6d97c979e76c8ecab46fbc7

View file

@ -36,6 +36,7 @@
#define DISTRHO_PLUGIN_AU_TYPE aumf
#define DISTRHO_PLUGIN_BRAND_ID Dstr
#define DISTRHO_PLUGIN_UNIQUE_ID DcnM
#define DISTRHO_PLUGIN_EXTRA_IO { CARDINAL_NUM_AUDIO_INPUTS, CARDINAL_NUM_AUDIO_OUTPUTS }, { 2, 2 }
#ifdef HEADLESS
#define DISTRHO_PLUGIN_HAS_UI 0

View file

@ -196,6 +196,14 @@ class CardinalPlugin : public CardinalBasePlugin
float fMiniReportValues[kCardinalParameterCountAtMini - kCardinalParameterStartMini];
#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:
CardinalPlugin()
: CardinalBasePlugin(kCardinalParameterCount, 0, kCardinalStateCount),
@ -1135,7 +1143,10 @@ protected:
#if DISTRHO_PLUGIN_NUM_INPUTS != 0
fAudioBufferCopy = new float*[DISTRHO_PLUGIN_NUM_INPUTS];
for (int i=0; i<DISTRHO_PLUGIN_NUM_INPUTS; ++i)
{
fAudioBufferCopy[i] = new float[context->bufferSize];
std::memset(fAudioBufferCopy[i], 0, sizeof(float) * context->bufferSize);
}
#endif
fNextExpectedFrame = 0;
@ -1226,7 +1237,7 @@ protected:
else
{
#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
// can be null on main and mini variants
@ -1241,7 +1252,7 @@ protected:
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
// can be null on main and mini variants
@ -1288,6 +1299,14 @@ protected:
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:

View file

@ -426,10 +426,6 @@ public:
const double height = std::max(538.f, rack::settings::windowSize.y) * scaleFactor;
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
const DGL_NAMESPACE::Window::ScopedGraphicsContext sgc(window);
@ -932,7 +928,7 @@ protected:
context->patch->loadAutosave();
} catch(const rack::Exception& e) {
d_stderr(e.what());
} DISTRHO_SAFE_EXCEPTION_RETURN("setState loadAutosave",);
} DISTRHO_SAFE_EXCEPTION_RETURN("stateChanged loadAutosave",);
return;
}
@ -1180,7 +1176,7 @@ protected:
const int height = static_cast<int>(ev.size.getHeight() / scaleFactor + 0.5);
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);
if (rack::isStandalone())

View file

@ -142,6 +142,10 @@ native: $(TARGETS)
mini: $(TARGETS)
$(MAKE) jack -C CardinalMini
au: $(TARGETS)
$(MAKE) au -C CardinalFX $(CARDINAL_SYNTH_ARGS)
$(MAKE) au -C CardinalSynth $(CARDINAL_SYNTH_ARGS)
lv2: $(TARGETS)
$(MAKE) lv2 -C Cardinal
$(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS)

View file

@ -412,7 +412,7 @@ BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
# Enable all possible plugin types and setup resources
ifeq ($(CARDINAL_VARIANT),main)
TARGETS = jack lv2 vst3 clap
TARGETS = clap jack lv2 vst3
else ifeq ($(DSP_UI_SPLIT),true)
TARGETS = lv2_sep
else ifeq ($(CARDINAL_VARIANT),mini)