| @@ -524,12 +524,14 @@ void PaulstretchpluginAudioProcessorEditor::chooseFile() | |||||
| 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...", | |||||
| m_filechooser = std::make_unique<FileChooser>("Please select audio file...", | |||||
| initialloc, | initialloc, | ||||
| filterstring,true); | |||||
| if (myChooser.browseForFileToOpen()) | |||||
| filterstring,true,false,this); | |||||
| m_filechooser->launchAsync(0, processor.m_filechoose_callback); | |||||
| return; | |||||
| //if (m_filechooser->launchAsync(0,processor.m_filechoose_callback)) | |||||
| { | { | ||||
| File resu = myChooser.getResult(); | |||||
| File resu = m_filechooser->getResult(); | |||||
| String pathname = resu.getFullPathName(); | String pathname = resu.getFullPathName(); | ||||
| if (pathname.startsWith("/localhost")) | if (pathname.startsWith("/localhost")) | ||||
| { | { | ||||
| @@ -539,8 +541,8 @@ void PaulstretchpluginAudioProcessorEditor::chooseFile() | |||||
| processor.m_propsfile->m_props_file->setValue("importfilefolder", resu.getParentDirectory().getFullPathName()); | processor.m_propsfile->m_props_file->setValue("importfilefolder", resu.getParentDirectory().getFullPathName()); | ||||
| m_last_err = processor.setAudioFile(resu); | m_last_err = processor.setAudioFile(resu); | ||||
| } | } | ||||
| processor.setAudioPreview(nullptr); | |||||
| toFront(true); | |||||
| //processor.setAudioPreview(nullptr); | |||||
| //toFront(true); | |||||
| } | } | ||||
| void PaulstretchpluginAudioProcessorEditor::showSettingsMenu() | void PaulstretchpluginAudioProcessorEditor::showSettingsMenu() | ||||
| @@ -436,6 +436,7 @@ public: | |||||
| void showRenderDialog(); | void showRenderDialog(); | ||||
| void executeModalMenuAction(int menuid, int actionid); | void executeModalMenuAction(int menuid, int actionid); | ||||
| SimpleFFTComponent m_sonogram; | SimpleFFTComponent m_sonogram; | ||||
| String m_last_err; | |||||
| private: | private: | ||||
| PaulstretchpluginAudioProcessor& processor; | PaulstretchpluginAudioProcessor& processor; | ||||
| uptrvec<ParameterComponent> m_parcomps; | uptrvec<ParameterComponent> m_parcomps; | ||||
| @@ -449,7 +450,7 @@ private: | |||||
| SpectralChainEditor m_spec_order_ed; | SpectralChainEditor m_spec_order_ed; | ||||
| void showSettingsMenu(); | void showSettingsMenu(); | ||||
| String m_last_err; | |||||
| zoom_scrollbar m_zs; | zoom_scrollbar m_zs; | ||||
| RatioMixerEditor m_ratiomixeditor{ 8 }; | RatioMixerEditor m_ratiomixeditor{ 8 }; | ||||
| FreeFilterComponent m_free_filter_component; | FreeFilterComponent m_free_filter_component; | ||||
| @@ -458,6 +459,8 @@ private: | |||||
| Component* m_wave_container=nullptr; | Component* m_wave_container=nullptr; | ||||
| void showAbout(); | void showAbout(); | ||||
| std::vector<int> m_capturelens{ 2,5,10,30,60,120 }; | std::vector<int> m_capturelens{ 2,5,10,30,60,120 }; | ||||
| std::unique_ptr<FileChooser> m_filechooser; | |||||
| JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor) | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor) | ||||
| }; | }; | ||||
| @@ -60,6 +60,23 @@ inline AudioParameterFloat* make_floatpar(String id, String name, float minv, fl | |||||
| PaulstretchpluginAudioProcessor::PaulstretchpluginAudioProcessor() | PaulstretchpluginAudioProcessor::PaulstretchpluginAudioProcessor() | ||||
| : m_bufferingthread("pspluginprebufferthread") | : m_bufferingthread("pspluginprebufferthread") | ||||
| { | { | ||||
| m_filechoose_callback = [this](const FileChooser& chooser) | |||||
| { | |||||
| File resu = chooser.getResult(); | |||||
| String pathname = resu.getFullPathName(); | |||||
| if (pathname.startsWith("/localhost")) | |||||
| { | |||||
| pathname = pathname.substring(10); | |||||
| resu = File(pathname); | |||||
| } | |||||
| m_propsfile->m_props_file->setValue("importfilefolder", resu.getParentDirectory().getFullPathName()); | |||||
| String loaderr = setAudioFile(resu); | |||||
| if (auto ed = dynamic_cast<PaulstretchpluginAudioProcessorEditor*>(getActiveEditor()); ed != nullptr) | |||||
| { | |||||
| ed->m_last_err = loaderr; | |||||
| } | |||||
| }; | |||||
| m_playposinfo.timeInSeconds = 0.0; | m_playposinfo.timeInSeconds = 0.0; | ||||
| m_free_filter_envelope = std::make_shared<breakpoint_envelope>(); | m_free_filter_envelope = std::make_shared<breakpoint_envelope>(); | ||||
| @@ -241,6 +241,7 @@ public: | |||||
| bool m_save_captured_audio = true; | bool m_save_captured_audio = true; | ||||
| String m_capture_location; | String m_capture_location; | ||||
| bool m_midinote_control = false; | bool m_midinote_control = false; | ||||
| std::function<void(const FileChooser&)> m_filechoose_callback; | |||||
| private: | private: | ||||
| bool m_prebuffering_inited = false; | bool m_prebuffering_inited = false; | ||||
| AudioBuffer<float> m_recbuffer; | AudioBuffer<float> m_recbuffer; | ||||