aboutsummaryrefslogtreecommitdiffstats
path: root/src/CircleVCO.cpp
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-09-06 09:54:58 +0000
committers-ol <s-ol@users.noreply.github.com>2019-09-06 09:54:58 +0000
commit77d1f54c12709aa3bf350b91c0e5ff81c77e353f (patch)
treef922d5642ba5c3642067964ec1c6d06348bf655f /src/CircleVCO.cpp
parentupdate to rack v1 compat (diff)
downloadvcvmods-77d1f54c12709aa3bf350b91c0e5ff81c77e353f.tar.gz
vcvmods-77d1f54c12709aa3bf350b91c0e5ff81c77e353f.zip
add parameter descriptions
Diffstat (limited to 'src/CircleVCO.cpp')
-rw-r--r--src/CircleVCO.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/CircleVCO.cpp b/src/CircleVCO.cpp
index 3749a9a..4bec6a1 100644
--- a/src/CircleVCO.cpp
+++ b/src/CircleVCO.cpp
@@ -1,8 +1,8 @@
-#include "s-ol.hpp"
+#include "plugin.hpp"
struct CircleVCO : Module {
enum ParamIds {
- PITCH_PARAM,
+ FREQ_PARAM,
NUM_PARAMS
};
enum InputIds {
@@ -23,7 +23,7 @@ struct CircleVCO : Module {
CircleVCO() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
- configParam(PITCH_PARAM, -54.0f, 54.0f, 0.0f);
+ configParam(FREQ_PARAM, -54.0f, 54.0f, 0.0f, "Frequency", " Hz", dsp::FREQ_SEMITONE, dsp::FREQ_C4);
}
void process(const ProcessArgs &args) override;
};
@@ -32,9 +32,9 @@ struct CircleVCO : Module {
void CircleVCO::process(const ProcessArgs &args) {
float deltaTime = 1.0f / args.sampleRate;
- float pitch = params[PITCH_PARAM].getValue();
- pitch += 12.0f * inputs[PITCH_INPUT].getVoltage();
- float freq = 261.626f * powf(2.0f, pitch / 12.0f);
+ float pitch = params[FREQ_PARAM].getValue() / 12.f;
+ pitch += inputs[PITCH_INPUT].getVoltage();
+ float freq = dsp::FREQ_C4 * powf(2.f, pitch);
phase += freq * deltaTime;
while (phase >= 1.0f)
@@ -64,7 +64,7 @@ CircleVCOWidget::CircleVCOWidget(CircleVCO *module) {
Vec center = Vec(box.size.x, 0).minus(p.box.size).div(2);
Vec kcenter = Vec(box.size.x, 0).minus(k.box.size).div(2);
- addParam(createParam<RoundSmallBlackKnob>(kcenter.plus(Vec(0, 90)), module, CircleVCO::PITCH_PARAM));
+ addParam(createParam<RoundSmallBlackKnob>(kcenter.plus(Vec(0, 90)), module, CircleVCO::FREQ_PARAM));
addInput(createInput<PJ301MPort>(center.plus(Vec(0, 144)), module, CircleVCO::PITCH_INPUT));