NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler
Log | Files | Refs | Submodules | README | LICENSE

commit 279d04a25b83530f552eaa838ca68ebe6229491d
parent 93ca8f9e9527732b877b53d3b6817bc3df5bf0c8
Author: Oli Larkin <olilarkin@googlemail.com>
Date:   Sun, 25 Jun 2023 21:09:42 +0200

Tidy up the layout code, naming "Areas" etc

Diffstat:
MNeuralAmpModeler/NeuralAmpModeler.cpp | 44++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/NeuralAmpModeler/NeuralAmpModeler.cpp b/NeuralAmpModeler/NeuralAmpModeler.cpp @@ -86,7 +86,7 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) pGraphics->AttachCornerResizer(EUIResizerMode::Scale, false); pGraphics->AttachTextEntryControl(); pGraphics->EnableMouseOver(true); - pGraphics->EnableTooltips(true); + pGraphics->EnableTooltips(true); pGraphics->LoadFont("Roboto-Regular", ROBOTO_FN); pGraphics->LoadFont("Michroma-Regular", MICHROMA_FN); @@ -113,17 +113,15 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) const auto titleHeight = 50.0f; const auto titleArea = contentArea.GetFromTop(titleHeight); - // Area for the Noise gate knob - const auto allKnobsPad = 20.0f; - // Areas for knobs + const auto knobsPad = 20.0f; const auto knobsExtraSpaceBelowTitle = 25.0f; const auto knobHeight = 120.f; const auto singleKnobPad = -2.0f; const auto knobsArea = contentArea.GetFromTop(knobHeight) - .GetReducedFromLeft(allKnobsPad) - .GetReducedFromRight(allKnobsPad) - .GetTranslated(0.0f, titleHeight + knobsExtraSpaceBelowTitle); + .GetReducedFromLeft(knobsPad) + .GetReducedFromRight(knobsPad) + .GetVShifted(titleHeight + knobsExtraSpaceBelowTitle); const auto inputKnobArea = knobsArea.GetGridCell(0, kInputLevel, 1, numKnobs).GetPadded(-singleKnobPad); const auto noiseGateArea = knobsArea.GetGridCell(0, kNoiseGateThreshold, 1, numKnobs).GetPadded(-singleKnobPad); const auto bassKnobArea = knobsArea.GetGridCell(0, kToneBass, 1, numKnobs).GetPadded(-singleKnobPad); @@ -142,12 +140,17 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) const auto modelArea = contentArea.GetFromBottom((2.0f * fileHeight)) .GetFromTop(fileHeight) .GetMidHPadded(fileWidth) - .GetTranslated(0.0f, -1); - const auto irArea = modelArea.GetTranslated(0.0f, irYOffset); - + .GetVShifted(-1); + const auto modelIconArea = modelArea.GetFromLeft(30).GetTranslated(-40, 10); + const auto irArea = modelArea.GetVShifted(irYOffset); + const auto irSwitchArea = irArea.GetFromLeft(30).GetHShifted(-40).GetScaledAboutCentre(0.6); + // Areas for meters const auto inputMeterArea = contentArea.GetFromLeft(30).GetHShifted(-20).GetMidVPadded(100).GetVShifted(-25); const auto outputMeterArea = contentArea.GetFromRight(30).GetHShifted(20).GetMidVPadded(100).GetVShifted(-25); + + // Misc Areas + const auto helpButtonArea = mainArea.GetFromTRHC(50, 50).GetCentredInside(20, 20); // Model loader button auto loadModelCompletionHandler = [&](const WDL_String& fileName, const WDL_String& path) { @@ -191,7 +194,7 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) pGraphics->AttachBackground(BACKGROUND_FN); pGraphics->AttachControl(new IBitmapControl(b, linesBitmap)); pGraphics->AttachControl(new IVLabelControl(titleArea, "NEURAL AMP MODELER", titleStyle)); - pGraphics->AttachControl(new ISVGControl(modelArea.GetFromLeft(30).GetTranslated(-40, 10), modelIconSVG)); + pGraphics->AttachControl(new ISVGControl(modelIconArea, modelIconSVG)); #ifdef NAM_PICK_DIRECTORY const std::string defaultNamFileString = "Select model directory..."; @@ -204,11 +207,11 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) "nam", loadModelCompletionHandler, style, fileSVG, crossSVG, leftArrowSVG, rightArrowSVG, fileBackgroundBitmap), kCtrlTagModelFileBrowser); - pGraphics->AttachControl(new ISVGSwitchControl(irArea.GetFromLeft(30).GetTranslated(-40, 0).GetScaledAboutCentre(0.6), { irIconOffSVG, irIconOnSVG}, kIRToggle)); - pGraphics->AttachControl( - new NAMFileBrowserControl(irArea, kMsgTagClearModel, defaultIRString.c_str(), "wav", loadIRCompletionHandler, - style, fileSVG, crossSVG, leftArrowSVG, rightArrowSVG, fileBackgroundBitmap), - kCtrlTagIRFileBrowser); + pGraphics->AttachControl(new ISVGSwitchControl(irSwitchArea, { irIconOffSVG, irIconOnSVG}, kIRToggle)); + pGraphics->AttachControl(new NAMFileBrowserControl(irArea, kMsgTagClearModel, defaultIRString.c_str(), "wav", + loadIRCompletionHandler, style, + fileSVG, crossSVG, leftArrowSVG, rightArrowSVG, fileBackgroundBitmap), + kCtrlTagIRFileBrowser); pGraphics->AttachControl(new NAMSwitchControl(ngToggleArea, kNoiseGateActive, " ", style, switchHandleBitmap)); pGraphics->AttachControl(new NAMSwitchControl(eqToggleArea, kEQActive, "EQ", style, switchHandleBitmap)); pGraphics->AttachControl(new NAMSwitchControl(outNormToggleArea, kOutNorm, "Normalize", style, switchHandleBitmap), kCtrlTagOutNorm); @@ -218,18 +221,15 @@ NeuralAmpModeler::NeuralAmpModeler(const InstanceInfo& info) pGraphics->AttachControl(new NAMKnobControl(noiseGateArea, kNoiseGateThreshold, "", style, knobBackgroundBitmap)); pGraphics->AttachControl(new NAMKnobControl(bassKnobArea, kToneBass, "", style, knobBackgroundBitmap), -1, "EQ_KNOBS"); pGraphics->AttachControl(new NAMKnobControl(midKnobArea, kToneMid, "", style, knobBackgroundBitmap), -1, "EQ_KNOBS"); - pGraphics->AttachControl( - new NAMKnobControl(trebleKnobArea, kToneTreble, "", style, knobBackgroundBitmap), -1, "EQ_KNOBS"); + pGraphics->AttachControl(new NAMKnobControl(trebleKnobArea, kToneTreble, "", style, knobBackgroundBitmap), -1, "EQ_KNOBS"); pGraphics->AttachControl(new NAMKnobControl(outputKnobArea, kOutputLevel, "", style, knobBackgroundBitmap)); // The meters pGraphics->AttachControl(new NAMMeterControl(inputMeterArea, meterBackgroundBitmap, style), kCtrlTagInputMeter); pGraphics->AttachControl(new NAMMeterControl(outputMeterArea, meterBackgroundBitmap, style), kCtrlTagOutputMeter); - - // Help/about box - pGraphics->AttachControl(new NAMCircleButtonControl( - mainArea.GetFromTRHC(50, 50).GetCentredInside(20, 20), + // Help/about box + pGraphics->AttachControl(new NAMCircleButtonControl(helpButtonArea, [pGraphics](IControl* pCaller) { pGraphics->GetControlWithTag(kCtrlTagAboutBox)->As<NAMAboutBoxControl>()->HideAnimated(false); },