summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2016-08-05 19:08:43 -0700
committerLen Ovens <len@ovenwerks.net>2016-08-05 19:08:43 -0700
commit032139ac30e4d071e7e01d80ce025c326f0c2d25 (patch)
tree74dcc83dac42414f6c13161d2f07b5a5da3cc759
parente78a177dbba80fe600d7c4015c861b8b2ac41a05 (diff)
osc: provide human readable reading for gain.
-rw-r--r--libs/surfaces/osc/osc_select_observer.cc10
-rw-r--r--libs/surfaces/osc/osc_select_observer.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/libs/surfaces/osc/osc_select_observer.cc b/libs/surfaces/osc/osc_select_observer.cc
index d40a599ece..bcea1c078b 100644
--- a/libs/surfaces/osc/osc_select_observer.cc
+++ b/libs/surfaces/osc/osc_select_observer.cc
@@ -336,6 +336,14 @@ OSCSelectObserver::tick ()
_last_meter = now_meter;
}
+ if (feedback[1]) {
+ if (gain_timeout) {
+ if (gain_timeout == 1) {
+ text_message ("/select/name", _strip->name());
+ }
+ gain_timeout--;
+ }
+ }
if (feedback[13]) {
for (uint32_t i = 0; i < send_timeout.size(); i++) {
if (send_timeout[i]) {
@@ -476,6 +484,8 @@ OSCSelectObserver::gain_message (string path, boost::shared_ptr<Controllable> co
if (gainmode) {
lo_message_add_float (msg, gain_to_slider_position (controllable->get_value()));
+ text_message ("/select/name", to_string (accurate_coefficient_to_dB (controllable->get_value())));
+ gain_timeout = 8;
} else {
if (controllable->get_value() < 1e-15) {
lo_message_add_float (msg, -200);
diff --git a/libs/surfaces/osc/osc_select_observer.h b/libs/surfaces/osc/osc_select_observer.h
index ba179e7979..d3abc20c80 100644
--- a/libs/surfaces/osc/osc_select_observer.h
+++ b/libs/surfaces/osc/osc_select_observer.h
@@ -54,6 +54,7 @@ class OSCSelectObserver
uint32_t gainmode;
std::bitset<32> feedback;
std::vector<int> send_timeout;
+ uint32_t gain_timeout;
float _last_meter;
uint32_t nsends;