From 694b31089c8060fc6b908b146b12c0e340d004c7 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 17 Aug 2008 01:34:53 +0000 Subject: Cloooser... Bundling of OSC communication both ways (previous was just engine->client). Factor out common OSC*Sender functionality (bundling stuff). Fully type-safe and polyphony-aware port value setting/getting, from RDF through OSC through engine and back again. git-svn-id: http://svn.drobilla.net/lad/ingen@1409 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/client/ThreadedSigClientInterface.hpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/libs/client/ThreadedSigClientInterface.hpp') diff --git a/src/libs/client/ThreadedSigClientInterface.hpp b/src/libs/client/ThreadedSigClientInterface.hpp index 03c638bb..ccdbf318 100644 --- a/src/libs/client/ThreadedSigClientInterface.hpp +++ b/src/libs/client/ThreadedSigClientInterface.hpp @@ -64,12 +64,14 @@ public: , object_renamed_slot(signal_object_renamed.make_slot()) , disconnection_slot(signal_disconnection.make_slot()) , variable_change_slot(signal_variable_change.make_slot()) - , control_change_slot(signal_control_change.make_slot()) + , port_value_slot(signal_port_value.make_slot()) , port_activity_slot(signal_port_activity.make_slot()) , program_add_slot(signal_program_add.make_slot()) , program_remove_slot(signal_program_remove.make_slot()) {} + virtual std::string uri() const { return "(internal)"; } + virtual void subscribe(Shared::EngineInterface* engine) { throw; } void bundle_begin() @@ -134,8 +136,11 @@ public: void set_variable(const string& path, const string& key, const Raul::Atom& value) { push_sig(sigc::bind(variable_change_slot, path, key, value)); } - void control_change(const string& port_path, float value) - { push_sig(sigc::bind(control_change_slot, port_path, value)); } + void set_port_value(const string& port_path, const Raul::Atom& value) + { push_sig(sigc::bind(port_value_slot, port_path, value)); } + + void set_voice_value(const string& port_path, uint32_t voice, const Raul::Atom& value) + { push_sig(sigc::bind(voice_value_slot, port_path, voice, value)); } void port_activity(const string& port_path) { push_sig(sigc::bind(port_activity_slot, port_path)); } @@ -175,7 +180,8 @@ private: sigc::slot object_renamed_slot; sigc::slot disconnection_slot; sigc::slot variable_change_slot; - sigc::slot control_change_slot; + sigc::slot port_value_slot; + sigc::slot voice_value_slot; sigc::slot port_activity_slot; sigc::slot program_add_slot; sigc::slot program_remove_slot; -- cgit v1.2.1