22#include " IPlug_include_in_plug_src.h"
33#include " IControls.h"
44
5- #define GETPARAMS (i ) GetParam(kPreGain ##i)->InitDouble (" Pre Gain" , 100 ., 0 ., 1000.0 , 0.01 , " %" ); \
5+ #define GETPARAMS (i ) \
6+ GetParam (kPreGain ##i)->InitDouble(" Pre Gain" , 100 ., 0 ., 1000.0 , 0.01 , " 00 %" ); \
67GetParam (kPostGain ##i)->InitDouble(" Post Gain" , 100 ., 0 ., 400.0 , 0.01 , " %" );\
7- GetParam (kWaveType ##i)->InitEnum(" Wave Type" , TANH, 12 ); \
8+ GetParam (kClip ##i)->InitDouble(" Clip" , 300 ., 0 ., 500.0 , 0.01 , " %" , 0 , " " , IParam::ShapePowCurve(3 .)); \
9+ GetParam (kWaveType ##i)->InitEnum(" Wave Type" , TANH, 12 ); \
810GetParam (kWaveType ##i)->SetDisplayText(0 , " Arctan" ); \
911GetParam (kWaveType ##i)->SetDisplayText(1 , " TANH" ); \
1012GetParam (kWaveType ##i)->SetDisplayText(2 , " TANH^3" ); \
@@ -20,12 +22,13 @@ GetParam(kWaveType##i)->SetDisplayText(11, "SIN(EXP)"); \
2022GetParam (kMix ##i)->InitDouble(" Mix" , 50 ., 0 ., 100.0 , 0.01 , " %" );
2123
2224#define CONNECTGRAPHICS (x, y ) \
23- pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(-210 ).GetVShifted(y), kPreGain##x, " " , myStyle));\
24- pGraphics->AttachControl (new IVMenuButtonControl(b.GetCentredInside(100 ).GetHShifted(-110 ).GetVShifted(y), kWaveType##x, " Wave Type" , myStyle)); \
25- pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(-10 ).GetVShifted(y), kPostGain##x, " " , myStyle));\
26- pGraphics->AttachControl (new dynamicPlot(b.GetCentredInside(100 ) .GetHShifted(90 ) .GetVShifted(y), [](double i) -> double { return tanh (2 .*i-1 .); }), kCtrlTagPlot ##x); \
27- pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(190 ).GetVShifted(y), kMix##x, " " , myStyle));\
28- pGraphics->AttachControl (new VuMeterControl(b.GetCentredInside(100 ) .GetHShifted(245 ) .GetVShifted(y).GetVPadded(-5 ).GetHPadded(-45 ), COLOR_BLACK, kCtrlTagVUMeter##x), kCtrlTagVUMeter ##x); \
25+ pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(-220 ).GetVShifted(y), kPreGain##x, " " , myStyle));\
26+ pGraphics->AttachControl (new IVMenuButtonControl(b.GetCentredInside(100 ).GetHShifted(-120 ).GetVShifted(y), kWaveType##x, " Wave Type" , myStyle)); \
27+ pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(-20 ).GetVShifted(y), kPostGain##x, " " , myStyle)); \
28+ pGraphics->AttachControl (new IVSliderControl(b.GetCentredInside(100 ).GetHPadded(-30 ).GetHShifted(40 ).GetVShifted(y), kClip##x, " Clip" , myStyle));\
29+ pGraphics->AttachControl (new dynamicPlot(b.GetCentredInside(100 ).GetHShifted(110 ).GetVShifted(y).GetPadded(-5 ), [](double i) -> double { return tanh (2 . * i - 1 .); }), kCtrlTagPlot ##x); \
30+ pGraphics->AttachControl (new IVKnobControl(b.GetCentredInside(100 ) .GetHShifted(210 ).GetVShifted(y), kMix##x, " " , myStyle));\
31+ pGraphics->AttachControl (new VuMeterControl(b.GetCentredInside(100 ) .GetHShifted(260 ) .GetVShifted(y).GetVPadded(-5 ).GetHPadded(-45 ), COLOR_BLACK, kCtrlTagVUMeter##x), kCtrlTagVUMeter ##x); \
2932
3033waveProcessor::waveProcessor (const InstanceInfo& info)
3134 : iplug::Plugin(info, MakeConfig(kNumParams , kNumPresets ))
@@ -65,7 +68,9 @@ paramDVal = GetParam(kPreGain##i)->Value();\
6568 paramWVal = (Waveform)GetParam(kWaveType ##i)->Value (); \
6669 SendControlMsgFromDelegate (kCtrlTagPlot ##i, kPlotWaveType , sizeof (Waveform), ¶mWVal); \
6770 paramDVal = GetParam(kMix ##i)->Value ();\
68- SendControlMsgFromDelegate (kCtrlTagPlot ##i, kPlotMix , sizeof (double ), ¶mDVal);
71+ SendControlMsgFromDelegate (kCtrlTagPlot ##i, kPlotMix , sizeof (double ), ¶mDVal);\
72+ paramDVal = GetParam(kClip ##i)->Value ();\
73+ SendControlMsgFromDelegate (kCtrlTagPlot ##i, kPlotClip , sizeof (double ), ¶mDVal);
6974
7075
7176void waveProcessor::OnIdle ()
0 commit comments