@@ -487,8 +487,8 @@ void PaulstretchpluginAudioProcessor::saveCaptureBuffer() | |||||
return; | return; | ||||
Uuid uid; | Uuid uid; | ||||
WavAudioFormat wavformat; | WavAudioFormat wavformat; | ||||
String outfn = File::getSpecialLocation(File::SpecialLocationType::userDocumentsDirectory).getFullPathName() + "/paulxstretchaudiocaptures/" + | |||||
uid.toString() + ".wav"; | |||||
String propsdir = m_propsfile->m_props_file->getFile().getParentDirectory().getFullPathName(); | |||||
String outfn = propsdir + "/paulxstretchaudiocaptures/" + uid.toString() + ".wav"; | |||||
Logger::writeToLog("Attempting to save capture to file " + outfn); | Logger::writeToLog("Attempting to save capture to file " + outfn); | ||||
File outfile(outfn); | File outfile(outfn); | ||||
outfile.create(); | outfile.create(); | ||||
@@ -515,8 +515,7 @@ void PaulstretchpluginAudioProcessor::saveCaptureBuffer() | |||||
else | else | ||||
Logger::writeToLog("Could not create output file"); | Logger::writeToLog("Could not create output file"); | ||||
}; | }; | ||||
std::thread th(task); | |||||
th.detach(); | |||||
m_threadpool->addJob(task); | |||||
} | } | ||||
String PaulstretchpluginAudioProcessor::offlineRender(File outputfile) | String PaulstretchpluginAudioProcessor::offlineRender(File outputfile) | ||||
@@ -89,6 +89,12 @@ const int cpi_looping_enabled = 60; | |||||
const int cpi_rewind = 61; | const int cpi_rewind = 61; | ||||
const int cpi_dryplayrate = 62; | const int cpi_dryplayrate = 62; | ||||
class MyThreadPool : public ThreadPool | |||||
{ | |||||
public: | |||||
MyThreadPool() : ThreadPool(2) {} | |||||
}; | |||||
class MyPropertiesFile | class MyPropertiesFile | ||||
{ | { | ||||
public: | public: | ||||
@@ -263,7 +269,7 @@ private: | |||||
bool m_lastrewind = false; | bool m_lastrewind = false; | ||||
AudioFilePreviewComponent* m_previewcomponent = nullptr; | AudioFilePreviewComponent* m_previewcomponent = nullptr; | ||||
void saveCaptureBuffer(); | void saveCaptureBuffer(); | ||||
SharedResourcePointer<MyThreadPool> m_threadpool; | |||||
//============================================================================== | //============================================================================== | ||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessor) | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PaulstretchpluginAudioProcessor) | ||||
}; | }; |