summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}