diff options
author | David Robillard <d@drobilla.net> | 2017-03-18 13:51:02 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-03-18 13:51:02 +0100 |
commit | d3411dafd621f271943b52a54ddaa201dfccbc4e (patch) | |
tree | e50c728addab44e8777ff146a7450ded2c38ae73 /src/server/ingen_lv2.cpp | |
parent | bdcace7d0ee74bfa220827aea5262548053cb62a (diff) | |
download | ingen-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.cpp | 7 |
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; } |