Use shared audioformatmanager between plugin instances

This commit is contained in:
xenakios 2017-11-24 01:44:30 +02:00
parent e9e1c45550
commit 73ef79509c
3 changed files with 6 additions and 5 deletions

View File

@ -15,7 +15,7 @@
//==============================================================================
PaulstretchpluginAudioProcessorEditor::PaulstretchpluginAudioProcessorEditor (PaulstretchpluginAudioProcessor& p)
: AudioProcessorEditor (&p),
m_wavecomponent(p.m_afm.get()),
m_wavecomponent(p.m_afm),
processor (p)
{

View File

@ -73,9 +73,9 @@ PaulstretchpluginAudioProcessor::PaulstretchpluginAudioProcessor()
g_activeprocessors.insert(this);
m_recbuffer.setSize(2, 44100);
m_recbuffer.clear();
m_afm = std::make_unique<AudioFormatManager>();
if (m_afm->getNumKnownFormats()==0)
m_afm->registerBasicFormats();
m_stretch_source = std::make_unique<StretchAudioSource>(2, m_afm.get());
m_stretch_source = std::make_unique<StretchAudioSource>(2, m_afm);
setPreBufferAmount(2);
m_ppar.pitch_shift.enabled = true;

View File

@ -15,6 +15,7 @@
class MyThumbCache;
class PaulstretchpluginAudioProcessor : public AudioProcessor
{
public:
@ -64,7 +65,7 @@ public:
String setAudioFile(File f);
File getAudioFile() { return m_current_file; }
Range<double> getTimeSelection();
std::unique_ptr<AudioFormatManager> m_afm;
SharedResourcePointer<AudioFormatManager> m_afm;
StretchAudioSource* getStretchSource() { return m_stretch_source.get(); }
double getPreBufferingPercent();
private: