diff options
author | David Robillard <d@drobilla.net> | 2010-03-06 10:23:19 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-03-06 10:23:19 +0000 |
commit | 059f20c9666234f2be01498ee04f1e7ee795ba8f (patch) | |
tree | ef0d53073d53012aeaa7d084fccf477b166c0684 /src/engine/Engine.hpp | |
parent | 085a451dfec54126be1b9346899c81d82e6eb58e (diff) | |
download | ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.tar.gz ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.tar.bz2 ingen-059f20c9666234f2be01498ee04f1e7ee795ba8f.zip |
Save Ingen patches as working standard LV2 plugin bundles.
This allows you to create an Ingen patch in Ingen running as a Jack client,
save it, then load that patch as an LV2 plugin in any LV2 compliant host.
Eliminate (hopefully) all static data in the engine (for multiple instantiations in a single process).
More API/ABI stable interface for Ingen::Shared::World.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2533 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/Engine.hpp')
-rw-r--r-- | src/engine/Engine.hpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp index e575db50..fe5f34e6 100644 --- a/src/engine/Engine.hpp +++ b/src/engine/Engine.hpp @@ -61,7 +61,7 @@ class QueuedEvent; * * \ingroup engine */ -class Engine : boost::noncopyable +class Engine : public boost::noncopyable { public: Engine(Ingen::Shared::World* world); @@ -78,32 +78,30 @@ public: virtual bool activate(); virtual void deactivate(); - void process_events(ProcessContext& context); + virtual void process_events(ProcessContext& context); virtual bool activated() { return _activated; } - BufferFactory* buffer_factory() const { return _buffer_factory; } - ClientBroadcaster* broadcaster() const { return _broadcaster; } - ControlBindings* control_bindings() const { return _control_bindings; } - Driver* driver() const { return _driver.get(); } - MessageContext* message_context() const { return _message_context; } - NodeFactory* node_factory() const { return _node_factory; } - PostProcessor* post_processor() const { return _post_processor; } - Raul::Maid* maid() const { return _maid; } + virtual BufferFactory* buffer_factory() const { return _buffer_factory; } + virtual ClientBroadcaster* broadcaster() const { return _broadcaster; } + virtual ControlBindings* control_bindings() const { return _control_bindings; } + virtual Driver* driver() const { return _driver.get(); } + virtual MessageContext* message_context() const { return _message_context; } + virtual NodeFactory* node_factory() const { return _node_factory; } + virtual PostProcessor* post_processor() const { return _post_processor; } + virtual Raul::Maid* maid() const { return _maid; } - SharedPtr<EngineStore> engine_store() const; + virtual SharedPtr<EngineStore> engine_store() const; virtual void set_driver(SharedPtr<Driver> driver) { _driver = driver; } virtual void add_event_source(SharedPtr<EventSource> source); - Ingen::QueuedEngineInterface* new_local_interface(); - - Ingen::Shared::World* world() { return _world; } + virtual Ingen::Shared::World* world() { return _world; } typedef std::vector<ProcessSlave*> ProcessSlaves; - inline const ProcessSlaves& process_slaves() const { return _process_slaves; } - inline ProcessSlaves& process_slaves() { return _process_slaves; } + virtual const ProcessSlaves& process_slaves() const { return _process_slaves; } + virtual ProcessSlaves& process_slaves() { return _process_slaves; } private: typedef std::set< SharedPtr<EventSource> > EventSources; |