diff options
author | David Robillard <d@drobilla.net> | 2011-09-15 07:17:10 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-09-15 07:17:10 +0000 |
commit | c7f671ff5bf9cf2559697bbc90cf3cee97cc7975 (patch) | |
tree | c9448a87cce9bfc957d32bc3b1b404cb7f0c6984 /src/server/PortImpl.hpp | |
parent | ba99f4ca92ea2e6cf8de51341489b0689223e1fc (diff) | |
download | ingen-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.hpp | 12 |
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; |