commit f2a612fa43e396ab3c5d9d30ae4e9ef86d9c64a5
parent a82f18389090386b2307e27b6e643d91b70418eb
Author: Tal Aviram <me@talaviram.com>
Date: Fri, 30 Jul 2021 08:52:52 +0300
controller - add getter from processor.
Diffstat:
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/source/jucePlugin/PluginProcessor.cpp b/source/jucePlugin/PluginProcessor.cpp
@@ -86,13 +86,7 @@ void AudioPluginAudioProcessor::prepareToPlay (double sampleRate, int samplesPer
{
// Use this method as the place to do any pre-playback
// initialisation that you need..
- if (m_controller == nullptr)
- {
- // initialize controller if not exists.
- // assures PluginProcessor is fully constructed!
- m_controller = std::make_unique<Virus::Controller>(*this);
- }
-
+ getController(); // ensures controller is constructed before calling from processBlock!
m_plugin.setSamplerate(static_cast<float>(sampleRate));
m_plugin.setBlockSize(samplesPerBlock);
setLatencySamples(m_plugin.getLatencySamples());
@@ -276,6 +270,17 @@ void AudioPluginAudioProcessor::addMidiEvent(const synthLib::SMidiEvent& ev)
m_plugin.addMidiEvent(ev);
}
+Virus::Controller &AudioPluginAudioProcessor::getController()
+{
+ if (m_controller == nullptr)
+ {
+ // initialize controller if not exists.
+ // assures PluginProcessor is fully constructed!
+ m_controller = std::make_unique<Virus::Controller>(*this);
+ }
+ return *m_controller;
+}
+
void AudioPluginAudioProcessor::setState(const void* _data, size_t _sizeInBytes)
{
if(_sizeInBytes < 1)
diff --git a/source/jucePlugin/PluginProcessor.h b/source/jucePlugin/PluginProcessor.h
@@ -50,7 +50,7 @@ public:
// _____________
//
-
+ Virus::Controller &getController();
bool isPluginValid() const { return m_plugin.isValid(); }
void getLastMidiOut(std::vector<synthLib::SMidiEvent>& dst);
void addMidiEvent(const synthLib::SMidiEvent& ev);