summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-07-25 22:40:33 +0000
committerDavid Robillard <d@drobilla.net>2012-07-25 22:40:33 +0000
commit8d02ef7f4f1b938881ec3e78bcc9d79d569d53ec (patch)
tree6d1b6e34f8fcbec6cb2e89bd32385df416fc4538 /src/server/PortImpl.cpp
parent233a462e8070e4064c68f522e13533f57c6fa06d (diff)
downloadingen-8d02ef7f4f1b938881ec3e78bcc9d79d569d53ec.tar.gz
ingen-8d02ef7f4f1b938881ec3e78bcc9d79d569d53ec.tar.bz2
ingen-8d02ef7f4f1b938881ec3e78bcc9d79d569d53ec.zip
Fix control bindings for logarithmic and sample rate control ports.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4551 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/PortImpl.cpp')
-rw-r--r--src/server/PortImpl.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/PortImpl.cpp b/src/server/PortImpl.cpp
index 6920198c..671c8ae2 100644
--- a/src/server/PortImpl.cpp
+++ b/src/server/PortImpl.cpp
@@ -58,6 +58,9 @@ PortImpl::PortImpl(BufferFactory& bufs,
, _set_by_user(false)
, _is_morph(false)
, _is_auto_morph(false)
+ , _is_logarithmic(false)
+ , _is_sample_rate(false)
+ , _is_toggled(false)
{
assert(node != NULL);
assert(_poly > 0);
@@ -118,6 +121,17 @@ PortImpl::set_buffers(ProcessContext& context, Raul::Array<BufferRef>* buffers)
return ret;
}
+void
+PortImpl::cache_properties()
+{
+ _is_logarithmic = has_property(_bufs.uris().lv2_portProperty,
+ _bufs.uris().pprops_logarithmic);
+ _is_sample_rate = has_property(_bufs.uris().lv2_portProperty,
+ _bufs.uris().lv2_sampleRate);
+ _is_toggled = has_property(_bufs.uris().lv2_portProperty,
+ _bufs.uris().lv2_toggled);
+}
+
bool
PortImpl::prepare_poly(BufferFactory& bufs, uint32_t poly)
{