diff options
author | David Robillard <d@drobilla.net> | 2006-10-15 20:46:26 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-10-15 20:46:26 +0000 |
commit | 4174fb8f94139e0a38da150ffb0874b636497dfe (patch) | |
tree | 7170dd4b13ee0fe42c67aeabeef3f95437f146b2 /src/libs/client/ThreadedSigClientInterface.h | |
parent | 14542a4634cb211be5bdf590574ae3b8e1715486 (diff) | |
download | ingen-4174fb8f94139e0a38da150ffb0874b636497dfe.tar.gz ingen-4174fb8f94139e0a38da150ffb0874b636497dfe.tar.bz2 ingen-4174fb8f94139e0a38da150ffb0874b636497dfe.zip |
Fixed feedback problems (CPU chewing) with port controls.
git-svn-id: http://svn.drobilla.net/lad/ingen@176 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/client/ThreadedSigClientInterface.h')
-rw-r--r-- | src/libs/client/ThreadedSigClientInterface.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/client/ThreadedSigClientInterface.h b/src/libs/client/ThreadedSigClientInterface.h index 056540fb..57afd0fa 100644 --- a/src/libs/client/ThreadedSigClientInterface.h +++ b/src/libs/client/ThreadedSigClientInterface.h @@ -44,7 +44,8 @@ class ThreadedSigClientInterface : public SigClientInterface { public: ThreadedSigClientInterface(uint32_t queue_size) - : _sigs(queue_size) + : _enabled(true) + , _sigs(queue_size) , response_slot(response_sig.make_slot()) , error_slot(error_sig.make_slot()) , new_plugin_slot(new_plugin_sig.make_slot()) @@ -64,6 +65,8 @@ public: , program_remove_slot(program_remove_sig.make_slot()) {} + void enable() { _enabled = true; } + void disable() { _enabled = false ; } // FIXME: make this insert bundle-boundary-events, where the GTK thread // process all events between start and finish in one cycle, guaranteed @@ -133,6 +136,8 @@ public: private: void push_sig(Closure ev); + bool _enabled; + Queue<Closure> _sigs; uint32_t _num_plugins; |