| @@ -208,13 +208,7 @@ void PaulstretchpluginAudioProcessorEditor::timerCallback(int id) | |||||
| { | { | ||||
| m_wavecomponent.setAudioFile(processor.getAudioFile()); | m_wavecomponent.setAudioFile(processor.getAudioFile()); | ||||
| } | } | ||||
| if (processor.getAudioFile()==File() && processor.isRecordingEnabled()==false && m_wavecomponent.isUsingAudioBuffer()==false) | |||||
| { | |||||
| auto bufptr = processor.getStretchSource()->getSourceAudioBuffer(); | |||||
| if (bufptr!=nullptr) | |||||
| m_wavecomponent.setAudioBuffer(bufptr, | |||||
| processor.getSampleRateChecked(), bufptr->getNumSamples()); | |||||
| } | |||||
| m_wavecomponent.setTimeSelection(processor.getTimeSelection()); | m_wavecomponent.setTimeSelection(processor.getTimeSelection()); | ||||
| if (processor.m_state_dirty) | if (processor.m_state_dirty) | ||||
| { | { | ||||
| @@ -234,24 +228,6 @@ void PaulstretchpluginAudioProcessorEditor::setAudioFile(File f) | |||||
| m_wavecomponent.setAudioFile(f); | m_wavecomponent.setAudioFile(f); | ||||
| } | } | ||||
| void PaulstretchpluginAudioProcessorEditor::setAudioBuffer(AudioBuffer<float>* buf, int samplerate, int len) | |||||
| { | |||||
| MessageManager::callAsync([this,buf, samplerate, len]() | |||||
| { | |||||
| m_wavecomponent.setAudioBuffer(buf, samplerate, len); | |||||
| }); | |||||
| } | |||||
| void PaulstretchpluginAudioProcessorEditor::beginAddingAudioBlocks(int channels, int samplerate, int totalllen) | |||||
| { | |||||
| m_wavecomponent.beginAddingAudioBlocks(channels, samplerate, totalllen); | |||||
| } | |||||
| void PaulstretchpluginAudioProcessorEditor::addAudioBlock(AudioBuffer<float>& buf, int samplerate, int pos) | |||||
| { | |||||
| m_wavecomponent.addAudioBlock(buf, samplerate, pos); | |||||
| } | |||||
| bool PaulstretchpluginAudioProcessorEditor::isInterestedInFileDrag(const StringArray & files) | bool PaulstretchpluginAudioProcessorEditor::isInterestedInFileDrag(const StringArray & files) | ||||
| { | { | ||||
| if (files.size() == 0) | if (files.size() == 0) | ||||
| @@ -520,34 +496,6 @@ void WaveformComponent::setAudioFile(File f) | |||||
| */ | */ | ||||
| } | } | ||||
| void WaveformComponent::setAudioBuffer(AudioBuffer<float>* buf, int samplerate, int len) | |||||
| { | |||||
| /* | |||||
| jassert(buf!=nullptr); | |||||
| m_using_audio_buffer = true; | |||||
| m_waveimage = Image(); | |||||
| m_curfile = File(); | |||||
| m_thumb->reset(buf->getNumChannels(), samplerate, len); | |||||
| m_thumb->addBlock(0, *buf, 0, len); | |||||
| */ | |||||
| } | |||||
| void WaveformComponent::beginAddingAudioBlocks(int channels, int samplerate, int totalllen) | |||||
| { | |||||
| /* | |||||
| m_waveimage = Image(); | |||||
| m_curfile = File(); | |||||
| m_thumb->reset(channels, samplerate, totalllen); | |||||
| */ | |||||
| } | |||||
| void WaveformComponent::addAudioBlock(AudioBuffer<float>& buf, int samplerate, int pos) | |||||
| { | |||||
| /* | |||||
| m_thumb->addBlock(pos, buf, 0, buf.getNumSamples()); | |||||
| */ | |||||
| } | |||||
| void WaveformComponent::timerCallback() | void WaveformComponent::timerCallback() | ||||
| { | { | ||||
| repaint(); | repaint(); | ||||
| @@ -89,10 +89,7 @@ public: | |||||
| void setAudioFile(File f); | void setAudioFile(File f); | ||||
| const File& getAudioFile() const { return m_curfile; } | const File& getAudioFile() const { return m_curfile; } | ||||
| bool isUsingAudioBuffer() const { return m_using_audio_buffer; } | bool isUsingAudioBuffer() const { return m_using_audio_buffer; } | ||||
| void setAudioBuffer(AudioBuffer<float>* buf, int samplerate, int len); | |||||
| void beginAddingAudioBlocks(int channels, int samplerate, int totalllen); | |||||
| void addAudioBlock(AudioBuffer<float>& buf, int samplerate, int pos); | |||||
| void timerCallback() override; | |||||
| void timerCallback() override; | |||||
| std::function<double()> CursorPosCallback; | std::function<double()> CursorPosCallback; | ||||
| std::function<void(double)> SeekCallback; | std::function<void(double)> SeekCallback; | ||||
| std::function<void(Range<double>, int)> TimeSelectionChangedCallback; | std::function<void(Range<double>, int)> TimeSelectionChangedCallback; | ||||
| @@ -187,9 +184,7 @@ public: | |||||
| void resized() override; | void resized() override; | ||||
| void timerCallback(int id) override; | void timerCallback(int id) override; | ||||
| void setAudioFile(File f); | void setAudioFile(File f); | ||||
| void setAudioBuffer(AudioBuffer<float>* buf, int samplerate, int len); | |||||
| void beginAddingAudioBlocks(int channels, int samplerate, int totalllen); | |||||
| void addAudioBlock(AudioBuffer<float>& buf, int samplerate, int pos); | |||||
| bool isInterestedInFileDrag(const StringArray &files) override; | bool isInterestedInFileDrag(const StringArray &files) override; | ||||
| void filesDropped(const StringArray &files, int x, int y) override; | void filesDropped(const StringArray &files, int x, int y) override; | ||||
| @@ -442,7 +442,6 @@ void PaulstretchpluginAudioProcessor::prepareToPlay(double sampleRate, int sampl | |||||
| getSampleRateChecked(), | getSampleRateChecked(), | ||||
| len); | len); | ||||
| m_thumb->reset(m_recbuffer.getNumChannels(), sampleRate, len); | m_thumb->reset(m_recbuffer.getNumChannels(), sampleRate, len); | ||||
| //callGUI(this,[this,len](auto ed) { ed->setAudioBuffer(&m_recbuffer, getSampleRateChecked(), len); },false); | |||||
| } | } | ||||
| if (m_prebuffering_inited == false) | if (m_prebuffering_inited == false) | ||||
| { | { | ||||
| @@ -537,12 +536,6 @@ void PaulstretchpluginAudioProcessor::processBlock (AudioSampleBuffer& buffer, M | |||||
| int recbuflenframes = m_max_reclen * getSampleRate(); | int recbuflenframes = m_max_reclen * getSampleRate(); | ||||
| copyAudioBufferWrappingPosition(buffer, m_recbuffer, m_rec_pos, recbuflenframes); | copyAudioBufferWrappingPosition(buffer, m_recbuffer, m_rec_pos, recbuflenframes); | ||||
| m_thumb->addBlock(m_rec_pos, buffer, 0, buffer.getNumSamples()); | m_thumb->addBlock(m_rec_pos, buffer, 0, buffer.getNumSamples()); | ||||
| /* | |||||
| callGUI(this,[this, &buffer](PaulstretchpluginAudioProcessorEditor*ed) | |||||
| { | |||||
| ed->addAudioBlock(buffer, getSampleRate(), m_rec_pos); | |||||
| }, false); | |||||
| */ | |||||
| m_rec_pos = (m_rec_pos + buffer.getNumSamples()) % recbuflenframes; | m_rec_pos = (m_rec_pos + buffer.getNumSamples()) % recbuflenframes; | ||||
| return; | return; | ||||
| } | } | ||||
| @@ -661,12 +654,6 @@ void PaulstretchpluginAudioProcessor::setRecordingEnabled(bool b) | |||||
| m_recbuffer.setSize(2, m_max_reclen*getSampleRateChecked()+4096,false,false,true); | m_recbuffer.setSize(2, m_max_reclen*getSampleRateChecked()+4096,false,false,true); | ||||
| m_recbuffer.clear(); | m_recbuffer.clear(); | ||||
| m_rec_pos = 0; | m_rec_pos = 0; | ||||
| /* | |||||
| callGUI(this,[this,lenbufframes](PaulstretchpluginAudioProcessorEditor* ed) | |||||
| { | |||||
| ed->beginAddingAudioBlocks(2, getSampleRateChecked(), lenbufframes); | |||||
| },false); | |||||
| */ | |||||
| m_thumb->reset(m_recbuffer.getNumChannels(), getSampleRateChecked(), lenbufframes); | m_thumb->reset(m_recbuffer.getNumChannels(), getSampleRateChecked(), lenbufframes); | ||||
| m_is_recording = true; | m_is_recording = true; | ||||
| } | } | ||||
| @@ -76,7 +76,7 @@ | |||||
| </MODULEPATHS> | </MODULEPATHS> | ||||
| </XCODE_MAC> | </XCODE_MAC> | ||||
| <VS2017 targetFolder="Builds/VisualStudio2017" externalLibraries="C:\ProgrammingProjects\gitrepos\fftw-3.3.6\fftw-3.3-libs\x64\Static-Release\libfftwf-3.3.lib" | <VS2017 targetFolder="Builds/VisualStudio2017" externalLibraries="C:\ProgrammingProjects\gitrepos\fftw-3.3.6\fftw-3.3-libs\x64\Static-Release\libfftwf-3.3.lib" | ||||
| extraDefs=""> | |||||
| extraDefs="" vst3Folder=""> | |||||
| <CONFIGURATIONS> | <CONFIGURATIONS> | ||||
| <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="x64" | <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="x64" | ||||
| debugInformationFormat="ProgramDatabase" enablePluginBinaryCopyStep="1" | debugInformationFormat="ProgramDatabase" enablePluginBinaryCopyStep="1" | ||||