summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/meter.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-01-29 12:26:41 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-01-29 12:27:46 -0500
commit0a2377e9b4c5b3804253f359334089955c3a2ce7 (patch)
tree5ad602df8ad9329651754a02bb183e5a3ee03fb5 /libs/surfaces/mackie/meter.h
parent1972cf966eec37cf035ce85f7921f10dcd79f74e (diff)
mackie: redesign display logic entirely
Strips now maintain a pair of pending display strings (upper and lower). A periodic timeout writes the pending value to the actual hardware if it differs from the current string. This new design makes it easy to put a message on the display and then after some period of time, revert to whatever was there before.
Diffstat (limited to 'libs/surfaces/mackie/meter.h')
-rw-r--r--libs/surfaces/mackie/meter.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/meter.h b/libs/surfaces/mackie/meter.h
index 9a5d88ed23..17972fb480 100644
--- a/libs/surfaces/mackie/meter.h
+++ b/libs/surfaces/mackie/meter.h
@@ -34,9 +34,12 @@ class Meter : public Control
public:
Meter (int id, std::string name, Group & group)
: Control (id, name, group)
+ , _enabled (false)
, overload_on (false) {}
+
void send_update (Surface&, float dB);
+ bool enabled () const { return _enabled; }
MidiByteArray zero();
@@ -45,6 +48,7 @@ public:
void notify_metering_state_changed(Surface& surface, bool transport_is_rolling, bool metering_active);
private:
+ bool _enabled;
bool overload_on;
};