yeah
This commit is contained in:
xenakios 2018-10-15 18:32:19 +03:00
commit 642365f03e
3 changed files with 46 additions and 22 deletions

View File

@ -29,6 +29,7 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau
m_free_filter_component(&p), m_free_filter_component(&p),
m_wavefilter_tab(p.m_cur_tab_index) m_wavefilter_tab(p.m_cur_tab_index)
{ {
setWantsKeyboardFocus(true);
m_wave_container = new Component; m_wave_container = new Component;
m_free_filter_component.getEnvelopeComponent()->set_envelope(processor.m_free_filter_envelope); m_free_filter_component.getEnvelopeComponent()->set_envelope(processor.m_free_filter_envelope);
m_free_filter_component.getEnvelopeComponent()->XFromNormalized = [this](double x) m_free_filter_component.getEnvelopeComponent()->XFromNormalized = [this](double x)
@ -460,18 +461,28 @@ void PaulstretchpluginAudioProcessorEditor::filesDropped(const StringArray & fil
} }
} }
bool PaulstretchpluginAudioProcessorEditor::keyPressed(const KeyPress & press)
{
if (press == 'I')
{
chooseFile();
return true;
}
return false;
}
void PaulstretchpluginAudioProcessorEditor::chooseFile() void PaulstretchpluginAudioProcessorEditor::chooseFile()
{ {
String initiallocfn = processor.m_propsfile->m_props_file->getValue("importfilefolder", String initiallocfn = processor.m_propsfile->m_props_file->getValue("importfilefolder",
File::getSpecialLocation(File::userHomeDirectory).getFullPathName()); File::getSpecialLocation(File::userHomeDirectory).getFullPathName());
File initialloc(initiallocfn); File initialloc(initiallocfn);
String filterstring = processor.m_afm->getWildcardForAllFormats(); String filterstring = processor.m_afm->getWildcardForAllFormats();
auto prevcomp = std::make_unique<AudioFilePreviewComponent>(&processor); //auto prevcomp = std::make_unique<AudioFilePreviewComponent>(&processor);
processor.setAudioPreview(prevcomp.get()); //processor.setAudioPreview(prevcomp.get());
FileChooser myChooser("Please select audio file...", FileChooser myChooser("Please select audio file...",
initialloc, initialloc,
filterstring,false); filterstring,true);
if (myChooser.browseForFileToOpen(prevcomp.get())) if (myChooser.browseForFileToOpen())
{ {
File resu = myChooser.getResult(); File resu = myChooser.getResult();
String pathname = resu.getFullPathName(); String pathname = resu.getFullPathName();
@ -534,23 +545,7 @@ void PaulstretchpluginAudioProcessorEditor::showSettingsMenu()
} }
if (r == 3) if (r == 3)
{ {
String fftlib = fftwf_version; showAbout();
String juceversiontxt = String("JUCE ") + String(JUCE_MAJOR_VERSION) + "." + String(JUCE_MINOR_VERSION);
String title = g_plugintitle;
#ifdef JUCE_DEBUG
title += " (DEBUG)";
#endif
AlertWindow::showMessageBoxAsync(AlertWindow::InfoIcon,
title,
"Plugin for extreme time stretching and other sound processing\nBuilt on " + String(__DATE__) + " " + String(__TIME__) + "\n"
"Copyright (C) 2006-2011 Nasca Octavian Paul, Tg. Mures, Romania\n"
"(C) 2017-2018 Xenakios\n\n"
"Using " + fftlib + " for FFT\n\n"
+ juceversiontxt + " (c) Roli. Used under the GPL license.\n\n"
"GPL licensed source code for this plugin at : https://bitbucket.org/xenakios/paulstretchplugin/overview\n"
, "OK",
this);
} }
if (r == 6) if (r == 6)
@ -570,6 +565,29 @@ void PaulstretchpluginAudioProcessorEditor::showSettingsMenu()
} }
void PaulstretchpluginAudioProcessorEditor::showAbout()
{
String fftlib = fftwf_version;
String juceversiontxt = String("JUCE ") + String(JUCE_MAJOR_VERSION) + "." + String(JUCE_MINOR_VERSION);
String title = g_plugintitle;
#ifdef JUCE_DEBUG
title += " (DEBUG)";
#endif
PluginHostType host;
AlertWindow::showMessageBoxAsync(AlertWindow::InfoIcon,
title,
"Plugin for extreme time stretching and other sound processing\nBuilt on " + String(__DATE__) + " " + String(__TIME__) + "\n"
"Copyright (C) 2006-2011 Nasca Octavian Paul, Tg. Mures, Romania\n"
"(C) 2017-2018 Xenakios\n\n"
"Using " + fftlib + " for FFT\n\n"
+ juceversiontxt + " (c) Roli. Used under the GPL license.\n\n"
"GPL licensed source code for this plugin at : https://bitbucket.org/xenakios/paulstretchplugin/overview\n"
"Running in : "+host.getHostDescription()+"\n"
, "OK",
this);
}
WaveformComponent::WaveformComponent(AudioFormatManager* afm, AudioThumbnail* thumb, StretchAudioSource* sas) WaveformComponent::WaveformComponent(AudioFormatManager* afm, AudioThumbnail* thumb, StretchAudioSource* sas)
: m_sas(sas) : m_sas(sas)
{ {

View File

@ -313,6 +313,8 @@ public:
bool isInterestedInFileDrag(const StringArray &files) override; bool isInterestedInFileDrag(const StringArray &files) override;
void filesDropped(const StringArray &files, int x, int y) override; void filesDropped(const StringArray &files, int x, int y) override;
bool keyPressed(const KeyPress& press) override;
WaveformComponent m_wavecomponent; WaveformComponent m_wavecomponent;
void chooseFile(); void chooseFile();
void showRenderDialog(); void showRenderDialog();
@ -335,6 +337,7 @@ private:
FreeFilterComponent m_free_filter_component; FreeFilterComponent m_free_filter_component;
MyTabComponent m_wavefilter_tab; MyTabComponent m_wavefilter_tab;
Component* m_wave_container=nullptr; Component* m_wave_container=nullptr;
void showAbout();
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor)
}; };

View File

@ -7,8 +7,11 @@ Copyright (C) 2017-2018 Xenakios
Released under GNU General Public License v.3 license. Released under GNU General Public License v.3 license.
History : History :
09-01-2018 1.3.0 10-07-2018 1.3.0
-Added varispeed (resampling speed change) feature when spectral stretch engine is bypassed -Added varispeed (resampling speed change) feature when spectral stretch engine is bypassed
-Added shortcut keys (may not work properly in all plugin formats and hosts) :
I to open file import dialog
-Added VST3 version
07-09-2018 1.2.2 07-09-2018 1.2.2
-Add option to mute audio when capturing audio -Add option to mute audio when capturing audio
-Automatically adjust play range after capturing to captured length -Automatically adjust play range after capturing to captured length