Use Jules's neat way to attach button callbacks. Separate method in editor to choose file to load. Revert change to resample.cpp.

This commit is contained in:
xenakios
2017-11-16 17:38:59 +02:00
parent 43be82edc8
commit aee132519a
3 changed files with 57 additions and 36 deletions

View File

@ -21,7 +21,8 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor (Pa
{
addAndMakeVisible(&m_import_button);
m_import_button.setButtonText("Import file...");
m_import_button.addListener(this);
attachCallback(m_import_button, [this]() { chooseFile(); });
addAndMakeVisible(&m_info_label);
addAndMakeVisible(&m_wavecomponent);
const auto& pars = processor.getParameters();
@ -33,7 +34,8 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor (Pa
}
addAndMakeVisible(&m_rec_enable);
m_rec_enable.setButtonText("Capture");
m_rec_enable.addListener(this);
attachCallback(m_rec_enable, [this]() { processor.setRecordingEnabled(m_rec_enable.getToggleState()); });
setSize (700, pars.size()*25+200);
m_wavecomponent.TimeSelectionChangedCallback = [this](Range<double> range, int which)
{
@ -48,40 +50,13 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor (Pa
startTimer(1, 100);
startTimer(2, 1000);
m_wavecomponent.startTimer(100);
}
PaulstretchpluginAudioProcessorEditor::~PaulstretchpluginAudioProcessorEditor()
{
}
void PaulstretchpluginAudioProcessorEditor::buttonClicked(Button * but)
{
if (but == &m_rec_enable)
{
processor.setRecordingEnabled(but->getToggleState());
}
if (but == &m_import_button)
{
#ifdef WIN32
File initialloc("C:/MusicAudio/sourcesamples");
#else
File initialloc("/Users/teemu/AudioProjects/sourcesamples");
#endif
FileChooser myChooser("Please select audio file...",
initialloc,
"*.wav");
if (myChooser.browseForFileToOpen())
{
processor.setAudioFile(myChooser.getResult());
if (processor.getAudioFile() != File())
{
m_wavecomponent.setAudioFile(processor.getAudioFile());
}
}
}
}
//==============================================================================
void PaulstretchpluginAudioProcessorEditor::paint (Graphics& g)
{
g.fillAll(Colours::darkgrey);
@ -147,6 +122,26 @@ void PaulstretchpluginAudioProcessorEditor::addAudioBlock(AudioBuffer<float>& bu
m_wavecomponent.addAudioBlock(buf, samplerate, pos);
}
void PaulstretchpluginAudioProcessorEditor::chooseFile()
{
#ifdef WIN32
File initialloc("C:/MusicAudio/sourcesamples");
#else
File initialloc("/Users/teemu/AudioProjects/sourcesamples");
#endif
FileChooser myChooser("Please select audio file...",
initialloc,
"*.wav");
if (myChooser.browseForFileToOpen())
{
processor.setAudioFile(myChooser.getResult());
if (processor.getAudioFile() != File())
{
m_wavecomponent.setAudioFile(processor.getAudioFile());
}
}
}
WaveformComponent::WaveformComponent(AudioFormatManager* afm) : m_thumbcache(100)
{
TimeSelectionChangedCallback = [](Range<double>, int) {};