#include "IPlugEffect.h" #include "IPlug_include_in_plug_src.h" #include "IControls.h" IPlugEffect::IPlugEffect(const InstanceInfo& info) : Plugin(info, MakeConfig(kNumParams, kNumPresets)) { GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%"); #if IPLUG_EDITOR // http://bit.ly/2S64BDd mMakeGraphicsFunc = [&]() { return MakeGraphics(*this, PLUG_WIDTH, PLUG_HEIGHT, PLUG_FPS, GetScaleForScreen(PLUG_WIDTH, PLUG_HEIGHT)); }; mLayoutFunc = [&](IGraphics* pGraphics) { pGraphics->SetLayoutOnResize(true); pGraphics->AttachPanelBackground(COLOR_GRAY); pGraphics->LoadFont("Roboto-Regular", ROBOTO_FN); const IRECT b = pGraphics->GetBounds(); float currentScaleSelection = pGraphics->GetDrawScale() - 0.5f; pGraphics->AttachControl(new IVRadioButtonControl(b.GetCentredInside(100), [pGraphics](IControl* pCaller) { int idx = pCaller->As()->GetSelectedIdx(); float newScale = 0.5f + float(idx) * 0.5f; pGraphics->Resize(PLUG_WIDTH, PLUG_HEIGHT, newScale); }, {"Small", "Medium", "Big"} ))->SetValue(currentScaleSelection); }; #endif }