This commit is contained in:
Roland Rabien 2023-08-25 09:47:50 -07:00
commit 3dbcbf73e5
10 changed files with 60 additions and 29 deletions

View file

@ -10,31 +10,19 @@ Editor::Editor (WavetableAudioProcessor& proc_)
addAndMakeVisible (filter);
addAndMakeVisible (fltADSR);
for (auto& i : modItems)
modHeader.addItem (i);
addAndMakeVisible (modHeader);
for (int i = 0; i < Cfg::numLFOs; i++)
{
lfoBox.addBox (i, &lfos[i]);
lfoBox.addBox (i, &lfoGraphs[i]);
addAndMakeVisible (&lfos[i]);
addAndMakeVisible (&lfoGraphs[i]);
}
addAndMakeVisible (lfoBox);
lfoBox.setPage (0);
for (auto& i : fxItems)
fxHeader.addItem (i);
addAndMakeVisible (fxHeader);
effects.addBox (&gate);
effects.addBox (&pattern);
effects.addBox (&chorus);
effects.addBox (&distort);
effects.addBox (&delay);
effects.addBox (&reverb);
effects.addBox (&scope);
addAndMakeVisible (gate);
addAndMakeVisible (pattern);
addAndMakeVisible (chorus);
addAndMakeVisible (distort);
addAndMakeVisible (delay);
addAndMakeVisible (reverb);
addAndMakeVisible (scope);
addAndMakeVisible (effects);

View file

@ -112,7 +112,7 @@ public:
FilterADSRArea (WavetableAudioProcessor& proc_)
: proc (proc_)
{
setName ( "fltAdsr" );
setName ("fltAdsr");
auto& flt = proc.filterParams;
@ -152,7 +152,7 @@ public:
LFOBox (const juce::String& name, WavetableAudioProcessor& proc_, int idx_)
: gin::ParamBox (name), proc (proc_), idx (idx_)
{
setName ( "lfo" + juce::String ( idx + 1 ) );
setName ("lfo" + juce::String (idx + 1));
auto& lfo = proc.lfoParams[idx];
@ -190,7 +190,7 @@ public:
LFOArea (WavetableAudioProcessor& proc_, int idx_)
: proc (proc_), idx (idx_)
{
setName ( "lfoArea" + juce::String ( idx + 1 ) );
setName ("lfoArea" + juce::String (idx + 1));
auto& lfo = proc.lfoParams[idx];
@ -222,7 +222,7 @@ public:
GateBox (WavetableAudioProcessor& proc_)
: gin::ParamBox ("Gate"), proc (proc_)
{
setName ( "gate" );
setName ("gate");
addControl (new gin::Select (proc.gateParams.beat), 0, 0);
addControl (new gin::Knob (proc.gateParams.length), 1, 0);
@ -242,7 +242,7 @@ public:
GateArea (WavetableAudioProcessor& proc_)
: gin::ParamArea ("Pattern"), proc (proc_)
{
setName ( "gatePattern" );
setName ("gatePattern");
g = new gin::GateEffectComponent();
g->setParams (proc.gateParams.length, proc.gateParams.l, proc.gateParams.r, proc.gateParams.enable);

View file

@ -15,6 +15,23 @@ WavetableAudioProcessorEditor::~WavetableAudioProcessorEditor()
}
//==============================================================================
void WavetableAudioProcessorEditor::showAboutInfo()
{
#if JUCE_DEBUG
if (inspector == nullptr)
{
inspector = std::make_unique<melatonin::Inspector> (*this);
inspector->setVisible(true);
}
else
{
inspector = nullptr;
}
#else
ProcessorEditor::showAboutInfo();
#endif
}
void WavetableAudioProcessorEditor::paint (juce::Graphics& g)
{
ProcessorEditor::paint (g);

View file

@ -16,10 +16,16 @@ public:
void paint (juce::Graphics&) override;
void resized() override;
void showAboutInfo() override;
private:
WavetableAudioProcessor& vaProc;
Editor editor { vaProc };
#if JUCE_DEBUG
std::unique_ptr<melatonin::Inspector> inspector;
#endif
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WavetableAudioProcessorEditor)
};

View file

@ -10,6 +10,9 @@ WavetableVoice::WavetableVoice (WavetableAudioProcessor& p)
void WavetableVoice::noteStarted()
{
oscillators[0].setWavetable (proc.osc1Tables);
oscillators[1].setWavetable (proc.osc2Tables);
fastKill = false;
startVoice();
@ -156,7 +159,7 @@ void WavetableVoice::renderNextBlock (juce::AudioBuffer<float>& outputBuffer, in
float velocity = currentlyPlayingNote.noteOnVelocity.asUnsignedFloat();
buffer.applyGain (gin::velocityToGain (velocity, ampKeyTrack));
// Apply filters
// Apply filter
if (proc.filterParams.enable->isOn())
filter.process (buffer);