diff options
Diffstat (limited to 'src/server/InternalPlugin.cpp')
-rw-r--r-- | src/server/InternalPlugin.cpp | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/src/server/InternalPlugin.cpp b/src/server/InternalPlugin.cpp index 8d43a321..7670c931 100644 --- a/src/server/InternalPlugin.cpp +++ b/src/server/InternalPlugin.cpp @@ -22,26 +22,27 @@ #include "internals/Note.hpp" #include "internals/Time.hpp" #include "internals/Trigger.hpp" +#include "types.hpp" -#include "ingen/URIs.hpp" +#include <ingen/URI.hpp> +#include <ingen/URIs.hpp> +#include <lilv/lilv.h> +#include <raul/Symbol.hpp> -namespace ingen { -namespace server { +#include <utility> -using namespace internals; +namespace ingen::server { -InternalPlugin::InternalPlugin(URIs& uris, - const URI& uri, - const Raul::Symbol& symbol) - : PluginImpl(uris, uris.ingen_Internal.urid, uri) - , _symbol(symbol) +InternalPlugin::InternalPlugin(URIs& uris, const URI& uri, raul::Symbol symbol) + : PluginImpl(uris, uris.ingen_Internal.urid_atom(), uri) + , _symbol(std::move(symbol)) { set_property(uris.rdf_type, uris.ingen_Internal); } BlockImpl* InternalPlugin::instantiate(BufferFactory& bufs, - const Raul::Symbol& symbol, + const raul::Symbol& symbol, bool polyphonic, GraphImpl* parent, Engine& engine, @@ -50,19 +51,31 @@ InternalPlugin::instantiate(BufferFactory& bufs, const SampleCount srate = engine.sample_rate(); if (uri() == NS_INTERNALS "BlockDelay") { - return new BlockDelayNode(this, bufs, symbol, polyphonic, parent, srate); - } else if (uri() == NS_INTERNALS "Controller") { - return new ControllerNode(this, bufs, symbol, polyphonic, parent, srate); - } else if (uri() == NS_INTERNALS "Note") { - return new NoteNode(this, bufs, symbol, polyphonic, parent, srate); - } else if (uri() == NS_INTERNALS "Time") { - return new TimeNode(this, bufs, symbol, polyphonic, parent, srate); - } else if (uri() == NS_INTERNALS "Trigger") { - return new TriggerNode(this, bufs, symbol, polyphonic, parent, srate); - } else { - return nullptr; + return new internals::BlockDelayNode( + this, bufs, symbol, polyphonic, parent, srate); } + + if (uri() == NS_INTERNALS "Controller") { + return new internals::ControllerNode( + this, bufs, symbol, polyphonic, parent, srate); + } + + if (uri() == NS_INTERNALS "Note") { + return new internals::NoteNode( + this, bufs, symbol, polyphonic, parent, srate); + } + + if (uri() == NS_INTERNALS "Time") { + return new internals::TimeNode( + this, bufs, symbol, polyphonic, parent, srate); + } + + if (uri() == NS_INTERNALS "Trigger") { + return new internals::TriggerNode( + this, bufs, symbol, polyphonic, parent, srate); + } + + return nullptr; } -} // namespace server -} // namespace ingen +} // namespace ingen::server |