summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/PluginImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-22 03:48:28 +0000
committerDavid Robillard <d@drobilla.net>2007-10-22 03:48:28 +0000
commite9d99340c9ac29aaa7912db0554a88820c4a776a (patch)
tree2bb49de8b90d861330e8db50919a8137b10cc913 /src/libs/engine/PluginImpl.cpp
parent5ae4d4d5e805e828b51b98767ac51da24c3b21f1 (diff)
downloadingen-e9d99340c9ac29aaa7912db0554a88820c4a776a.tar.gz
ingen-e9d99340c9ac29aaa7912db0554a88820c4a776a.tar.bz2
ingen-e9d99340c9ac29aaa7912db0554a88820c4a776a.zip
Rework plugin design (engine side) to be less crap.
Use LADSPA labels instead of munged friendly names to generate OSC paths. Separate OSC paths/names from human friendly names (conceptually, still needs UI exposing). git-svn-id: http://svn.drobilla.net/lad/ingen@898 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/PluginImpl.cpp')
-rw-r--r--src/libs/engine/PluginImpl.cpp26
1 files changed, 4 insertions, 22 deletions
diff --git a/src/libs/engine/PluginImpl.cpp b/src/libs/engine/PluginImpl.cpp
index dfff1031..709f18bd 100644
--- a/src/libs/engine/PluginImpl.cpp
+++ b/src/libs/engine/PluginImpl.cpp
@@ -31,8 +31,8 @@ void
PluginImpl::load()
{
if (!_module) {
- cerr << "Loading " << _lib_path << endl;
- _module = new Glib::Module(_lib_path, Glib::MODULE_BIND_LOCAL);
+ cerr << "Loading " << _library_path << " library" << endl;
+ _module = new Glib::Module(_library_path, Glib::MODULE_BIND_LOCAL);
if (!(*_module))
delete _module;
}
@@ -43,30 +43,12 @@ void
PluginImpl::unload()
{
if (_module) {
- cerr << "Unloading " << _lib_path << endl;
+ cerr << "Unloading " << _library_path << endl;
delete _module;
_module = NULL;
}
}
-NodeImpl*
-PluginImpl::instantiate(const string& name, bool polyphonic, Ingen::PatchImpl* parent, SampleRate srate, size_t buffer_size)
-{
- assert(_type == Internal);
-
- if (_uri == "ingen:note_node") {
- return new MidiNoteNode(name, polyphonic, parent, srate, buffer_size);
- } else if (_uri == "ingen:trigger_node") {
- return new MidiTriggerNode(name, polyphonic, parent, srate, buffer_size);
- } else if (_uri == "ingen:control_node") {
- return new MidiControlNode(name, polyphonic, parent, srate, buffer_size);
- } else if (_uri == "ingen:transport_node") {
- return new TransportNode(name, polyphonic, parent, srate, buffer_size);
- } else {
- return NULL;
- }
-}
-
-
} // namespace Ingen
+