summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-10-14 15:07:57 -0400
committerDavid Robillard <d@drobilla.net>2016-10-14 16:27:16 -0400
commit8d92e5a38e141236b3687e8d775ee5d034127fb8 (patch)
treefe24ca9e3def991085d7001bd2d91090313e7213 /src/server/PortImpl.hpp
parent2e5df4c0d30fea03f0f3b176a449e17da5fc25f9 (diff)
downloadingen-8d92e5a38e141236b3687e8d775ee5d034127fb8.tar.gz
ingen-8d92e5a38e141236b3687e8d775ee5d034127fb8.tar.bz2
ingen-8d92e5a38e141236b3687e8d775ee5d034127fb8.zip
Fix communication with connected sequence ports
Diffstat (limited to 'src/server/PortImpl.hpp')
-rw-r--r--src/server/PortImpl.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp
index 41666523..e497176c 100644
--- a/src/server/PortImpl.hpp
+++ b/src/server/PortImpl.hpp
@@ -196,6 +196,7 @@ public:
bool has_value() const;
PortType type() const { return _type; }
+ LV2_URID value_type() const { return _value.is_valid() ? _value.type() : 0; }
LV2_URID buffer_type() const { return _buffer_type; }
bool supports(const URIs::Quark& value_type) const;
@@ -225,12 +226,13 @@ public:
/** Monitor port value and broadcast to clients periodically. */
void monitor(RunContext& context, bool send_now=false);
- void raise_set_by_user_flag() { _set_by_user = true; }
-
BufferFactory& bufs() const { return _bufs; }
BufferRef value_buffer(uint32_t voice);
+ BufferRef user_buffer(RunContext&) const { return _user_buffer; }
+ void set_user_buffer(RunContext&, BufferRef b) { _user_buffer = b; }
+
/** Return offset of the first value change after `offset`. */
virtual SampleCount next_value_offset(SampleCount offset,
SampleCount end) const;
@@ -280,9 +282,9 @@ protected:
Atom _max;
Raul::Array<Voice>* _voices;
Raul::Array<Voice>* _prepared_voices;
+ BufferRef _user_buffer;
bool _monitored;
bool _force_monitor_update;
- bool _set_by_user;
bool _is_morph;
bool _is_auto_morph;
bool _is_logarithmic;