summaryrefslogtreecommitdiffstats
path: root/src/client/OSCClientReceiver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/OSCClientReceiver.cpp')
-rw-r--r--src/client/OSCClientReceiver.cpp15
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);