New pluginFactory::create(), use it in PluginManager
This commit is contained in:
parent
0cda95a0e6
commit
1957d8cc92
|
@ -27,6 +27,7 @@
|
|||
#include "core/plugins/pluginFactory.h"
|
||||
#include "core/idManager.h"
|
||||
#include "core/plugins/plugin.h"
|
||||
#include "core/plugins/pluginHost.h"
|
||||
|
||||
namespace giada::m::pluginFactory
|
||||
{
|
||||
|
@ -50,4 +51,16 @@ std::unique_ptr<Plugin> createInvalid(const std::string& pid, ID id)
|
|||
{
|
||||
return std::make_unique<Plugin>(pluginId_.generate(id), pid);
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
std::unique_ptr<Plugin> create(ID id, std::unique_ptr<juce::AudioPluginInstance> pi, const model::Sequencer& sequencer,
|
||||
int sampleRate, int bufferSize)
|
||||
{
|
||||
return std::make_unique<Plugin>(
|
||||
pluginId_.generate(id),
|
||||
std::move(pi),
|
||||
std::make_unique<PluginHost::Info>(sequencer, sampleRate),
|
||||
sampleRate, bufferSize);
|
||||
}
|
||||
} // namespace giada::m::pluginFactory
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#define G_PLUGIN_FACTORY_H
|
||||
|
||||
#include "core/types.h"
|
||||
#include <juce_audio_processors/juce_audio_processors.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
@ -36,6 +37,11 @@ namespace giada::m
|
|||
class Plugin;
|
||||
}
|
||||
|
||||
namespace giada::m::model
|
||||
{
|
||||
class Sequencer;
|
||||
}
|
||||
|
||||
namespace giada::m::pluginFactory
|
||||
{
|
||||
/* reset
|
||||
|
@ -44,6 +50,8 @@ Resets internal ID generator. */
|
|||
void reset();
|
||||
|
||||
std::unique_ptr<Plugin> createInvalid(const std::string& pid, ID id);
|
||||
std::unique_ptr<Plugin> create(ID id, std::unique_ptr<juce::AudioPluginInstance>, const model::Sequencer&,
|
||||
int sampleRate, int bufferSize);
|
||||
} // namespace giada::m::pluginFactory
|
||||
|
||||
#endif
|
||||
|
|
|
@ -123,11 +123,7 @@ std::unique_ptr<Plugin> PluginManager::makePlugin(const std::string& pid,
|
|||
return pluginFactory::createInvalid(pid, id);
|
||||
}
|
||||
|
||||
return std::make_unique<Plugin>(
|
||||
m_pluginId.generate(id),
|
||||
std::move(pi),
|
||||
std::make_unique<PluginHost::Info>(sequencer, sampleRate),
|
||||
sampleRate, bufferSize);
|
||||
return pluginFactory::create(id, std::move(pi), sequencer, sampleRate, bufferSize);
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
|
Loading…
Reference in New Issue