summaryrefslogtreecommitdiffstats
path: root/src/libs/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-19 05:30:41 +0000
committerDavid Robillard <d@drobilla.net>2007-09-19 05:30:41 +0000
commit36b22fe2bea643d7d4ff69764016ae5be9c6de69 (patch)
tree19e99c3bfa011f8ef86ce1438b676d6826cad31a /src/libs/client
parent80d9c348e1e571837ae37cd28d342c81c14a52be (diff)
downloadingen-36b22fe2bea643d7d4ff69764016ae5be9c6de69.tar.gz
ingen-36b22fe2bea643d7d4ff69764016ae5be9c6de69.tar.bz2
ingen-36b22fe2bea643d7d4ff69764016ae5be9c6de69.zip
Broadcast polyphony changes to clients.
Fix some (not all) crashes on polyphony change. git-svn-id: http://svn.drobilla.net/lad/ingen@725 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client')
-rw-r--r--src/libs/client/OSCClientReceiver.cpp2
-rw-r--r--src/libs/client/SigClientInterface.hpp4
-rw-r--r--src/libs/client/ThreadedSigClientInterface.hpp5
3 files changed, 10 insertions, 1 deletions
diff --git a/src/libs/client/OSCClientReceiver.cpp b/src/libs/client/OSCClientReceiver.cpp
index de51ad22..058bf006 100644
--- a/src/libs/client/OSCClientReceiver.cpp
+++ b/src/libs/client/OSCClientReceiver.cpp
@@ -39,7 +39,7 @@ OSCClientReceiver::OSCClientReceiver(int listen_port)
// _receiving_node_num_ports(0),
// _num_received_ports(0)
{
- start(false);
+ start(true);
}
diff --git a/src/libs/client/SigClientInterface.hpp b/src/libs/client/SigClientInterface.hpp
index bdb1ff23..29c13741 100644
--- a/src/libs/client/SigClientInterface.hpp
+++ b/src/libs/client/SigClientInterface.hpp
@@ -55,6 +55,7 @@ public:
sigc::signal<void, string, string, bool> new_port_sig;
sigc::signal<void, string> patch_enabled_sig;
sigc::signal<void, string> patch_disabled_sig;
+ sigc::signal<void, string, uint32_t> patch_polyphony_sig;
sigc::signal<void, string> patch_cleared_sig;
sigc::signal<void, string, string> object_renamed_sig;
sigc::signal<void, string> object_destroyed_sig;
@@ -113,6 +114,9 @@ protected:
void patch_disabled(const string& path)
{ patch_disabled_sig.emit(path); }
+
+ void patch_polyphony(const string& path, uint32_t poly)
+ { patch_polyphony_sig.emit(path, poly); }
void patch_cleared(const string& path)
{ patch_cleared_sig.emit(path); }
diff --git a/src/libs/client/ThreadedSigClientInterface.hpp b/src/libs/client/ThreadedSigClientInterface.hpp
index ed9f0ed4..71ee96d2 100644
--- a/src/libs/client/ThreadedSigClientInterface.hpp
+++ b/src/libs/client/ThreadedSigClientInterface.hpp
@@ -57,6 +57,7 @@ public:
, connection_slot(connection_sig.make_slot())
, patch_enabled_slot(patch_enabled_sig.make_slot())
, patch_disabled_slot(patch_disabled_sig.make_slot())
+ , patch_polyphony_slot(patch_polyphony_sig.make_slot())
, patch_cleared_slot(patch_cleared_sig.make_slot())
, object_destroyed_slot(object_destroyed_sig.make_slot())
, object_renamed_slot(object_renamed_sig.make_slot())
@@ -115,6 +116,9 @@ public:
void patch_disabled(const string& path)
{ push_sig(sigc::bind(patch_disabled_slot, path)); }
+
+ void patch_polyphony(const string& path, uint32_t poly)
+ { push_sig(sigc::bind(patch_polyphony_slot, path, poly)); }
void patch_cleared(const string& path)
{ push_sig(sigc::bind(patch_cleared_slot, path)); }
@@ -161,6 +165,7 @@ private:
sigc::slot<void, string, string> connection_slot;
sigc::slot<void, string> patch_enabled_slot;
sigc::slot<void, string> patch_disabled_slot;
+ sigc::slot<void, string, uint32_t> patch_polyphony_slot;
sigc::slot<void, string> patch_cleared_slot;
sigc::slot<void, string> object_destroyed_slot;
sigc::slot<void, string, string> object_renamed_slot;