paulxstretch/Source/RenderSettingsComponent.h

65 lines
2.3 KiB
C++

#pragma once
/*
Copyright (C) 2017 Xenakios
This program is free software; you can redistribute it and/or modify
it under the terms of version 2 of the GNU General Public License
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License (version 2) for more details.
You should have received a copy of the GNU General Public License (version 2)
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "../JuceLibraryCode/JuceHeader.h"
class PaulstretchpluginAudioProcessor;
class RenderSettingsComponent : public Component,
public ComboBox::Listener,
public Button::Listener,
public TextEditor::Listener
{
public:
//==============================================================================
RenderSettingsComponent (PaulstretchpluginAudioProcessor* mc);
~RenderSettingsComponent();
void paint (Graphics& g) override;
void resized() override;
void comboBoxChanged (ComboBox* comboBoxThatHasChanged) override;
void buttonClicked (Button* buttonThatWasClicked) override;
int getPreferredHeight() const;
int getPreferredWidth() const;
void textEditorTextChanged(TextEditor& ed) override;
private:
PaulstretchpluginAudioProcessor * m_proc = nullptr;
Label labelSamplerate;
ComboBox comboBoxSamplerate;
Label labelBitDepth;
ComboBox comboBoxBitDepth;
TextButton buttonRender;
Label label3;
TextEditor numLoopsEditor;
Label label4;
TextEditor outfileNameEditor;
TextButton buttonSelectFile;
Label m_labelMaxOutDuration;
TextEditor m_editorMaxOutDuration;
ToggleButton m_toggleFloatClip;
ToggleButton m_shareAfterRenderToggle;
String ID_lastrenderpath{ "lastrenderpath" };
String ID_lastrendershare{ "lastrendershare" };
int prefHeight = 400;
int prefWidth = 500;
std::unique_ptr<FileChooser> m_filechooser;
bool pendingRender = false;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (RenderSettingsComponent)
};