diff options
author | David Robillard <d@drobilla.net> | 2009-05-28 16:22:34 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-05-28 16:22:34 +0000 |
commit | 14d9e8c55895be82a8e6dcf1455ecfb41447ad12 (patch) | |
tree | 5e86a63c75f4977feeca7b803cbb4fa1897b1176 /src/client/OSCClientReceiver.cpp | |
parent | ee3bba21b4f2ea2e0e03f93bc9eded6681b9b482 (diff) | |
download | ingen-14d9e8c55895be82a8e6dcf1455ecfb41447ad12.tar.gz ingen-14d9e8c55895be82a8e6dcf1455ecfb41447ad12.tar.bz2 ingen-14d9e8c55895be82a8e6dcf1455ecfb41447ad12.zip |
Implement PUT over OSC.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2026 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client/OSCClientReceiver.cpp')
-rw-r--r-- | src/client/OSCClientReceiver.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/client/OSCClientReceiver.cpp b/src/client/OSCClientReceiver.cpp index e30ff7c4..c552e82e 100644 --- a/src/client/OSCClientReceiver.cpp +++ b/src/client/OSCClientReceiver.cpp @@ -29,13 +29,14 @@ using namespace Raul; namespace Ingen { namespace Client { +using namespace Shared; OSCClientReceiver::OSCClientReceiver(int listen_port, SharedPtr<Shared::ClientInterface> target) : _target(target) , _listen_port(listen_port) , _st(NULL) { - start(false); // true = dump, false = shutup + start(true); // true = dump, false = shutup } @@ -184,6 +185,18 @@ OSCClientReceiver::_clear_patch_cb(const char* path, const char* types, lo_arg** 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; + 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); + return 0; +} + + +int OSCClientReceiver::_move_cb(const char* path, const char* types, lo_arg** argv, int argc, lo_message msg) { _target->move((const char*)&argv[0]->s, (const char*)&argv[1]->s); |