2023-01-15 17:01:27 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <JuceHeader.h>
|
2024-02-20 15:32:52 +00:00
|
|
|
#include "LookAndFeel.h"
|
2023-03-25 20:24:10 +00:00
|
|
|
#include "audio/BitCrushEffect.h"
|
2023-01-15 17:01:27 +00:00
|
|
|
#include "PluginProcessor.h"
|
2023-03-26 12:58:31 +00:00
|
|
|
#include "components/DraggableListBox.h"
|
2023-07-02 20:00:14 +00:00
|
|
|
#include "components/EffectsListComponent.h"
|
2025-04-06 04:06:36 +00:00
|
|
|
#include "components/ComponentList.h"
|
|
|
|
#include "components/LuaListComponent.h"
|
|
|
|
#include <juce_gui_basics/juce_gui_basics.h>
|
|
|
|
#include <juce_gui_extra/juce_gui_extra.h>
|
2023-01-15 17:01:27 +00:00
|
|
|
|
2023-07-08 17:59:05 +00:00
|
|
|
class OscirenderAudioProcessorEditor;
|
2023-07-25 13:09:21 +00:00
|
|
|
class EffectsComponent : public juce::GroupComponent, public juce::ChangeListener {
|
2023-01-15 17:01:27 +00:00
|
|
|
public:
|
2023-07-22 21:00:59 +00:00
|
|
|
EffectsComponent(OscirenderAudioProcessor&, OscirenderAudioProcessorEditor&);
|
2023-01-15 17:01:27 +00:00
|
|
|
~EffectsComponent() override;
|
|
|
|
|
|
|
|
void resized() override;
|
2023-07-25 13:09:21 +00:00
|
|
|
void changeListenerCallback(juce::ChangeBroadcaster* source) override;
|
2023-01-15 17:01:27 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
OscirenderAudioProcessor& audioProcessor;
|
|
|
|
|
2023-07-02 17:47:04 +00:00
|
|
|
// juce::TextButton addBtn;
|
2023-03-26 12:58:31 +00:00
|
|
|
|
2024-02-20 15:32:52 +00:00
|
|
|
SvgButton randomiseButton{ "randomise", juce::String(BinaryData::random_svg), Colours::accentColor };
|
|
|
|
|
2023-07-02 20:00:14 +00:00
|
|
|
AudioEffectListBoxItemData itemData;
|
|
|
|
EffectsListBoxModel listBoxModel;
|
2023-03-26 12:58:31 +00:00
|
|
|
DraggableListBox listBox;
|
|
|
|
|
2024-09-12 22:09:54 +00:00
|
|
|
EffectComponent frequency = EffectComponent(*audioProcessor.frequencyEffect, false);
|
2023-01-15 17:01:27 +00:00
|
|
|
|
2025-04-06 04:54:43 +00:00
|
|
|
// Remove preset buttons and chooser
|
|
|
|
// juce::TextButton loadPresetButton { "Load" };
|
|
|
|
// juce::TextButton savePresetButton { "Save" };
|
|
|
|
// std::unique_ptr<juce::FileChooser> presetChooser;
|
|
|
|
|
|
|
|
// Remove preset click handlers
|
|
|
|
// void loadPresetClicked();
|
|
|
|
// void savePresetClicked();
|
2025-04-06 04:06:36 +00:00
|
|
|
|
2023-01-15 17:01:27 +00:00
|
|
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(EffectsComponent)
|
|
|
|
};
|