diff options
author | David Robillard <d@drobilla.net> | 2008-08-20 01:02:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-08-20 01:02:22 +0000 |
commit | db3cfa6cca0039c406176024d9efb43eb6e8bf40 (patch) | |
tree | 77d1a11b2ca5aac9eeddd2105dbd4adb2314d760 | |
parent | 86d961d77bdc6de15f79e80bbc920e8d130859c7 (diff) | |
download | ingen-db3cfa6cca0039c406176024d9efb43eb6e8bf40.tar.gz ingen-db3cfa6cca0039c406176024d9efb43eb6e8bf40.tar.bz2 ingen-db3cfa6cca0039c406176024d9efb43eb6e8bf40.zip |
Fix set_port_value stuff over OSC with blobs (i.e. make klaviatur work with a remote engine).
git-svn-id: http://svn.drobilla.net/lad/ingen@1454 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/libs/client/OSCEngineSender.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/client/OSCEngineSender.cpp b/src/libs/client/OSCEngineSender.cpp index 83852969..e274f72b 100644 --- a/src/libs/client/OSCEngineSender.cpp +++ b/src/libs/client/OSCEngineSender.cpp @@ -20,6 +20,7 @@ #include "OSCEngineSender.hpp" using namespace std; +using Raul::Atom; namespace Ingen { namespace Client { @@ -260,7 +261,10 @@ OSCEngineSender::set_port_value(const string& port_path, const Raul::Atom& value) { lo_message m = lo_message_new(); + lo_message_add_int32(m, next_id()); lo_message_add_string(m, port_path.c_str()); + if (value.type() == Atom::BLOB) + lo_message_add_string(m, value.get_blob_type()); Raul::AtomLiblo::lo_message_add_atom(m, value); send_message("/ingen/set_port_value", m); } @@ -272,8 +276,11 @@ OSCEngineSender::set_voice_value(const string& port_path, const Raul::Atom& value) { lo_message m = lo_message_new(); + lo_message_add_int32(m, next_id()); lo_message_add_string(m, port_path.c_str()); lo_message_add_int32(m, voice); + if (value.type() == Atom::BLOB) + lo_message_add_string(m, value.get_blob_type()); Raul::AtomLiblo::lo_message_add_atom(m, value); send_message("/ingen/set_port_value", m); } @@ -284,7 +291,10 @@ OSCEngineSender::set_port_value_immediate(const string& port_path, const Raul::Atom& value) { lo_message m = lo_message_new(); + lo_message_add_int32(m, next_id()); lo_message_add_string(m, port_path.c_str()); + if (value.type() == Atom::BLOB) + lo_message_add_string(m, value.get_blob_type()); Raul::AtomLiblo::lo_message_add_atom(m, value); send_message("/ingen/set_port_value_immediate", m); } @@ -296,8 +306,11 @@ OSCEngineSender::set_voice_value_immediate(const string& port_path, const Raul::Atom& value) { lo_message m = lo_message_new(); + lo_message_add_int32(m, next_id()); lo_message_add_string(m, port_path.c_str()); lo_message_add_int32(m, voice); + if (value.type() == Atom::BLOB) + lo_message_add_string(m, value.get_blob_type()); Raul::AtomLiblo::lo_message_add_atom(m, value); send_message("/ingen/set_port_value_immediate", m); } |