mirror of
https://codeberg.org/armin/wavetable.git
synced 2026-09-01 05:50:46 +02:00
Add wavetables. Switch to using json for component layout
This commit is contained in:
parent
28402bfa0e
commit
f1829adfcf
110 changed files with 326 additions and 165 deletions
70
plugin/Source/Editor.cpp
Normal file
70
plugin/Source/Editor.cpp
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
#include "Editor.h"
|
||||
|
||||
Editor::Editor (WavetableAudioProcessor& proc_)
|
||||
: proc ( proc_ )
|
||||
{
|
||||
for (auto& o : oscillators) addAndMakeVisible (o);
|
||||
for (auto& l : lfos) addAndMakeVisible (l);
|
||||
for (auto& l : lfoGraphs) addAndMakeVisible (l);
|
||||
|
||||
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 (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 (effects);
|
||||
|
||||
setupCallbacks();
|
||||
}
|
||||
|
||||
void Editor::setupCallbacks()
|
||||
{
|
||||
// LFO mod items
|
||||
for (int i = 0; i < Cfg::numLFOs; i++)
|
||||
{
|
||||
modItems[i].onClick = [this, i]
|
||||
{
|
||||
modItems[0].setSelected (i == 0);
|
||||
modItems[1].setSelected (i == 1);
|
||||
modItems[2].setSelected (i == 2);
|
||||
|
||||
lfoBox.setPage (i);
|
||||
};
|
||||
}
|
||||
modItems[0].onClick();
|
||||
}
|
||||
|
||||
void Editor::resized()
|
||||
{
|
||||
#if JUCE_DEBUG
|
||||
auto f = juce::File (__FILE__).getChildFile ("../../Resources/layout.json");
|
||||
|
||||
layout.setLayout ("layout.json", f);
|
||||
#else
|
||||
layout.setLayout ("layout.json");
|
||||
#endif
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue