Save capture files to user documents directory
This commit is contained in:
parent
06ded7d011
commit
0d230ac974
@ -486,26 +486,34 @@ void PaulstretchpluginAudioProcessor::saveCaptureBuffer()
|
|||||||
if (inchans < 1)
|
if (inchans < 1)
|
||||||
return;
|
return;
|
||||||
Uuid uid;
|
Uuid uid;
|
||||||
String outfn = "C:\\Users\\Teemu\\AppData\\Roaming\\PaulXStretch\\audio_captures\\" + uid.toString() + ".wav";
|
|
||||||
WavAudioFormat wavformat;
|
WavAudioFormat wavformat;
|
||||||
|
String outfn = File::getSpecialLocation(File::SpecialLocationType::userDocumentsDirectory).getFullPathName() + "/paulxstretchaudiocaptures/" +
|
||||||
|
uid.toString() + ".wav";
|
||||||
|
Logger::writeToLog("Attempting to save capture to file " + outfn);
|
||||||
File outfile(outfn);
|
File outfile(outfn);
|
||||||
auto outstream = outfile.createOutputStream();
|
outfile.create();
|
||||||
auto writer = unique_from_raw(wavformat.createWriterFor(outstream, getSampleRateChecked(),
|
if (outfile.existsAsFile())
|
||||||
inchans, 32, {}, 0));
|
|
||||||
if (writer != nullptr)
|
|
||||||
{
|
{
|
||||||
auto sourcebuffer = getStretchSource()->getSourceAudioBuffer();
|
auto outstream = outfile.createOutputStream();
|
||||||
jassert(sourcebuffer->getNumChannels() == inchans);
|
auto writer = unique_from_raw(wavformat.createWriterFor(outstream, getSampleRateChecked(),
|
||||||
jassert(sourcebuffer->getNumSamples() > 0);
|
inchans, 32, {}, 0));
|
||||||
Logger::writeToLog("Saving capture to file " + outfn);
|
if (writer != nullptr)
|
||||||
writer->writeFromAudioSampleBuffer(*sourcebuffer, 0, sourcebuffer->getNumSamples());
|
{
|
||||||
m_current_file = outfile;
|
auto sourcebuffer = getStretchSource()->getSourceAudioBuffer();
|
||||||
|
jassert(sourcebuffer->getNumChannels() == inchans);
|
||||||
|
jassert(sourcebuffer->getNumSamples() > 0);
|
||||||
|
|
||||||
|
writer->writeFromAudioSampleBuffer(*sourcebuffer, 0, sourcebuffer->getNumSamples());
|
||||||
|
m_current_file = outfile;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Logger::writeToLog("Could not create wav writer");
|
||||||
|
delete outstream;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
Logger::writeToLog("Could not create output file");
|
||||||
Logger::writeToLog("Could not create wav writer");
|
|
||||||
delete outstream;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
std::thread th(task);
|
std::thread th(task);
|
||||||
th.detach();
|
th.detach();
|
||||||
|
Loading…
Reference in New Issue
Block a user