From 08759b27bc19de59bfd17fc929ee7e0021181ffb Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 19 Apr 2011 21:07:07 +0000 Subject: Remove EngineInterface::activate() and EngineInterface::deactivate(). Use set_property("ingen:driver", "ingen:enabled", true | false) instead. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3171 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/OSCEngineReceiver.cpp | 30 ------------------------------ src/engine/OSCEngineReceiver.hpp | 2 -- src/engine/QueuedEngineInterface.cpp | 35 +++++++++++++++++------------------ src/engine/QueuedEngineInterface.hpp | 2 -- 4 files changed, 17 insertions(+), 52 deletions(-) (limited to 'src/engine') diff --git a/src/engine/OSCEngineReceiver.cpp b/src/engine/OSCEngineReceiver.cpp index 59aac9e4..1b8d1179 100644 --- a/src/engine/OSCEngineReceiver.cpp +++ b/src/engine/OSCEngineReceiver.cpp @@ -97,8 +97,6 @@ OSCEngineReceiver::OSCEngineReceiver(Engine& engine, size_t queue_size, uint16_t lo_server_add_method(_server, "/quit", "i", quit_cb, this); lo_server_add_method(_server, "/register_client", "i", register_client_cb, this); lo_server_add_method(_server, "/unregister_client", "i", unregister_client_cb, this); - lo_server_add_method(_server, "/activate", "i", engine_activate_cb, this); - lo_server_add_method(_server, "/deactivate", "i", engine_deactivate_cb, this); lo_server_add_method(_server, "/put", NULL, put_cb, this); lo_server_add_method(_server, "/move", "iss", move_cb, this); lo_server_add_method(_server, "/delete", "is", del_cb, this); @@ -327,34 +325,6 @@ OSCEngineReceiver::_unregister_client_cb(const char* path, const char* types, lo return 0; } -/** \page engine_osc_namespace - *

/activate

- * \arg \b response-id (integer) - * - * Activate the engine (event processing and all drivers, e.g. audio and MIDI). - * Note that you must send this message first if you want the engine to do - * anything at all - including respond to your messages! - */ -int -OSCEngineReceiver::_engine_activate_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) -{ - QueuedEngineInterface::activate(); - return 0; -} - -/** \page engine_osc_namespace - *

/deactivate

- * \arg \b response-id (integer) - * - * Deactivate the engine. - */ -int -OSCEngineReceiver::_engine_deactivate_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) -{ - QueuedEngineInterface::deactivate(); - return 0; -} - /** \page engine_osc_namespace *

/get

* \arg \b response-id (integer) diff --git a/src/engine/OSCEngineReceiver.hpp b/src/engine/OSCEngineReceiver.hpp index e32cd4ae..4293f890 100644 --- a/src/engine/OSCEngineReceiver.hpp +++ b/src/engine/OSCEngineReceiver.hpp @@ -94,8 +94,6 @@ private: LO_HANDLER(ping_slow); LO_HANDLER(register_client); LO_HANDLER(unregister_client); - LO_HANDLER(engine_activate); - LO_HANDLER(engine_deactivate); LO_HANDLER(get); LO_HANDLER(put); LO_HANDLER(move); diff --git a/src/engine/QueuedEngineInterface.cpp b/src/engine/QueuedEngineInterface.cpp index 8e9363ec..1fc68799 100644 --- a/src/engine/QueuedEngineInterface.cpp +++ b/src/engine/QueuedEngineInterface.cpp @@ -99,19 +99,6 @@ QueuedEngineInterface::unregister_client(const URI& uri) // Engine commands -void -QueuedEngineInterface::activate() -{ - _engine.activate(); - push_queued(new Events::Ping(_engine, _request, now())); -} - -void -QueuedEngineInterface::deactivate() -{ - push_queued(new Events::Deactivate(_engine, _request, now())); -} - void QueuedEngineInterface::quit() { @@ -191,11 +178,23 @@ QueuedEngineInterface::set_property(const URI& uri, const URI& predicate, const Atom& value) { - Resource::Properties remove; - remove.insert(make_pair(predicate, _engine.world()->uris()->wildcard)); - Resource::Properties add; - add.insert(make_pair(predicate, value)); - push_queued(new Events::SetMetadata(_engine, _request, now(), false, Resource::DEFAULT, uri, add, remove)); + if (uri == "ingen:engine" && predicate == "ingen:enabled" + && value.type() == Atom::BOOL) { + if (value.get_bool()) { + _engine.activate(); + push_queued(new Events::Ping(_engine, _request, now())); + } else { + push_queued(new Events::Deactivate(_engine, _request, now())); + } + } else { + Resource::Properties remove; + remove.insert(make_pair(predicate, _engine.world()->uris()->wildcard)); + Resource::Properties add; + add.insert(make_pair(predicate, value)); + push_queued(new Events::SetMetadata( + _engine, _request, now(), false, Resource::DEFAULT, + uri, add, remove)); + } } // Requests // diff --git a/src/engine/QueuedEngineInterface.hpp b/src/engine/QueuedEngineInterface.hpp index a2c13040..dede135e 100644 --- a/src/engine/QueuedEngineInterface.hpp +++ b/src/engine/QueuedEngineInterface.hpp @@ -60,8 +60,6 @@ public: virtual void unregister_client(const Raul::URI& uri); // Engine commands - virtual void activate(); - virtual void deactivate(); virtual void quit(); // Bundles -- cgit v1.2.1