diff options
author | Len Ovens <len@ovenwerks.net> | 2016-08-05 19:08:43 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2016-08-05 19:08:43 -0700 |
commit | 032139ac30e4d071e7e01d80ce025c326f0c2d25 (patch) | |
tree | 74dcc83dac42414f6c13161d2f07b5a5da3cc759 | |
parent | e78a177dbba80fe600d7c4015c861b8b2ac41a05 (diff) |
osc: provide human readable reading for gain.
-rw-r--r-- | libs/surfaces/osc/osc_select_observer.cc | 10 | ||||
-rw-r--r-- | libs/surfaces/osc/osc_select_observer.h | 1 |
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; |