Skip to content

Commit

Permalink
Add comment. How work parameter skew with MIDI, DSP, GUI.
Browse files Browse the repository at this point in the history
  • Loading branch information
COx2 committed Oct 8, 2018
1 parent ff15ff2 commit 0c8a2c1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
8 changes: 7 additions & 1 deletion 2018/SimpleSynth/Source/DSP/SimpleSynthParameters.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/*
==============================================================================
SimpleSynthParameters.cpp
Expand Down Expand Up @@ -96,6 +96,9 @@ LfoParameters::LfoParameters(AudioParameterChoice* lfoTarget,
, LfoAmount(lfoAmount)
, LfoSpeed(lfoSpeed)
{
// DSP側のLfoSpeedパラメータの変化を指数カーブにする。
// これにより、MIDI CCの入力値である0~127の直線的なカーブが、LfoSpeedパラメータの指数カーブにマッピングされる。
// GUI側の対応するコンポーネントに同様のskewを設定することで、MIDI CCの値とGUIを近いカーブに合わせることができる。
LfoSpeed->range.symmetricSkew = false;
LfoSpeed->range.skew = 0.5;

Expand Down Expand Up @@ -132,6 +135,9 @@ FilterParameters::FilterParameters(AudioParameterChoice* type,
, Frequency(frequency)
, Q(q)
{
// DSP側のFrequencyパラメータの変化を指数カーブにする。
// これにより、MIDI CCの入力値である0~127の直線的なカーブが、Frequencyパラメータの指数カーブにマッピングされる。
// GUI側の対応するコンポーネントに同様のskewを設定することで、MIDI CCの値とGUIを近いカーブに合わせることができる。
Frequency->range.symmetricSkew = false;
Frequency->range.skew = 0.3;

Expand Down
6 changes: 3 additions & 3 deletions 2018/SimpleSynth/Source/GUI/ParametersComponent.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*
/*
==============================================================================
ParametersComponent.cpp
Expand Down Expand Up @@ -430,7 +430,7 @@ LfoParametersComponent::LfoParametersComponent(LfoParameters * lfoParams)

speedSlider.setRange(_lfoParamsPtr->LfoSpeed->range.start, _lfoParamsPtr->LfoSpeed->range.end, 0.01);
speedSlider.setValue(_lfoParamsPtr->LfoSpeed->get(), dontSendNotification);
speedSlider.setSkewFactor(0.5, false);
speedSlider.setSkewFactor(0.5, false); // GUI側のspeedSliderの値の変化を指数カーブにする。
speedSlider.setPopupDisplayEnabled(true, true, this);
speedSlider.setPopupMenuEnabled(true);
speedSlider.setTextValueSuffix(" hz");
Expand Down Expand Up @@ -570,7 +570,7 @@ FilterParametersComponent::FilterParametersComponent(FilterParameters * filterPa
frequencySlider.setRange(_filterParamsPtr->Frequency->range.start,
_filterParamsPtr->Frequency->range.end, 0.01);
frequencySlider.setValue(_filterParamsPtr->Frequency->get(), dontSendNotification);
frequencySlider.setSkewFactor(0.3, false);
frequencySlider.setSkewFactor(0.3, false); // GUI側のfrequencySliderの値の変化を指数カーブにする。
frequencySlider.setPopupDisplayEnabled(true, true, this);
frequencySlider.setPopupMenuEnabled(true);
frequencySlider.setTextValueSuffix(" hz");
Expand Down

0 comments on commit 0c8a2c1

Please sign in to comment.