BogaudioModules

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

commit ca727e87a55a9f2101e6d0d2bdb61850a3c677db
parent d543b3a3fc5b4927fd9e62f66e644a168754dc83
Author: Matt Demanett <matt@demanett.net>
Date:   Thu, 22 Nov 2018 01:03:47 -0500

Change blanks easter egg.

Diffstat:
Msrc/Blank3.cpp | 32++++++++++++++------------------
Msrc/Blank6.cpp | 36++++++++++++++++--------------------
2 files changed, 30 insertions(+), 38 deletions(-)

diff --git a/src/Blank3.cpp b/src/Blank3.cpp @@ -8,16 +8,15 @@ void Blank3::onSampleRateChange() { void Blank3::step() { if (inputs[IN_INPUT].active) { _level = _rms.next(inputs[IN_INPUT].value) / 5.0f; - _level *= 1.43f; - _level = clamp(_level, 0.0f, 1.0f); } else { - _level = 1.0f; + _level = -1.0f; } } struct Blank3Display : OpaqueWidget { const NVGcolor textColor = nvgRGBA(0x33, 0x33, 0x33, 0xff); + const NVGcolor bgTextColor = nvgRGBA(0xaa, 0xaa, 0xaa, 0xff); const NVGcolor bgColor = nvgRGBA(0xdd, 0xdd, 0xdd, 0xff); Blank3* _module; const char* _text; @@ -31,35 +30,32 @@ struct Blank3Display : OpaqueWidget { } void draw(NVGcontext* vg) override { - if (_module->_level < 0.001f) { - return; - } - float offsetX = box.size.x / 2.0f; float offsetY = box.size.y / 2.0f; nvgSave(vg); nvgTranslate(vg, offsetX, offsetY); - if (_module->_level < 1.0f) { - const float discretize = 100.0f; - float level = roundf(_module->_level * discretize) * (1.0f / discretize); - nvgScale(vg, level, level); - } - - nvgSave(vg); nvgRotate(vg, M_PI/2.0f); nvgTranslate(vg, -offsetY, offsetX); nvgFontSize(vg, 54.0f); nvgFontFaceId(vg, _font->handle); nvgTextLetterSpacing(vg, 9.0f); - nvgFillColor(vg, textColor); - nvgText(vg, 0, 0, _text, NULL); + if (_module->_level < 0.0f) { + nvgFillColor(vg, textColor); + nvgText(vg, 0, 0, _text, NULL); + } + else { + nvgFillColor(vg, bgTextColor); + nvgText(vg, 0, 0, _text, NULL); + if (_module->_level > 0.0001f) { + nvgFillColor(vg, decibelsToColor(amplitudeToDecibels(_module->_level))); + nvgText(vg, 0, 0, _text, NULL); + } + } nvgBeginPath(vg); nvgRect(vg, 55, -20, 10, 10); nvgFillColor(vg, bgColor); nvgFill(vg); nvgRestore(vg); - - nvgRestore(vg); } }; diff --git a/src/Blank6.cpp b/src/Blank6.cpp @@ -8,16 +8,15 @@ void Blank6::onSampleRateChange() { void Blank6::step() { if (inputs[IN_INPUT].active) { _level = _rms.next(inputs[IN_INPUT].value) / 5.0f; - _level *= 1.43f; - _level = clamp(_level, 0.0f, 1.0f); } else { - _level = 1.0f; + _level = -1.0f; } } struct Blank6Display : OpaqueWidget { const NVGcolor textColor = nvgRGBA(0x33, 0x33, 0x33, 0xff); + const NVGcolor bgTextColor = nvgRGBA(0xaa, 0xaa, 0xaa, 0xff); const NVGcolor bgColor = nvgRGBA(0xdd, 0xdd, 0xdd, 0xff); Blank6* _module; const char* _text; @@ -31,35 +30,32 @@ struct Blank6Display : OpaqueWidget { } void draw(NVGcontext* vg) override { - if (_module->_level < 0.001f) { - return; - } - float offsetX = box.size.x / 2.0f; float offsetY = box.size.y / 2.0f; nvgSave(vg); nvgTranslate(vg, offsetX, offsetY); - if (_module->_level < 1.0f) { - const float discretize = 100.0f; - float level = roundf(_module->_level * discretize) * (1.0f / discretize); - nvgScale(vg, level, level); - } - - nvgSave(vg); nvgRotate(vg, M_PI/2.0f); nvgTranslate(vg, -offsetY, offsetX); - nvgFontSize(vg, 54.0f); + nvgFontSize(vg, 52.0f); nvgFontFaceId(vg, _font->handle); nvgTextLetterSpacing(vg, 9.0f); - nvgFillColor(vg, textColor); - nvgText(vg, 0, 0, _text, NULL); + if (_module->_level < 0.0f) { + nvgFillColor(vg, textColor); + nvgText(vg, 0, 0, _text, NULL); + } + else { + nvgFillColor(vg, bgTextColor); + nvgText(vg, 0, 0, _text, NULL); + if (_module->_level > 0.0001f) { + nvgFillColor(vg, decibelsToColor(amplitudeToDecibels(_module->_level))); + nvgText(vg, 0, 0, _text, NULL); + } + } nvgBeginPath(vg); - nvgRect(vg, 99, -20, 10, 10); + nvgRect(vg, 97, -20, 10, 10); nvgFillColor(vg, bgColor); nvgFill(vg); nvgRestore(vg); - - nvgRestore(vg); } };