osci-render/Source/MainComponent.h

44 wiersze
1.4 KiB
C
Czysty Zwykły widok Historia

#pragma once
#include <JuceHeader.h>
#include "PluginProcessor.h"
#include "parser/FileParser.h"
#include "parser/FrameProducer.h"
#include "components/VisualiserComponent.h"
#include "audio/PitchDetector.h"
#include "UGen/ugen_JuceEnvelopeComponent.h"
2023-12-14 21:26:40 +00:00
#include "components/SvgButton.h"
2024-01-25 22:12:25 +00:00
#include "components/AudioRecordingComponent.h"
class OscirenderAudioProcessorEditor;
class MainComponent : public juce::GroupComponent {
public:
MainComponent(OscirenderAudioProcessor&, OscirenderAudioProcessorEditor&);
~MainComponent() override;
void resized() override;
void paint(juce::Graphics& g) override;
void updateFileLabel();
private:
OscirenderAudioProcessor& audioProcessor;
OscirenderAudioProcessorEditor& pluginEditor;
std::unique_ptr<juce::FileChooser> chooser;
juce::TextButton fileButton;
juce::TextButton closeFileButton;
2024-01-27 13:57:18 +00:00
SvgButton inputEnabled{"inputEnabled", juce::String(BinaryData::microphone_svg), juce::Colours::white, juce::Colours::red, audioProcessor.inputEnabled};
juce::Label fileLabel;
juce::TextEditor fileName;
juce::ComboBox fileType;
juce::TextButton createFile{"Create File"};
juce::TextButton openOscilloscope{"Open Oscilloscope"};
juce::Label frequencyLabel;
int callbackIndex = -1;
AudioRecordingComponent recorder{audioProcessor};
2024-01-25 22:12:25 +00:00
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(MainComponent)
};