summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-01-29 04:01:29 +0000
committerDavid Robillard <d@drobilla.net>2010-01-29 04:01:29 +0000
commit1b964e850bbe3207fe9a65849520634955d141f0 (patch)
tree8af6d825e666bbe0c97ca8fd3b7c89558e2c32c0 /src/client
parentd5a514148bec58cd7e97d032259362b2e19c0e95 (diff)
downloadingen-1b964e850bbe3207fe9a65849520634955d141f0.tar.gz
ingen-1b964e850bbe3207fe9a65849520634955d141f0.tar.bz2
ingen-1b964e850bbe3207fe9a65849520634955d141f0.zip
Send binding information to client.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2392 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client')
-rw-r--r--src/client/ClientStore.cpp9
-rw-r--r--src/client/ClientStore.hpp3
-rw-r--r--src/client/SigClientInterface.hpp4
-rw-r--r--src/client/ThreadedSigClientInterface.hpp6
4 files changed, 21 insertions, 1 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp
index 73d2b23e..40c11323 100644
--- a/src/client/ClientStore.cpp
+++ b/src/client/ClientStore.cpp
@@ -17,6 +17,7 @@
#include "raul/log.hpp"
#include "raul/PathTable.hpp"
+#include "interface/MessageType.hpp"
#include "ClientStore.hpp"
#include "ObjectModel.hpp"
#include "PatchModel.hpp"
@@ -53,6 +54,7 @@ ClientStore::ClientStore(SharedPtr<EngineInterface> engine, SharedPtr<SigClientI
emitter->signal_port_value.connect(sigc::mem_fun(this, &ClientStore::set_port_value));
emitter->signal_voice_value.connect(sigc::mem_fun(this, &ClientStore::set_voice_value));
emitter->signal_activity.connect(sigc::mem_fun(this, &ClientStore::activity));
+ emitter->signal_binding.connect(sigc::mem_fun(this, &ClientStore::binding));
}
@@ -383,6 +385,13 @@ ClientStore::activity(const Path& path)
}
+void
+ClientStore::binding(const Path& path, const Shared::MessageType& type)
+{
+ LOG(info) << "Bind " << path << " : " << type << endl;
+}
+
+
SharedPtr<PatchModel>
ClientStore::connection_patch(const Path& src_port_path, const Path& dst_port_path)
{
diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp
index ba32b362..63b03dae 100644
--- a/src/client/ClientStore.hpp
+++ b/src/client/ClientStore.hpp
@@ -33,7 +33,7 @@ namespace Raul { class Atom; }
namespace Ingen {
-namespace Shared { class GraphObject; }
+namespace Shared { class GraphObject; class MessageType; }
namespace Client {
@@ -96,6 +96,7 @@ private:
// Slots for SigClientInterface signals
void object_moved(const Raul::Path& old_path, const Raul::Path& new_path);
void activity(const Raul::Path& path);
+ void binding(const Raul::Path& path, const Shared::MessageType& type);
bool attempt_connection(const Raul::Path& src_port_path, const Raul::Path& dst_port_path);
diff --git a/src/client/SigClientInterface.hpp b/src/client/SigClientInterface.hpp
index 785f6ac8..3a3ce9d4 100644
--- a/src/client/SigClientInterface.hpp
+++ b/src/client/SigClientInterface.hpp
@@ -60,6 +60,7 @@ public:
sigc::signal<void, Raul::Path, Raul::Atom> signal_port_value;
sigc::signal<void, Raul::Path, uint32_t, Raul::Atom> signal_voice_value;
sigc::signal<void, Raul::Path> signal_activity;
+ sigc::signal<void, Raul::Path, Shared::MessageType> signal_binding;
/** Fire pending signals. Only does anything on derived classes (that may queue) */
virtual bool emit_signals() { return false; }
@@ -114,6 +115,9 @@ protected:
void activity(const Raul::Path& port_path)
{ EMIT(activity, port_path); }
+
+ void binding(const Raul::Path& path, const Shared::MessageType& type)
+ { EMIT(binding, path, type); }
};
diff --git a/src/client/ThreadedSigClientInterface.hpp b/src/client/ThreadedSigClientInterface.hpp
index 901fd4a6..456aa67f 100644
--- a/src/client/ThreadedSigClientInterface.hpp
+++ b/src/client/ThreadedSigClientInterface.hpp
@@ -24,6 +24,7 @@
#include <glibmm/thread.h>
#include "raul/Atom.hpp"
#include "interface/ClientInterface.hpp"
+#include "interface/MessageType.hpp"
#include "SigClientInterface.hpp"
#include "raul/SRSWQueue.hpp"
@@ -60,6 +61,7 @@ public:
, property_change_slot(signal_property_change.make_slot())
, port_value_slot(signal_port_value.make_slot())
, activity_slot(signal_activity.make_slot())
+ , binding_slot(signal_binding.make_slot())
{
}
@@ -110,6 +112,9 @@ public:
void activity(const Raul::Path& port_path)
{ push_sig(sigc::bind(activity_slot, port_path)); }
+ void binding(const Raul::Path& path, const Shared::MessageType& type)
+ { push_sig(sigc::bind(binding_slot, path, type)); }
+
/** Process all queued events - Called from GTK thread to emit signals. */
bool emit_signals();
@@ -139,6 +144,7 @@ private:
sigc::slot<void, Raul::Path, Raul::Atom> port_value_slot;
sigc::slot<void, Raul::Path, uint32_t, Raul::Atom> voice_value_slot;
sigc::slot<void, Raul::Path> activity_slot;
+ sigc::slot<void, Raul::Path, Shared::MessageType> binding_slot;
};