2023-01-15 17:01:27 +00:00
|
|
|
#include "EffectsComponent.h"
|
2023-03-25 20:24:10 +00:00
|
|
|
#include "audio/BitCrushEffect.h"
|
2023-07-08 17:59:05 +00:00
|
|
|
#include "PluginEditor.h"
|
2023-01-15 17:01:27 +00:00
|
|
|
|
2023-03-28 15:21:18 +00:00
|
|
|
EffectsComponent::EffectsComponent(OscirenderAudioProcessor& p) : audioProcessor(p), itemData(p), listBoxModel(listBox, itemData) {
|
2023-01-15 17:01:27 +00:00
|
|
|
setText("Audio Effects");
|
|
|
|
|
|
|
|
addAndMakeVisible(frequency);
|
2023-07-05 11:02:28 +00:00
|
|
|
frequency.setCheckboxVisible(false);
|
2023-01-15 17:01:27 +00:00
|
|
|
|
|
|
|
frequency.slider.setSkewFactorFromMidPoint(500.0);
|
|
|
|
frequency.slider.setTextValueSuffix("Hz");
|
2023-07-14 14:34:24 +00:00
|
|
|
frequency.slider.setValue(audioProcessor.frequencyEffect->getValue(), juce::dontSendNotification);
|
2023-01-15 17:01:27 +00:00
|
|
|
|
|
|
|
frequency.slider.onValueChange = [this] {
|
2023-07-14 14:34:24 +00:00
|
|
|
audioProcessor.frequencyEffect->setValue(frequency.slider.getValue());
|
2023-01-15 17:01:27 +00:00
|
|
|
};
|
2023-03-26 12:58:31 +00:00
|
|
|
|
2023-07-05 14:17:17 +00:00
|
|
|
{
|
|
|
|
juce::SpinLock::ScopedLockType lock(audioProcessor.effectsLock);
|
2023-07-18 16:25:09 +00:00
|
|
|
for (int i = 0; i < audioProcessor.toggleableEffects.size(); i++) {
|
|
|
|
auto effect = audioProcessor.toggleableEffects[i];
|
2023-07-05 14:17:17 +00:00
|
|
|
effect->setValue(effect->getValue());
|
|
|
|
itemData.data.push_back(effect);
|
|
|
|
}
|
|
|
|
}
|
2023-03-26 12:58:31 +00:00
|
|
|
|
2023-03-28 12:12:41 +00:00
|
|
|
/*addBtn.setButtonText("Add Item...");
|
2023-03-26 12:58:31 +00:00
|
|
|
addBtn.onClick = [this]()
|
|
|
|
{
|
|
|
|
itemData.data.push_back(juce::String("Item " + juce::String(1 + itemData.getNumItems())));
|
|
|
|
listBox.updateContent();
|
|
|
|
};
|
2023-03-28 12:12:41 +00:00
|
|
|
addAndMakeVisible(addBtn);*/
|
2023-03-26 12:58:31 +00:00
|
|
|
|
|
|
|
listBox.setModel(&listBoxModel);
|
|
|
|
addAndMakeVisible(listBox);
|
2023-01-15 17:01:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
EffectsComponent::~EffectsComponent() {
|
2023-03-25 20:24:10 +00:00
|
|
|
|
2023-01-15 17:01:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void EffectsComponent::resized() {
|
2023-03-26 12:58:31 +00:00
|
|
|
auto area = getLocalBounds().reduced(20);
|
2023-07-02 17:47:04 +00:00
|
|
|
frequency.setBounds(area.removeFromTop(30));
|
2023-03-26 12:58:31 +00:00
|
|
|
|
|
|
|
area.removeFromTop(6);
|
|
|
|
listBox.setBounds(area);
|
2023-07-17 14:39:21 +00:00
|
|
|
}
|