#include "rack.hpp" #pragma once using namespace rack; RACK_PLUGIN_DECLARE(LabSeven); #ifdef USE_VST2 #define plugin "LabSeven" #endif // USE_VST2 namespace rack_plugin_LabSeven { //GUI elements struct LabSeven_Port : SVGPort { LabSeven_Port() { setSVG(SVG::load(assetPlugin(plugin,"res/LabSeven_Port.svg"))); } }; struct LabSeven_3340_FaderLarge : SVGFader { LabSeven_3340_FaderLarge() { Vec margin = Vec(4, 4); maxHandlePos = Vec(0, -20).plus(margin); minHandlePos = Vec(0, 40).plus(margin); background->svg = SVG::load(assetPlugin(plugin,"res/LabSeven_3340_SlidePot.svg")); background->wrap(); background->box.pos = margin; box.size = background->box.size.plus(margin.mult(2)); } }; struct LabSeven_3340_FaderRedLargeRed : LabSeven_3340_FaderLarge { LabSeven_3340_FaderRedLargeRed() { handle->svg = SVG::load(assetPlugin(plugin,"res/LabSeven_3340_SlidePotHandleRed.svg")); handle->wrap(); } }; struct LabSeven_3340_FaderRedLargeGreen : LabSeven_3340_FaderLarge { LabSeven_3340_FaderRedLargeGreen() { handle->svg = SVG::load(assetPlugin(plugin,"res/LabSeven_3340_SlidePotHandleGreen.svg")); handle->wrap(); } }; struct LabSeven_3340_FaderRedLargeYellow3Stage : SVGFader { LabSeven_3340_FaderRedLargeYellow3Stage() { Vec margin = Vec(4, 4); maxHandlePos = Vec(0, -20).plus(margin); minHandlePos = Vec(0, -5).plus(margin); background->svg = SVG::load(assetPlugin(plugin,"res/LabSeven_3340_SlidePot3Stage.svg")); background->wrap(); background->box.pos = margin; box.size = background->box.size.plus(margin.mult(2)); handle->svg = SVG::load(assetPlugin(plugin,"res/LabSeven_3340_SlidePotHandleYellow.svg")); handle->wrap(); snap=true; } }; struct LabSeven_3340_KnobLarge : SVGKnob { LabSeven_3340_KnobLarge() { box.size = Vec(36, 36); minAngle = -0.3*M_PI; maxAngle = 0.3*M_PI; setSVG(SVG::load(assetPlugin(plugin, "res/LabSeven_3340_KnobLarge.svg"))); snap=true; } }; struct LabSeven_3340_KnobLargeRange : LabSeven_3340_KnobLarge { LabSeven_3340_KnobLargeRange() { minAngle = -0.25*M_PI; maxAngle = 0.27*M_PI; } }; /* struct LabSeven_KnobLargeBlue : SVGKnob { LabSeven_KnobLargeBlue() { box.size = Vec(50, 50); minAngle = -0.75*M_PI; maxAngle = 0.75*M_PI; setSVG(SVG::load(assetPlugin(plugin, "res/LabSeven_KnobLargeBlue.svg"))); } }; */ } // namespace rack_plugin_LabSeven