mirror of
https://codeberg.org/armin/ambivalence.git
synced 2026-09-01 04:10:48 +02:00
init
This commit is contained in:
parent
29c860587e
commit
42cf8432bf
57 changed files with 5782 additions and 0 deletions
87
Source/PluginParameters.cpp
Normal file
87
Source/PluginParameters.cpp
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
#include "PluginParameters.h"
|
||||
|
||||
namespace FDNReverb {
|
||||
|
||||
juce::AudioProcessorValueTreeState::ParameterLayout ParameterHelper::createLayout()
|
||||
{
|
||||
std::vector<std::unique_ptr<juce::RangedAudioParameter>> params;
|
||||
|
||||
auto addFloat = [&](const juce::String& id,
|
||||
const juce::String& name,
|
||||
float min, float max, float def,
|
||||
float skew = 1.0f,
|
||||
const juce::String& label = "")
|
||||
{
|
||||
params.push_back(std::make_unique<juce::AudioParameterFloat>(
|
||||
id, name,
|
||||
juce::NormalisableRange<float>(min, max, 0.01f, skew),
|
||||
def,
|
||||
juce::AudioParameterFloatAttributes().withLabel(label)));
|
||||
};
|
||||
|
||||
params.push_back(std::make_unique<juce::AudioParameterChoice>(
|
||||
ParamID::Algorithm, "Algorithm",
|
||||
juce::StringArray{ "ROOM1","ROOM2","HALL1","HALL2","PLATE","SPRING","GOLDFOIL" }, 0));
|
||||
|
||||
addFloat(ParamID::PreDelay, "Pre-Delay", 0.0f, 500.0f, 10.0f, 1.0f, "ms");
|
||||
addFloat(ParamID::RoomSize, "Room Size", 0.3f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::DecayTime, "Decay Time", 0.1f, 20.0f, 1.5f, 0.35f, "s");
|
||||
addFloat(ParamID::HFDamping, "HF Damping", 0.0f, 1.0f, 0.0f);
|
||||
addFloat(ParamID::LFAbsorption, "LF Absorption", 0.0f, 1.0f, 0.0f);
|
||||
|
||||
addFloat(ParamID::Diffusion, "Diffusion", 0.0f, 1.0f, 0.7f);
|
||||
addFloat(ParamID::ModAmount, "Mod Amount", 0.0f, 1.0f, 0.25f);
|
||||
addFloat(ParamID::ModRate, "Mod Rate", 0.05f, 2.0f, 0.5f, 1.0f, "Hz");
|
||||
|
||||
addFloat(ParamID::StereoWidth, "Stereo Width", 0.0f, 1.0f, 0.8f);
|
||||
|
||||
addFloat(ParamID::ERLevel, "ER Level", 0.0f, 1.0f, 0.6f);
|
||||
addFloat(ParamID::Saturation, "Saturation", 0.0f, 1.0f, 0.0f);
|
||||
|
||||
params.push_back(std::make_unique<juce::AudioParameterChoice>(
|
||||
ParamID::SatType, "Sat Type",
|
||||
juce::StringArray{ "Warm","Tape","Tube","Hard" },
|
||||
0,
|
||||
juce::AudioParameterChoiceAttributes().withAutomatable(false)));
|
||||
|
||||
// * Step B: Wet -6dB / Dry 0dB change
|
||||
// internal offset -3dB (PluginProcessor.cpp)
|
||||
// effective Wet displayed value -3dB .
|
||||
// Wet=-6dB -> effective -9dB, Wet=0dB -> effective -3dB
|
||||
addFloat(ParamID::WetLevel, "Wet", -60.0f, 0.0f, -4.0f, 1.0f, "dB");
|
||||
addFloat(ParamID::DryLevel, "Dry", -60.0f, 0.0f, 0.0f, 1.0f, "dB");
|
||||
|
||||
addFloat(ParamID::DuckAmount, "Ducking", 0.0f, 20.0f, 0.0f, 1.0f, "dB");
|
||||
addFloat(ParamID::DuckAttack, "Duck Attack", 0.5f, 100.0f, 10.0f, 0.4f, "ms");
|
||||
addFloat(ParamID::DuckRelease, "Duck Release", 10.0f, 2000.0f, 200.0f, 0.4f, "ms");
|
||||
addFloat(ParamID::DuckThresh, "Duck Thresh", -60.0f, 0.0f, -20.0f, 1.0f, "dB");
|
||||
|
||||
params.push_back(std::make_unique<juce::AudioParameterBool>(
|
||||
ParamID::ERSolo, "ER Solo", false,
|
||||
juce::AudioParameterBoolAttributes().withAutomatable(false)));
|
||||
params.push_back(std::make_unique<juce::AudioParameterBool>(
|
||||
ParamID::ProMode, "Pro Mode", false,
|
||||
juce::AudioParameterBoolAttributes().withAutomatable(false)));
|
||||
|
||||
addFloat(ParamID::TiltLow, "Tilt Low", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::TiltMid, "Tilt Mid", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::TiltHigh, "Tilt High", 0.5f, 2.0f, 1.0f);
|
||||
|
||||
addFloat(ParamID::RTBand0, "RT 31Hz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand1, "RT 62Hz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand2, "RT 125Hz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand3, "RT 250Hz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand4, "RT 500Hz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand5, "RT 1kHz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand6, "RT 2kHz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand7, "RT 4kHz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand8, "RT 8kHz", 0.5f, 2.0f, 1.0f);
|
||||
addFloat(ParamID::RTBand9, "RT 16kHz", 0.5f, 2.0f, 1.0f);
|
||||
|
||||
addFloat(ParamID::LoCut, "Lo Cut", 20.0f, 500.0f, 20.0f, 0.3f, "Hz");
|
||||
addFloat(ParamID::HiCut, "Hi Cut", 1000.0f, 20000.0f, 20000.0f, 0.3f, "Hz");
|
||||
|
||||
return { params.begin(), params.end() };
|
||||
}
|
||||
|
||||
} // namespace FDNReverb
|
||||
Loading…
Add table
Add a link
Reference in a new issue