summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/LV2Plugin.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-09-28 04:55:46 +0000
committerDavid Robillard <d@drobilla.net>2008-09-28 04:55:46 +0000
commit46459ab2f46fdb826102562c266b0bc2921a3737 (patch)
tree892a8974c7a42316fc29e07c039360dbebbdce91 /src/libs/engine/LV2Plugin.cpp
parentd83003cd073380fe0a28cd1b3ce40dc7ab072fe0 (diff)
downloadingen-46459ab2f46fdb826102562c266b0bc2921a3737.tar.gz
ingen-46459ab2f46fdb826102562c266b0bc2921a3737.tar.bz2
ingen-46459ab2f46fdb826102562c266b0bc2921a3737.zip
Remove header namespace pollution (particularly from libs/gui/App.hpp).
Fix more LV2 plugin RDF race/lock issues with -eg. Show human readable names on new ports when human readable is set (fix ticket #202). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1523 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/LV2Plugin.cpp')
-rw-r--r--src/libs/engine/LV2Plugin.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libs/engine/LV2Plugin.cpp b/src/libs/engine/LV2Plugin.cpp
index 09d48a10..90a3a6b8 100644
--- a/src/libs/engine/LV2Plugin.cpp
+++ b/src/libs/engine/LV2Plugin.cpp
@@ -16,9 +16,13 @@
*/
#include <cassert>
+#include <glibmm.h>
+#include <redlandmm/World.hpp>
#include "LV2Plugin.hpp"
#include "LV2Node.hpp"
#include "NodeImpl.hpp"
+#include "Engine.hpp"
+#include "AudioDriver.hpp"
namespace Ingen {
@@ -58,11 +62,14 @@ NodeImpl*
LV2Plugin::instantiate(const string& name,
bool polyphonic,
Ingen::PatchImpl* parent,
- SampleRate srate,
- size_t buffer_size)
+ Engine& engine)
{
+ SampleCount srate = engine.audio_driver()->sample_rate();
+ SampleCount buffer_size = engine.audio_driver()->buffer_size();
+
load(); // FIXME: unload at some point
+ Glib::Mutex::Lock lock(engine.world()->rdf_world->mutex());
LV2Node* n = new LV2Node(this, name, polyphonic, parent, srate, buffer_size);
if ( ! n->instantiate() ) {