added early reflections
This commit is contained in:
+42
-3
@@ -9,7 +9,7 @@
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
|
||||
enum {ORDER, SIZE_1, SIZE_2, SIZE_3, SIZE_4, SIZE_5, FB_DELAY_MIN, FB_DELAY_MAX, FB_DELAY_GAIN};
|
||||
enum {ORDER, SIZE_1, SIZE_2, SIZE_3, SIZE_4, SIZE_5, FB_DELAY_MIN, FB_DELAY_MAX, FB_DELAY_GAIN, EARLY_GAIN_1, EARLY_GAIN_2, EARLY_GAIN_3, EARLY_GAIN_4, EARLY_GAIN_5};
|
||||
|
||||
AudioEffect* createEffectInstance (audioMasterCallback audioMaster)
|
||||
{
|
||||
@@ -43,6 +43,12 @@ Plugin::Plugin(audioMasterCallback audioMaster)
|
||||
m_params[6] = new Param("Delay Min", "ms", 0, 1000, 100, 10.0);
|
||||
m_params[7] = new Param("Delay Max", "ms", 0, 1000, 200, 10.0);
|
||||
m_params[8] = new Param("Delay Feedback", "%", 0, 100, 0);
|
||||
m_params[9] = new Param("EarlyGain 1", "%", 0, 100, 0);
|
||||
m_params[10] = new Param("EarlyGain 2", "%", 0, 100, 0);
|
||||
m_params[11] = new Param("EarlyGain 3", "%", 0, 100, 0);
|
||||
m_params[12] = new Param("EarlyGain 4", "%", 0, 100, 0);
|
||||
m_params[13] = new Param("EarlyGain 5", "%", 0, 100, 0);
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------------
|
||||
@@ -79,8 +85,8 @@ void Plugin::setParameter(VstInt32 index, float value)
|
||||
{
|
||||
double p = m_params[index]->fromSlider(value);
|
||||
uint delay = (uint)(p*sampleRate/1000);
|
||||
m_reverb_1.setDelay(delay, index - SIZE_1);
|
||||
m_reverb_2.setDelay(delay, index - SIZE_1);
|
||||
m_reverb_1.setDelay(index - SIZE_1, delay);
|
||||
m_reverb_2.setDelay(index - SIZE_1, delay);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -102,6 +108,19 @@ void Plugin::setParameter(VstInt32 index, float value)
|
||||
m_reverb_2.setFeedbackGain(p);
|
||||
break;
|
||||
}
|
||||
|
||||
case EARLY_GAIN_1:
|
||||
case EARLY_GAIN_2:
|
||||
case EARLY_GAIN_3:
|
||||
case EARLY_GAIN_4:
|
||||
case EARLY_GAIN_5:
|
||||
{
|
||||
double p = m_params[index]->fromSlider(value)/50;
|
||||
m_reverb_1.setEarlyGain(index - EARLY_GAIN_1, p);
|
||||
m_reverb_2.setEarlyGain(index - EARLY_GAIN_1, p);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -119,6 +138,11 @@ float Plugin::getParameter(VstInt32 index)
|
||||
case SIZE_3:
|
||||
case SIZE_4:
|
||||
case SIZE_5:
|
||||
case EARLY_GAIN_1:
|
||||
case EARLY_GAIN_2:
|
||||
case EARLY_GAIN_3:
|
||||
case EARLY_GAIN_4:
|
||||
case EARLY_GAIN_5:
|
||||
case FB_DELAY_MIN:
|
||||
case FB_DELAY_MAX:
|
||||
case FB_DELAY_GAIN:
|
||||
@@ -141,6 +165,11 @@ void Plugin::getParameterName(VstInt32 index, char *label)
|
||||
case SIZE_3:
|
||||
case SIZE_4:
|
||||
case SIZE_5:
|
||||
case EARLY_GAIN_1:
|
||||
case EARLY_GAIN_2:
|
||||
case EARLY_GAIN_3:
|
||||
case EARLY_GAIN_4:
|
||||
case EARLY_GAIN_5:
|
||||
case FB_DELAY_MIN:
|
||||
case FB_DELAY_MAX:
|
||||
case FB_DELAY_GAIN:
|
||||
@@ -164,6 +193,11 @@ void Plugin::getParameterDisplay(VstInt32 index, char *text)
|
||||
case SIZE_3:
|
||||
case SIZE_4:
|
||||
case SIZE_5:
|
||||
case EARLY_GAIN_1:
|
||||
case EARLY_GAIN_2:
|
||||
case EARLY_GAIN_3:
|
||||
case EARLY_GAIN_4:
|
||||
case EARLY_GAIN_5:
|
||||
case FB_DELAY_MIN:
|
||||
case FB_DELAY_MAX:
|
||||
case FB_DELAY_GAIN:
|
||||
@@ -183,6 +217,11 @@ void Plugin::getParameterLabel(VstInt32 index, char *label)
|
||||
case SIZE_3:
|
||||
case SIZE_4:
|
||||
case SIZE_5:
|
||||
case EARLY_GAIN_1:
|
||||
case EARLY_GAIN_2:
|
||||
case EARLY_GAIN_3:
|
||||
case EARLY_GAIN_4:
|
||||
case EARLY_GAIN_5:
|
||||
case FB_DELAY_MIN:
|
||||
case FB_DELAY_MAX:
|
||||
case FB_DELAY_GAIN:
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
class Plugin : public AudioEffectX
|
||||
{
|
||||
static const uint DELAY_MAX = 48000;
|
||||
static const uint NUM_PARMS = 9;
|
||||
static const uint NUM_PARMS = 14;
|
||||
|
||||
public:
|
||||
Plugin(audioMasterCallback audioMaster);
|
||||
|
||||
+1
-1
Submodule submodules/dsp updated: 09591a3148...b9b7077c4d
Reference in New Issue
Block a user