diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 97346ac..1eb55bb 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -29,6 +29,7 @@ PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor(Pau m_free_filter_component(&p), m_wavefilter_tab(p.m_cur_tab_index) { + setWantsKeyboardFocus(true); m_wave_container = new Component; m_free_filter_component.getEnvelopeComponent()->set_envelope(processor.m_free_filter_envelope); 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() { String initiallocfn = processor.m_propsfile->m_props_file->getValue("importfilefolder", File::getSpecialLocation(File::userHomeDirectory).getFullPathName()); File initialloc(initiallocfn); String filterstring = processor.m_afm->getWildcardForAllFormats(); - auto prevcomp = std::make_unique(&processor); - processor.setAudioPreview(prevcomp.get()); + //auto prevcomp = std::make_unique(&processor); + //processor.setAudioPreview(prevcomp.get()); FileChooser myChooser("Please select audio file...", initialloc, - filterstring,false); - if (myChooser.browseForFileToOpen(prevcomp.get())) + filterstring,true); + if (myChooser.browseForFileToOpen()) { File resu = myChooser.getResult(); String pathname = resu.getFullPathName(); @@ -534,23 +545,7 @@ void PaulstretchpluginAudioProcessorEditor::showSettingsMenu() } if (r == 3) { - 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 - 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); - + showAbout(); } 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) : m_sas(sas) { diff --git a/Source/PluginEditor.h b/Source/PluginEditor.h index 19fdb62..78a1b90 100644 --- a/Source/PluginEditor.h +++ b/Source/PluginEditor.h @@ -313,6 +313,8 @@ public: bool isInterestedInFileDrag(const StringArray &files) override; void filesDropped(const StringArray &files, int x, int y) override; + bool keyPressed(const KeyPress& press) override; + WaveformComponent m_wavecomponent; void chooseFile(); void showRenderDialog(); @@ -335,6 +337,7 @@ private: FreeFilterComponent m_free_filter_component; MyTabComponent m_wavefilter_tab; Component* m_wave_container=nullptr; + void showAbout(); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor) }; diff --git a/readme.txt b/readme.txt index 57379c8..0b52254 100644 --- a/readme.txt +++ b/readme.txt @@ -7,8 +7,11 @@ Copyright (C) 2017-2018 Xenakios Released under GNU General Public License v.3 license. 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 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 -Add option to mute audio when capturing audio -Automatically adjust play range after capturing to captured length