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 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)

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_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

View file

@ -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:

View file

@ -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())

View file

@ -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)

View file

@ -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)