diff --git a/plugins/Cardinal/src/HostAudio.cpp b/plugins/Cardinal/src/HostAudio.cpp index 802bc7d..8cdd8e6 100644 --- a/plugins/Cardinal/src/HostAudio.cpp +++ b/plugins/Cardinal/src/HostAudio.cpp @@ -31,14 +31,14 @@ struct HostAudio : Module { int64_t lastBlockFrame = -1; // for rack core audio module compatibility - dsp::RCFilter dcFilters[numIO]; + dsp::RCFilter dcFilters[numIO]; bool dcFilterEnabled = (numIO == 2); HostAudio() : pcontext(static_cast(APP)), numParams(numIO == 2 ? 1 : 0), - numInputs(pcontext->variant == kCardinalVariantSynth ? 0 : std::max(pcontext->variant != kCardinalVariantMain ? 2 : 8, numIO)), - numOutputs(std::max(pcontext->variant != kCardinalVariantMain ? 2 : 8, numIO)) + numInputs(pcontext->variant == kCardinalVariantSynth ? 0 : pcontext->variant == kCardinalVariantMain ? numIO : 2), + numOutputs(pcontext->variant == kCardinalVariantMain ? numIO : 2) { if (pcontext == nullptr) throw rack::Exception("Plugin context is null"); @@ -49,9 +49,8 @@ struct HostAudio : Module { configParam(0, 0.f, 2.f, 1.f, "Level", " dB", -10, 40); const float sampleTime = pcontext->engine->getSampleTime(); - for (int i = 0; i < numIO; i++) { + for (int i=0; i(Vec(startX_Out, startY + padding * i), m, i)); + + if (numIO == 2) + { + addParam(createParamCentered(Vec(middleX, 290.0f), m, 0)); + } } - void drawTextLine(NVGcontext* const vg, const uint offset, const char* const text) + void drawTextLine(NVGcontext* const vg, const float offsetX, const uint posY, const char* const text) { - const float y = startY + offset * padding; + const float y = startY + posY * padding; nvgBeginPath(vg); nvgFillColor(vg, color::WHITE); - nvgText(vg, middleX, y + 16, text, nullptr); + nvgText(vg, middleX + offsetX, y + 16, text, nullptr); } void draw(const DrawArgs& args) override @@ -174,10 +181,18 @@ struct HostAudioWidget : ModuleWidget { nvgFillColor(args.vg, nvgRGB(0xd0, 0xd0, 0xd0)); nvgFill(args.vg); - for (int i=0; i('0'+i+1),'\0'}; - drawTextLine(args.vg, i, text); + drawTextLine(args.vg, 3.0f, 0, "Left/Mono"); + drawTextLine(args.vg, 0.0f, 1, "Right"); + } + else + { + for (int i=0; i('0'+i+1),'\0'}; + drawTextLine(args.vg, 0.0f, i, text); + } } ModuleWidget::draw(args); diff --git a/plugins/Core.json b/plugins/Core.json index c7a7646..0b37f11 100644 --- a/plugins/Core.json +++ b/plugins/Core.json @@ -19,7 +19,8 @@ "manualUrl": "https://vcvrack.com/manual/Core#Audio", "tags": [ "External" - ] + ], + "hidden": true }, { "slug": "AudioInterface", @@ -28,7 +29,8 @@ "manualUrl": "https://vcvrack.com/manual/Core#Audio", "tags": [ "External" - ] + ], + "hidden": true }, { "slug": "AudioInterface16",