diff options
author | David Robillard <d@drobilla.net> | 2008-11-16 02:49:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-16 02:49:22 +0000 |
commit | 24d998447070dbfef3eaf7762dce7e97c3903801 (patch) | |
tree | 0feffd6ca3c4459e0a7ff6fad9cf48b7816f2cd7 /src/engine/Engine.cpp | |
parent | fb6471ac9d5daefd3655bc19532a6028b5f0ead4 (diff) | |
download | ingen-24d998447070dbfef3eaf7762dce7e97c3903801.tar.gz ingen-24d998447070dbfef3eaf7762dce7e97c3903801.tar.bz2 ingen-24d998447070dbfef3eaf7762dce7e97c3903801.zip |
TCP notification stream support (not fully implemented yet, but transport stuff is working).
Support multiple event sources in the engine.
Clean up HTTP/TCP stuff.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1721 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/Engine.cpp')
-rw-r--r-- | src/engine/Engine.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/engine/Engine.cpp b/src/engine/Engine.cpp index d221b4f9..eb9e2aa8 100644 --- a/src/engine/Engine.cpp +++ b/src/engine/Engine.cpp @@ -165,12 +165,9 @@ Engine::main_iteration() void -Engine::set_event_source(SharedPtr<EventSource> source) +Engine::add_event_source(SharedPtr<EventSource> source) { - if (_event_source) - cerr << "Warning: Dropped event source (engine interface)" << endl; - - _event_source = source; + _event_sources.insert(source); } @@ -192,8 +189,8 @@ Engine::activate(size_t parallelism) if (!_midi_driver) _midi_driver = new DummyMidiDriver(); - if (_event_source) - _event_source->activate(); + for (EventSources::iterator i = _event_sources.begin(); i != _event_sources.end(); ++i) + (*i)->activate(); // Create root patch @@ -229,8 +226,8 @@ Engine::deactivate() if (!_activated) return; - if (_event_source) - _event_source->deactivate(); + for (EventSources::iterator i = _event_sources.begin(); i != _event_sources.end(); ++i) + (*i)->deactivate(); /*for (Tree<GraphObject*>::iterator i = _engine_store->objects().begin(); i != _engine_store->objects().end(); ++i) @@ -257,7 +254,7 @@ Engine::deactivate() _post_processor->process(); _audio_driver.reset(); - _event_source.reset(); + _event_sources.clear(); _activated = false; } @@ -266,8 +263,8 @@ Engine::deactivate() void Engine::process_events(ProcessContext& context) { - if (_event_source) - _event_source->process(*_post_processor, context); + for (EventSources::iterator i = _event_sources.begin(); i != _event_sources.end(); ++i) + (*i)->process(*_post_processor, context); } |