Merge branch 'master' of https://bitbucket.org/xenakios/paulstretchplugin
yeah
This commit is contained in:
commit
642365f03e
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user