computerscare-vcv-modules

computerscare modules for VCV Rack
Log | Files | Refs

commit 18e3d710b5a82ca205dabaf218ae295dfc0e3800
parent dc8b422eaf99b6932c27915c47c8b6dbfd1db07d
Author: Adam M <aemalone@gmail.com>
Date:   Sun, 31 Jan 2021 12:07:51 -0600

exponential knob ranges for speed and slideshow time

Diffstat:
Msrc/ComputerscareBlank.cpp | 9+++++----
Msrc/MenuParams.hpp | 2+-
2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/ComputerscareBlank.cpp b/src/ComputerscareBlank.cpp @@ -153,7 +153,7 @@ struct ComputerscareBlank : ComputerscareMenuParamModule { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); - configMenuParam(ANIMATION_SPEED, 0.05f, 20.f, 1.f, "Animation Speed", 2, "x"); + configMenuParam(ANIMATION_SPEED, -1.f, 1.f, 0.f, "Animation Speed", 2, "x", 20.f); configParam(ANIMATION_ENABLED, 0.f, 1.f, 1.f, "Animation Enabled"); configParam(CONSTANT_FRAME_DELAY, 0.f, 1.f, 0.f, "Constant Frame Delay"); configMenuParam(ANIMATION_MODE, 0.f, "Animation Mode", animationModeDescriptions); @@ -161,7 +161,7 @@ struct ComputerscareBlank : ComputerscareMenuParamModule { configMenuParam(SHUFFLE_SEED, 0.f, 1.f, 0.5f, "Shuffle Seed", 2); configParam(SLIDESHOW_ACTIVE, 0.f, 1.f, 0.f, "Slideshow Active"); - configMenuParam(SLIDESHOW_TIME, 0.f, 1.f, 0.f, "Slideshow Time", 2, " Computerscare Time Units", 2, 1, 0); + configMenuParam(SLIDESHOW_TIME, 0.f, 1.f, 0.f, "Slideshow Time", 2, " s", 1000.f); paths.push_back("empty"); @@ -186,7 +186,8 @@ struct ComputerscareBlank : ComputerscareMenuParamModule { } if (params[SLIDESHOW_ACTIVE].getValue()) { - float dTime = exp(5 * params[SLIDESHOW_TIME].getValue()); + //float dTime = exp(5 * params[SLIDESHOW_TIME].getValue()); + float dTime = std::pow(1000.f , params[SLIDESHOW_TIME].getValue()); if (slideshowTimer.process(args.sampleTime) > dTime) { checkAndPerformEndAction(true); slideshowTimer.reset(); @@ -436,7 +437,7 @@ struct ComputerscareBlank : ComputerscareMenuParamModule { } } void setFrameDelay(float frameDelaySeconds) { - float speedKnob = abs(params[ANIMATION_SPEED].getValue()); + float speedKnob = std::pow(20.f, params[ANIMATION_SPEED].getValue()); float appliedSpeedDivisor = 1; float base = frameDelaySeconds; diff --git a/src/MenuParams.hpp b/src/MenuParams.hpp @@ -123,7 +123,7 @@ struct ComputerscareMenuParamModule : Module { ParamQuantity* pq; void configMenuParam(int paramId, float minValue, float maxValue, float defaultValue, std::string label = "", int controlType = 2, std::string unit = "", float displayBase = 0.f, float displayMultiplier = 1.f, float displayOffset = 0.f) { - configParam(paramId, minValue, maxValue, defaultValue, label, unit, displayBase, displayMultiplier); + configParam(paramId, minValue, maxValue, defaultValue, label, unit, displayBase, displayMultiplier, displayOffset); pq = paramQuantities[paramId]; ParamAndType* pt = new ParamAndType(pq, controlType); paramList.push_back(pt);