gain/balance presets in KnobGadget

master
zetaPRIME 2022-03-17 17:45:03 -04:00
parent 401ee05aa4
commit 4822ef1bb6
6 changed files with 17 additions and 7 deletions

9
notes
View File

@ -33,9 +33,12 @@ parameters {
TODO {
immediate frontburner {
- fix warnings in mixboard
decide whether to standardize knob setup orderings
bump gain knob max to +12dB
preset function for gain and balance? autoGain (templated because bind)
- decide whether to standardize knob setup orderings
- bump gain knob max to +12dB
- preset function for gain and balance? autoGain (templated because bind)
SVFilter::normalize()
^ AudioFrame::clamp()
revert action

View File

@ -6,6 +6,7 @@
#include "data/audioframe.h"
namespace Xybrid::NodeLib {
/// 12db Chamberlin State Variable Filter
class SVFilter {
//
public:

View File

@ -74,6 +74,6 @@ void GainBalance::onGadgetCreated() {
obj->showPluginName = false;
auto l = new LayoutGadget(obj);
(new KnobGadget(l))->bind(gain)->setLabel("Gain")->setRange(-60, 6, .1)->setTextFunc(KnobGadget::textGain);
(new KnobGadget(l))->bind(balance)->setLabel("Balance")->setRange(-1.0, 1.0)->setTextFunc(KnobGadget::textBalance);
KnobGadget::autoGain(l, gain);
KnobGadget::autoBalance(l, balance);
}

View File

@ -160,7 +160,7 @@ void MixBoard::onGadgetCreated() {
/*auto mute = */(new ToggleGadget(tl))->bind(sections[i].mute)->setColor({255, 0, 0})->setToolTip("Mute", {-1, 0});
/*auto solo = */(new ToggleGadget(tl))->bind(sections[i].solo)->setColor({191, 191, 0})->setToolTip("Solo", {-1, 0});
/*auto gain = */(new KnobGadget(ln))->bind(sections[i].gain)->setRange(-60, 6, .1)->setLabel("Gain")->setTextFunc(KnobGadget::textGain);
/*auto gain = */KnobGadget::autoGain(ln, sections[i].gain);
auto end = (new LayoutGadget(ln, true))->setMetrics(-1, spc);
auto bIns = (new ButtonGadget(end))->setSize(16, 16)->setText("+");

View File

@ -214,7 +214,7 @@ void BeatPad::initUI(NodeUIScene* scene) {
sampleSelector->setSize(320, 96);
auto r1 = (new LayoutGadget(ol))->setMetrics(0, -1, 0.0);
auto gain = (new KnobGadget(r1))->setRange(-60, 12, .1)->setLabel("Gain")->setTextFunc(KnobGadget::textGain);
auto gain = KnobGadget::autoGain(r1);
// create functions now that all UI elements exist to be referenced
state->selectNote = [=](int16_t n) {

View File

@ -89,6 +89,12 @@ namespace Xybrid::UI {
static QString textBalance(double);
static void autoCreate(LayoutGadget*, NodeLib::ADSR&);
// common presets
static inline KnobGadget* autoGain(QGraphicsItem* p) { return (new KnobGadget(p))->setRange(-60, 12, .1)->setLabel("Gain")->setTextFunc(KnobGadget::textGain); }
template<typename T> static inline KnobGadget* autoGain(QGraphicsItem* p, T& v) { return autoGain(p)->bind(v); }
static inline KnobGadget* autoBalance(QGraphicsItem* p) { return (new KnobGadget(p))->setRange(-1.0, 1.0, .01)->setLabel("Balance")->setTextFunc(KnobGadget::textBalance); }
template<typename T> static inline KnobGadget* autoBalance(QGraphicsItem* p, T& v) { return autoBalance(p)->bind(v); }
};
}