summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2013-02-02 02:16:23 +0000
committerDavid Robillard <d@drobilla.net>2013-02-02 02:16:23 +0000
commitd049b582e1db60ee0f6fd02a40202145488c7288 (patch)
tree4b30ba2522a14863ce76f672f537dcca0c14c34e /src/server/PortImpl.hpp
parent73a01c1bd8d6cf92522a433cd2b0bd491f2af99a (diff)
downloadingen-d049b582e1db60ee0f6fd02a40202145488c7288.tar.gz
ingen-d049b582e1db60ee0f6fd02a40202145488c7288.tar.bz2
ingen-d049b582e1db60ee0f6fd02a40202145488c7288.zip
Add option to enable/disable canvas animation (fix/avoid #879).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5016 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/PortImpl.hpp')
-rw-r--r--src/server/PortImpl.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp
index 4aed4458..45918964 100644
--- a/src/server/PortImpl.hpp
+++ b/src/server/PortImpl.hpp
@@ -145,10 +145,18 @@ public:
void set_buffer_size(Context& context, BufferFactory& bufs, size_t size);
- void broadcast(bool b) { _broadcast = b; }
- bool broadcast() { return _broadcast; }
+ /** Return true iff this port is explicitly monitored.
+ *
+ * This is used for plugin UIs which require monitoring for particular
+ * ports, even if the Ingen client has not requested broadcasting in
+ * general (e.g. for canvas animation).
+ */
+ bool is_monitored() const { return _monitored; }
+
+ /** Explicitly turn on monitoring for this port. */
+ void enable_monitoring(bool monitored) { _monitored = monitored; }
- void broadcast_value(Context& context, bool force=false);
+ void monitor(Context& context);
void raise_set_by_user_flag() { _set_by_user = true; }
@@ -199,12 +207,12 @@ protected:
Raul::Atom _value;
Raul::Atom _min;
Raul::Atom _max;
- Raul::Atom _last_broadcasted_value;
+ Raul::Atom _last_monitor_value;
Raul::Array<SetState>* _set_states;
Raul::Array<SetState>* _prepared_set_states;
Raul::Array<BufferRef>* _buffers;
Raul::Array<BufferRef>* _prepared_buffers;
- bool _broadcast;
+ bool _monitored;
bool _set_by_user;
bool _is_morph;
bool _is_auto_morph;