BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 51f6190d6f9613124c582b4397d8a3a17bd31daf
parent 1b015abcbabc986201677cf1f128ca4bfcd75d57
Author: Matt Demanett <matt@demanett.net>
Date:   Mon, 18 Jan 2021 21:38:05 -0500

Test module with an OpenGL widget.

Diffstat:
Ares-pp/TestGl-dark-pp.svg | 156+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares-pp/TestGl-lowcontrast-pp.svg | 156+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares-pp/TestGl-pp.svg | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares-src/TestGl-src.svg | 6++++++
Ares/TestGl-dark.svg | 0
Ares/TestGl-lowcontrast.svg | 0
Ares/TestGl.svg | 0
Asrc/TestGl.cpp | 37+++++++++++++++++++++++++++++++++++++
Asrc/TestGl.hpp | 32++++++++++++++++++++++++++++++++
Msrc/bogaudio.cpp | 2++
10 files changed, 481 insertions(+), 0 deletions(-)

diff --git a/res-pp/TestGl-dark-pp.svg b/res-pp/TestGl-dark-pp.svg @@ -0,0 +1,156 @@ +<?xml version="1.0"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="300.0" height="380.0" viewBox="0 0 300.0 380.0"> + <style>text { + fill: #333; + font-family: 'Roboto', sans-serif; + font-weight: bold; +} +text.title { + font-family: 'Comfortaa', sans-serif; + font-weight: normal; +} +text.brand { + font-family: 'Audiowide', sans-serif; + font-weight: bold; +} + +polyline { + stroke: #333; +} +polyline.guide { + stroke: #0f0; +} +path { + stroke: #333; +} + +rect.module-background, .background-fill { + fill: #ddd; +} +polyline.module-border-inner { + stroke: #e4e4e4; +} +polyline.module-border-middle { + stroke: #ebebeb; +} +polyline.module-border-outer { + stroke: #f2f2f2; +} + +g.io-group { +} +rect.input-background, rect.input-background-filler { + fill: #fafafa; +} +rect.output-background, rect.output-background-filler { + fill: #bbb; +} +text.input-label, text.output-label { + /* font-size: 6pt; */ +} +polyline.input-label, polyline.output-label { +} +path.input-label, path.output-label { +} + +circle.port-rim { + stroke: #f0f0f0; +} +circle.port-barrel { + stroke: #222; + fill: #222; +} +circle.knob-center { + fill: #eee; +} +circle.knob-rim { + fill: #333; +} +circle.knob-tick { + fill: #fff; +} +polyline.knob-tick { + stroke: #fff; +} + + +text { + fill: #eee; +} + +polyline { + stroke: #ccc; +} +path { + stroke: #ccc; +} + +rect.module-background, .background-fill { + fill: #111; +} +polyline.module-border-inner { + stroke: #191919; +} +polyline.module-border-middle { + stroke: #111; +} +polyline.module-border-outer { + stroke: #000; +} + +rect.input-background, rect.input-background-filler { + fill: #aaa; +} +rect.output-background, rect.output-background-filler { + fill: #666; +} +text.input-label { + fill: #222; +} +polyline.input-label, path.input-label { + stroke: #222; +} +text.output-label { + fill: #ddd; +} +polyline.output-label, path.output-label { + stroke: #ddd; +} + +circle.port-rim { + stroke: #c0c0c0; +} +circle.port-barrel { + stroke: #222; + fill: #222; +} +circle.knob-center { + fill: #888; +} +circle.knob-rim { + fill: #444; +} +circle.knob-tick { + fill: #fff; +} +polyline.knob-tick { + stroke: #fff; +} +</style> + + + + <rect class="module-background background-fill" width="300.0" height="380.0"/> + + + <polyline class="module-border-inner" points="1,1 299.0,1 299.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/> + <polyline class="module-border-middle" points="0.5,0.5 299.5,0.5 299.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/> + <polyline class="module-border-outer" points="0,0 300.0,0 300.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/> + + <text class="title" font-size="12pt" letter-spacing="4px" text-anchor="middle" transform="translate(150.0 19)">TESTGL</text> + <g transform="translate(0 374)"> + <text class="brand" font-size="8pt" letter-spacing="2px" text-anchor="middle" transform="translate(150.0 0)">BOGAUDIO</text> + <rect class="background-fill" width="3" height="3" transform="translate(134.5 -5)"/> + </g> + +</svg> diff --git a/res-pp/TestGl-lowcontrast-pp.svg b/res-pp/TestGl-lowcontrast-pp.svg @@ -0,0 +1,156 @@ +<?xml version="1.0"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="300.0" height="380.0" viewBox="0 0 300.0 380.0"> + <style>text { + fill: #333; + font-family: 'Roboto', sans-serif; + font-weight: bold; +} +text.title { + font-family: 'Comfortaa', sans-serif; + font-weight: normal; +} +text.brand { + font-family: 'Audiowide', sans-serif; + font-weight: bold; +} + +polyline { + stroke: #333; +} +polyline.guide { + stroke: #0f0; +} +path { + stroke: #333; +} + +rect.module-background, .background-fill { + fill: #ddd; +} +polyline.module-border-inner { + stroke: #e4e4e4; +} +polyline.module-border-middle { + stroke: #ebebeb; +} +polyline.module-border-outer { + stroke: #f2f2f2; +} + +g.io-group { +} +rect.input-background, rect.input-background-filler { + fill: #fafafa; +} +rect.output-background, rect.output-background-filler { + fill: #bbb; +} +text.input-label, text.output-label { + /* font-size: 6pt; */ +} +polyline.input-label, polyline.output-label { +} +path.input-label, path.output-label { +} + +circle.port-rim { + stroke: #f0f0f0; +} +circle.port-barrel { + stroke: #222; + fill: #222; +} +circle.knob-center { + fill: #eee; +} +circle.knob-rim { + fill: #333; +} +circle.knob-tick { + fill: #fff; +} +polyline.knob-tick { + stroke: #fff; +} + + +text { + fill: #b3b3b3; +} + +polyline { + stroke: #b3b3b3; +} +path { + stroke: #b3b3b3; +} + +rect.module-background, .background-fill { + fill: #333; +} +polyline.module-border-inner { + stroke: #191919; +} +polyline.module-border-middle { + stroke: #111; +} +polyline.module-border-outer { + stroke: #000; +} + +rect.input-background, rect.input-background-filler { + fill: #b3b3b3; +} +rect.output-background, rect.output-background-filler { + fill: #888; +} +text.input-label { + fill: #666; +} +polyline.input-label, path.input-label { + stroke: #666; +} +text.output-label { + fill: #ccc; +} +polyline.output-label, path.output-label { + stroke: #ccc; +} + +circle.port-rim { + stroke: #bbb; +} +circle.port-barrel { + stroke: #222; + fill: #222; +} +circle.knob-center { + fill: #bbb; +} +circle.knob-rim { + fill: #555; +} +circle.knob-tick { + fill: #fff; +} +polyline.knob-tick { + stroke: #fff; +} +</style> + + + + <rect class="module-background background-fill" width="300.0" height="380.0"/> + + + <polyline class="module-border-inner" points="1,1 299.0,1 299.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/> + <polyline class="module-border-middle" points="0.5,0.5 299.5,0.5 299.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/> + <polyline class="module-border-outer" points="0,0 300.0,0 300.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/> + + <text class="title" font-size="12pt" letter-spacing="4px" text-anchor="middle" transform="translate(150.0 19)">TESTGL</text> + <g transform="translate(0 374)"> + <text class="brand" font-size="8pt" letter-spacing="2px" text-anchor="middle" transform="translate(150.0 0)">BOGAUDIO</text> + <rect class="background-fill" width="3" height="3" transform="translate(134.5 -5)"/> + </g> + +</svg> diff --git a/res-pp/TestGl-pp.svg b/res-pp/TestGl-pp.svg @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="300.0" height="380.0" viewBox="0 0 300.0 380.0"> + <style>text { + fill: #333; + font-family: 'Roboto', sans-serif; + font-weight: bold; +} +text.title { + font-family: 'Comfortaa', sans-serif; + font-weight: normal; +} +text.brand { + font-family: 'Audiowide', sans-serif; + font-weight: bold; +} + +polyline { + stroke: #333; +} +polyline.guide { + stroke: #0f0; +} +path { + stroke: #333; +} + +rect.module-background, .background-fill { + fill: #ddd; +} +polyline.module-border-inner { + stroke: #e4e4e4; +} +polyline.module-border-middle { + stroke: #ebebeb; +} +polyline.module-border-outer { + stroke: #f2f2f2; +} + +g.io-group { +} +rect.input-background, rect.input-background-filler { + fill: #fafafa; +} +rect.output-background, rect.output-background-filler { + fill: #bbb; +} +text.input-label, text.output-label { + /* font-size: 6pt; */ +} +polyline.input-label, polyline.output-label { +} +path.input-label, path.output-label { +} + +circle.port-rim { + stroke: #f0f0f0; +} +circle.port-barrel { + stroke: #222; + fill: #222; +} +circle.knob-center { + fill: #eee; +} +circle.knob-rim { + fill: #333; +} +circle.knob-tick { + fill: #fff; +} +polyline.knob-tick { + stroke: #fff; +} +</style> + + + + <rect class="module-background background-fill" width="300.0" height="380.0"/> + + + <polyline class="module-border-inner" points="1,1 299.0,1 299.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/> + <polyline class="module-border-middle" points="0.5,0.5 299.5,0.5 299.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/> + <polyline class="module-border-outer" points="0,0 300.0,0 300.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/> + + <text class="title" font-size="12pt" letter-spacing="4px" text-anchor="middle" transform="translate(150.0 19)">TESTGL</text> + <g transform="translate(0 374)"> + <text class="brand" font-size="8pt" letter-spacing="2px" text-anchor="middle" transform="translate(150.0 0)">BOGAUDIO</text> + <rect class="background-fill" width="3" height="3" transform="translate(134.5 -5)"/> + </g> + +</svg> diff --git a/res-src/TestGl-src.svg b/res-src/TestGl-src.svg @@ -0,0 +1,5 @@ +<module hp="20"> + <style/> + + <def xlink:href="#module" var-name="TESTGL"/> +</module> +\ No newline at end of file diff --git a/res/TestGl-dark.svg b/res/TestGl-dark.svg Binary files differ. diff --git a/res/TestGl-lowcontrast.svg b/res/TestGl-lowcontrast.svg Binary files differ. diff --git a/res/TestGl.svg b/res/TestGl.svg Binary files differ. diff --git a/src/TestGl.cpp b/src/TestGl.cpp @@ -0,0 +1,37 @@ + +#include "TestGl.hpp" + +void TestGl::reset() { +} + +void TestGl::sampleRateChange() { + // float sampleRate = APP->engine->getSampleRate(); +} + +void TestGl::processChannel(const ProcessArgs& args, int c) { +} + +struct TestGlDisplay : OpenGlWidget { +}; + +struct TestGlWidget : BGModuleWidget { + static constexpr int hp = 20; + + TestGlWidget(TestGl* module) { + setModule(module); + box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT); + setPanel(box.size, "TestGl"); + createScrews(); + + { + auto inset = Vec(10, 25); + auto size = Vec(box.size.x - 2*inset.x, 230); + auto display = new TestGlDisplay(); + display->box.pos = inset; + display->box.size = size; + addChild(display); + } + } +}; + +Model* modelTestGl = createModel<TestGl, TestGlWidget>("Bogaudio-TestGl", "TESTGL", ""); diff --git a/src/TestGl.hpp b/src/TestGl.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "bogaudio.hpp" + +extern Model* modelTestGl; + +namespace bogaudio { + +struct TestGl : BGModule { + enum ParamsIds { + NUM_PARAMS + }; + + enum InputsIds { + NUM_INPUTS + }; + + enum OutputsIds { + NUM_OUTPUTS + }; + + TestGl() { + config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); + + } + + void reset() override; + void sampleRateChange() override; + void processChannel(const ProcessArgs& args, int c) override; +}; + +} // namespace bogaudio diff --git a/src/bogaudio.cpp b/src/bogaudio.cpp @@ -118,6 +118,7 @@ #include "Test.hpp" #include "Test2.hpp" #include "TestExpander.hpp" +#include "TestGl.hpp" #include "TestVCF.hpp" //NEW_INCLUDES_HERE @@ -261,6 +262,7 @@ void init(rack::Plugin *p) { p->addModel(modelTest2); p->addModel(modelTestExpanderBase); p->addModel(modelTestExpanderExtension); + p->addModel(modelTestGl); p->addModel(modelTestVCF); #endif