summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-09-15 07:17:10 +0000
committerDavid Robillard <d@drobilla.net>2011-09-15 07:17:10 +0000
commitc7f671ff5bf9cf2559697bbc90cf3cee97cc7975 (patch)
treec9448a87cce9bfc957d32bc3b1b404cb7f0c6984 /src/server/PortImpl.hpp
parentba99f4ca92ea2e6cf8de51341489b0689223e1fc (diff)
downloadingen-c7f671ff5bf9cf2559697bbc90cf3cee97cc7975.tar.gz
ingen-c7f671ff5bf9cf2559697bbc90cf3cee97cc7975.tar.bz2
ingen-c7f671ff5bf9cf2559697bbc90cf3cee97cc7975.zip
Fix control bindings (MIDI learn).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3464 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/PortImpl.hpp')
-rw-r--r--src/server/PortImpl.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp
index d9540bb2..b00504f8 100644
--- a/src/server/PortImpl.hpp
+++ b/src/server/PortImpl.hpp
@@ -83,6 +83,16 @@ public:
const Raul::Atom& value() const { return _value; }
void set_value(const Raul::Atom& v) { _value = v; }
+ const Raul::Atom& minimum() const { return _min; }
+ const Raul::Atom& maximum() const { return _max; }
+
+ /* The following two methods store the range in variables so it can be
+ accessed in the process thread, which is required for applying control
+ bindings from incoming MIDI data.
+ */
+ void set_minimum(const Raul::Atom& min) { _min = min; }
+ void set_maximum(const Raul::Atom& max) { _max = max; }
+
inline BufferFactory::Ref buffer(uint32_t voice) const {
return _buffers->at((_poly == 1) ? 0 : voice);
}
@@ -160,6 +170,8 @@ protected:
PortType _buffer_type;
std::set<PortType> _types;
Raul::Atom _value;
+ Raul::Atom _min;
+ Raul::Atom _max;
Raul::Atom _last_broadcasted_value;
Context::ID _context;
Raul::Array<BufferFactory::Ref>* _buffers;