Workaround a bug in Juce/MacOS file dialog stuff. Show error messages in GUI.
This commit is contained in:
parent
dd9b7f3be3
commit
45dccb830d
@ -103,7 +103,7 @@ void PaulstretchpluginAudioProcessorEditor::timerCallback(int id)
|
|||||||
m_wavecomponent.setRecordingPosition(processor.getRecordingPositionPercent());
|
m_wavecomponent.setRecordingPosition(processor.getRecordingPositionPercent());
|
||||||
} else
|
} else
|
||||||
m_wavecomponent.setRecordingPosition(-1.0);
|
m_wavecomponent.setRecordingPosition(-1.0);
|
||||||
String infotext = String(processor.getPreBufferingPercent(), 1) + " " + String(processor.getStretchSource()->m_param_change_count);
|
String infotext = String(processor.getPreBufferingPercent(), 1) + " " + String(processor.getStretchSource()->m_param_change_count)+" "+m_last_err;
|
||||||
m_info_label.setText(infotext, dontSendNotification);
|
m_info_label.setText(infotext, dontSendNotification);
|
||||||
}
|
}
|
||||||
if (id == 2)
|
if (id == 2)
|
||||||
@ -161,10 +161,17 @@ void PaulstretchpluginAudioProcessorEditor::chooseFile()
|
|||||||
#endif
|
#endif
|
||||||
FileChooser myChooser("Please select audio file...",
|
FileChooser myChooser("Please select audio file...",
|
||||||
initialloc,
|
initialloc,
|
||||||
"*.wav");
|
"*.wav",true);
|
||||||
if (myChooser.browseForFileToOpen())
|
if (myChooser.browseForFileToOpen())
|
||||||
{
|
{
|
||||||
processor.setAudioFile(myChooser.getResult());
|
File resu = myChooser.getResult();
|
||||||
|
String pathname = resu.getFullPathName();
|
||||||
|
if (pathname.startsWith("/localhost"))
|
||||||
|
{
|
||||||
|
pathname = pathname.substring(10);
|
||||||
|
resu = File(pathname);
|
||||||
|
}
|
||||||
|
m_last_err = processor.setAudioFile(resu);
|
||||||
if (processor.getAudioFile() != File())
|
if (processor.getAudioFile() != File())
|
||||||
{
|
{
|
||||||
m_wavecomponent.setAudioFile(processor.getAudioFile());
|
m_wavecomponent.setAudioFile(processor.getAudioFile());
|
||||||
|
@ -330,7 +330,7 @@ private:
|
|||||||
Label m_info_label;
|
Label m_info_label;
|
||||||
SpectralChainEditor m_spec_order_ed;
|
SpectralChainEditor m_spec_order_ed;
|
||||||
void chooseFile();
|
void chooseFile();
|
||||||
|
String m_last_err;
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor)
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessorEditor)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -478,7 +478,11 @@ double PaulstretchpluginAudioProcessor::getRecordingPositionPercent()
|
|||||||
|
|
||||||
String PaulstretchpluginAudioProcessor::setAudioFile(File f)
|
String PaulstretchpluginAudioProcessor::setAudioFile(File f)
|
||||||
{
|
{
|
||||||
auto ai = unique_from_raw(m_afm->createReaderFor(f));
|
//if (f==File())
|
||||||
|
// return String();
|
||||||
|
//if (f==m_current_file && f.getLastModificationTime()==m_current_file_date)
|
||||||
|
// return String();
|
||||||
|
auto ai = unique_from_raw(m_afm->createReaderFor(f));
|
||||||
if (ai != nullptr)
|
if (ai != nullptr)
|
||||||
{
|
{
|
||||||
if (ai->numChannels > 32)
|
if (ai->numChannels > 32)
|
||||||
@ -494,6 +498,7 @@ String PaulstretchpluginAudioProcessor::setAudioFile(File f)
|
|||||||
ScopedLock locker(m_cs);
|
ScopedLock locker(m_cs);
|
||||||
m_stretch_source->setAudioFile(f);
|
m_stretch_source->setAudioFile(f);
|
||||||
m_current_file = f;
|
m_current_file = f;
|
||||||
|
m_current_file_date = m_current_file.getLastModificationTime();
|
||||||
m_using_memory_buffer = false;
|
m_using_memory_buffer = false;
|
||||||
return String();
|
return String();
|
||||||
//MessageManager::callAsync([cb, file]() { cb(String()); });
|
//MessageManager::callAsync([cb, file]() { cb(String()); });
|
||||||
|
@ -111,7 +111,7 @@ private:
|
|||||||
int m_cur_num_out_chans = 2;
|
int m_cur_num_out_chans = 2;
|
||||||
CriticalSection m_cs;
|
CriticalSection m_cs;
|
||||||
File m_current_file;
|
File m_current_file;
|
||||||
|
Time m_current_file_date;
|
||||||
|
|
||||||
TimeSliceThread m_bufferingthread;
|
TimeSliceThread m_bufferingthread;
|
||||||
std::unique_ptr<StretchAudioSource> m_stretch_source;
|
std::unique_ptr<StretchAudioSource> m_stretch_source;
|
||||||
|
Loading…
Reference in New Issue
Block a user