summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-19 22:36:30 +0000
committerDavid Robillard <d@drobilla.net>2011-05-19 22:36:30 +0000
commitddaaa0e19ce196eba68e88165a483cf62478895b (patch)
treee9cffa134702ec1ea3bf4fba98c8e8f283667d5f /src/client
parent9c48078b76cadfb8afd4aeffdf6e97b0b133ef57 (diff)
downloadingen-ddaaa0e19ce196eba68e88165a483cf62478895b.tar.gz
ingen-ddaaa0e19ce196eba68e88165a483cf62478895b.tar.bz2
ingen-ddaaa0e19ce196eba68e88165a483cf62478895b.zip
Convey put context parameter via OSC.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3287 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client')
-rw-r--r--src/client/OSCClientReceiver.cpp8
-rw-r--r--src/client/OSCEngineSender.cpp1
2 files changed, 6 insertions, 3 deletions
diff --git a/src/client/OSCClientReceiver.cpp b/src/client/OSCClientReceiver.cpp
index f854b3fb..33e2d050 100644
--- a/src/client/OSCClientReceiver.cpp
+++ b/src/client/OSCClientReceiver.cpp
@@ -173,10 +173,12 @@ int
OSCClientReceiver::_put_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg)
{
const char* obj_path = &argv[0]->s;
+ const char* ctx = &argv[1]->s;
Resource::Properties prop;
- for (int i = 1; i < argc-1; i += 2)
- prop.insert(make_pair(&argv[i]->s, AtomLiblo::lo_arg_to_atom(types[i+1], argv[i+1])));
- _target->put(obj_path, prop);
+ for (int i = 2; i < argc-1; i += 2)
+ prop.insert(make_pair(&argv[i]->s,
+ AtomLiblo::lo_arg_to_atom(types[i+1], argv[i+1])));
+ _target->put(obj_path, prop, Resource::uri_to_graph(ctx));
return 0;
}
diff --git a/src/client/OSCEngineSender.cpp b/src/client/OSCEngineSender.cpp
index 49b20df1..4147c831 100644
--- a/src/client/OSCEngineSender.cpp
+++ b/src/client/OSCEngineSender.cpp
@@ -109,6 +109,7 @@ OSCEngineSender::put(const Raul::URI& path,
lo_message m = lo_message_new();
lo_message_add_int32(m, next_id());
lo_message_add_string(m, path.c_str());
+ lo_message_add_string(m, Resource::graph_to_uri(ctx).c_str());
for (iterator i = properties.begin(); i != properties.end(); ++i) {
lo_message_add_string(m, i->first.c_str());
Raul::AtomLiblo::lo_message_add_atom(m, i->second);