From db3cfa6cca0039c406176024d9efb43eb6e8bf40 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 20 Aug 2008 01:02:22 +0000 Subject: 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 --- src/libs/client/OSCEngineSender.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') 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); } -- cgit v1.2.1