mirror of
https://codeberg.org/armin/wavetable.git
synced 2026-09-01 14:00:47 +02:00
Pink noise
This commit is contained in:
parent
bc20b38624
commit
95aac485c7
6 changed files with 20 additions and 5 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit aba327620034062fe0521ac75858a3b0429023cc
|
Subproject commit 1685be0cececd415a8c8d485efe18f9121b16ced
|
||||||
|
|
@ -4,13 +4,14 @@
|
||||||
{ "id": "osc[1..2]", "x": "0,prevR()+1", "y": 0, "w": "parW()/2", "h": 163 },
|
{ "id": "osc[1..2]", "x": "0,prevR()+1", "y": 0, "w": "parW()/2", "h": 163 },
|
||||||
{ "id": "noise", "x": "0", "y": "prevB()+1", "w": 120, "h": 163, "children":
|
{ "id": "noise", "x": "0", "y": "prevB()+1", "w": 120, "h": 163, "children":
|
||||||
[
|
[
|
||||||
{ "id": "Level", "x": 0, "y": "23 + 35", "w": 56, "h": 70 },
|
{ "id": "Type", "x": "56/2", "y": 23, "w": 56, "h": 70 },
|
||||||
|
{ "id": "Level", "x": 0, "y": "prevB()", "w": 56, "h": 70 },
|
||||||
{ "id": "Pan", "x": "prevR()", "y": "prevY()", "w": 56, "h": 70 }
|
{ "id": "Pan", "x": "prevR()", "y": "prevY()", "w": 56, "h": 70 }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "id": "sub", "x": "prevR()+1", "y": "prevY()", "w": 112, "h": 163, "children":
|
{ "id": "sub", "x": "prevR()+1", "y": "prevY()", "w": 112, "h": 163, "children":
|
||||||
[
|
[
|
||||||
{ "id": "Wave", "x": 0, "y": 23, "w": 56, "h": 70 },
|
{ "id": "Wave", "x": "56", "y": 23, "w": 56, "h": 70 },
|
||||||
{ "id": "Tune", "x": "prevR()", "y": 23, "w": 56, "h": 70 },
|
{ "id": "Tune", "x": "prevR()", "y": 23, "w": 56, "h": 70 },
|
||||||
{ "id": "Level", "x": 0, "y": "prevB()", "w": 56, "h": 70 },
|
{ "id": "Level", "x": 0, "y": "prevB()", "w": 56, "h": 70 },
|
||||||
{ "id": "Pan", "x": "prevR()", "y": "prevY()", "w": 56, "h": 70 }
|
{ "id": "Pan", "x": "prevR()", "y": "prevY()", "w": 56, "h": 70 }
|
||||||
|
|
|
||||||
|
|
@ -182,6 +182,7 @@ public:
|
||||||
|
|
||||||
addEnable (noise.enable);
|
addEnable (noise.enable);
|
||||||
|
|
||||||
|
addControl (new gin::Select (noise.type), 0, 0);
|
||||||
addControl (new gin::Knob (noise.level, true), 0, 0);
|
addControl (new gin::Knob (noise.level, true), 0, 0);
|
||||||
addControl (new gin::Knob (noise.pan, true), 0, 1);
|
addControl (new gin::Knob (noise.pan, true), 0, 1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,18 @@ static juce::String subTextFunction (const gin::Parameter&, float v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static juce::String noiseTextFunction (const gin::Parameter&, float v)
|
||||||
|
{
|
||||||
|
switch (int (v))
|
||||||
|
{
|
||||||
|
case 0: return "White";
|
||||||
|
case 1: return "Pink";
|
||||||
|
default:
|
||||||
|
jassertfalse;
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static juce::String lfoTextFunction (const gin::Parameter&, float v)
|
static juce::String lfoTextFunction (const gin::Parameter&, float v)
|
||||||
{
|
{
|
||||||
switch ((gin::LFO::WaveShape)int (v))
|
switch ((gin::LFO::WaveShape)int (v))
|
||||||
|
|
@ -138,6 +150,7 @@ void WavetableAudioProcessor::NoiseParams::setup (WavetableAudioProcessor& p)
|
||||||
juce::String nm = "Noise ";
|
juce::String nm = "Noise ";
|
||||||
|
|
||||||
enable = p.addIntParam (id + "enable", nm + "Enable", "Enable", "", { 0.0, 1.0, 1.0, 1.0 }, 0.0f, 0.0f);
|
enable = p.addIntParam (id + "enable", nm + "Enable", "Enable", "", { 0.0, 1.0, 1.0, 1.0 }, 0.0f, 0.0f);
|
||||||
|
type = p.addIntParam (id + "type", nm + "Type", "Type", "", { 0.0, 1.0, 1.0, 1.0 }, 0.0, 0.0f, noiseTextFunction);
|
||||||
level = p.addExtParam (id + "level", nm + "Level", "Level", "db", { -100.0, 0.0, 1.0, 4.0 }, 0.0, 0.0f);
|
level = p.addExtParam (id + "level", nm + "Level", "Level", "db", { -100.0, 0.0, 1.0, 4.0 }, 0.0, 0.0f);
|
||||||
pan = p.addExtParam (id + "pan", nm + "Pan", "Pan", "", { -1.0, 1.0, 0.0, 1.0 }, 0.0, 0.0f);
|
pan = p.addExtParam (id + "pan", nm + "Pan", "Pan", "", { -1.0, 1.0, 0.0, 1.0 }, 0.0, 0.0f);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public:
|
||||||
{
|
{
|
||||||
NoiseParams() = default;
|
NoiseParams() = default;
|
||||||
|
|
||||||
gin::Parameter::Ptr enable, level, pan;
|
gin::Parameter::Ptr enable, type, level, pan;
|
||||||
|
|
||||||
void setup (WavetableAudioProcessor& p);
|
void setup (WavetableAudioProcessor& p);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@ void WavetableVoice::updateParams (int blockSize)
|
||||||
|
|
||||||
if (proc.noiseParams.enable->isOn())
|
if (proc.noiseParams.enable->isOn())
|
||||||
{
|
{
|
||||||
noiseParams.wave = gin::Wave::noise;
|
noiseParams.wave = gin::Wave::whiteNoise;
|
||||||
|
|
||||||
noiseParams.leftGain = getValue (proc.noiseParams.level) * (1.0f - getValue (proc.noiseParams.pan));
|
noiseParams.leftGain = getValue (proc.noiseParams.level) * (1.0f - getValue (proc.noiseParams.pan));
|
||||||
noiseParams.rightGain = getValue (proc.noiseParams.level) * (1.0f + getValue (proc.noiseParams.pan));
|
noiseParams.rightGain = getValue (proc.noiseParams.level) * (1.0f + getValue (proc.noiseParams.pan));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue