summaryrefslogtreecommitdiffstats
path: root/src/server/ingen_lv2.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-03-18 13:51:02 +0100
committerDavid Robillard <d@drobilla.net>2017-03-18 13:51:02 +0100
commitd3411dafd621f271943b52a54ddaa201dfccbc4e (patch)
treee50c728addab44e8777ff146a7450ded2c38ae73 /src/server/ingen_lv2.cpp
parentbdcace7d0ee74bfa220827aea5262548053cb62a (diff)
downloadingen-d3411dafd621f271943b52a54ddaa201dfccbc4e.tar.gz
ingen-d3411dafd621f271943b52a54ddaa201dfccbc4e.tar.bz2
ingen-d3411dafd621f271943b52a54ddaa201dfccbc4e.zip
Fix LV2 ports
Diffstat (limited to 'src/server/ingen_lv2.cpp')
-rw-r--r--src/server/ingen_lv2.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/ingen_lv2.cpp b/src/server/ingen_lv2.cpp
index 00b59ca7..1604ec4f 100644
--- a/src/server/ingen_lv2.cpp
+++ b/src/server/ingen_lv2.cpp
@@ -114,8 +114,11 @@ public:
, _frame_time(0)
, _to_ui_overflow_sem(0)
, _to_ui_overflow(false)
+ , _instantiated(false)
{}
+ virtual bool dynamic_ports() const { return !_instantiated; }
+
void pre_process_port(RunContext& context, EnginePort* port) {
const URIs& uris = _engine.world()->uris();
const SampleCount nframes = context.nframes();
@@ -372,6 +375,8 @@ public:
Ports& ports() { return _ports; }
+ void set_instantiated(bool instantiated) { _instantiated = instantiated; }
+
private:
Engine& _engine;
Ports _ports;
@@ -388,6 +393,7 @@ private:
SampleCount _frame_time;
Raul::Semaphore _to_ui_overflow_sem;
bool _to_ui_overflow;
+ bool _instantiated;
};
} // namespace Server
@@ -585,6 +591,7 @@ ingen_instantiate(const LV2_Descriptor* descriptor,
interface->set_respondee(client);
engine->register_client(client);
+ driver->set_instantiated(true);
return (LV2_Handle)plugin;
}