summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/OSCEngineReceiver.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-06-10 17:41:26 +0000
committerDavid Robillard <d@drobilla.net>2008-06-10 17:41:26 +0000
commit6ed65a4a3b14d204a24ab63fa907f8e9adce01dc (patch)
tree52ec9bafe242c976b70f8422f1a33f9e78d9ab16 /src/libs/engine/OSCEngineReceiver.cpp
parent43dc73756cf97b4e4bc2ebdec59f3cb15f99750b (diff)
downloadingen-6ed65a4a3b14d204a24ab63fa907f8e9adce01dc.tar.gz
ingen-6ed65a4a3b14d204a24ab63fa907f8e9adce01dc.tar.bz2
ingen-6ed65a4a3b14d204a24ab63fa907f8e9adce01dc.zip
Fix 'disconnect' operation for all objects (inc. patch ports).
Fixes ticket #147. git-svn-id: http://svn.drobilla.net/lad/ingen@1265 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/OSCEngineReceiver.cpp')
-rw-r--r--src/libs/engine/OSCEngineReceiver.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libs/engine/OSCEngineReceiver.cpp b/src/libs/engine/OSCEngineReceiver.cpp
index 20971e5a..c5ea7dae 100644
--- a/src/libs/engine/OSCEngineReceiver.cpp
+++ b/src/libs/engine/OSCEngineReceiver.cpp
@@ -101,7 +101,7 @@ OSCEngineReceiver::OSCEngineReceiver(Engine& engine, size_t queue_size, uint16_t
lo_server_add_method(_server, "/ingen/rename", "iss", rename_cb, this);
lo_server_add_method(_server, "/ingen/connect", "iss", connect_cb, this);
lo_server_add_method(_server, "/ingen/disconnect", "iss", disconnect_cb, this);
- lo_server_add_method(_server, "/ingen/disconnect_all", "is", disconnect_all_cb, this);
+ lo_server_add_method(_server, "/ingen/disconnect_all", "iss", disconnect_all_cb, this);
lo_server_add_method(_server, "/ingen/set_port_value", NULL, set_port_value_cb, this);
lo_server_add_method(_server, "/ingen/set_port_value_immediate", NULL, set_port_value_immediate_cb, this);
lo_server_add_method(_server, "/ingen/enable_port_broadcasting", NULL, enable_port_broadcasting_cb, this);
@@ -594,16 +594,18 @@ OSCEngineReceiver::_disconnect_cb(const char* path, const char* types, lo_arg**
/** \page engine_osc_namespace
- * <p> \b /ingen/disconnect_all - Disconnect all connections to/from a node.
+ * <p> \b /ingen/disconnect_all - Disconnect all connections to/from a node/port.
* \arg \b response-id (integer)
- * \arg \b node-path (string) - Full path of node. </p> \n \n
+ * \arg \b patch-path (string) - The (parent) patch in which to disconnect object. </p> \n \n
+ * \arg \b node-path (string) - Full path of object. </p> \n \n
*/
int
OSCEngineReceiver::_disconnect_all_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg)
{
- const char* node_path = &argv[1]->s;
+ const char* patch_path = &argv[1]->s;
+ const char* object_path = &argv[2]->s;
- disconnect_all(node_path);
+ disconnect_all(patch_path, object_path);
return 0;
}