From 7f2a59ca66408c019a77f9a90a940118d7c61642 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 19 Feb 2020 16:48:11 +0100 Subject: Fix Latency GUI numeric entry --- gtk2_ardour/latency_gui.h | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) (limited to 'gtk2_ardour/latency_gui.h') diff --git a/gtk2_ardour/latency_gui.h b/gtk2_ardour/latency_gui.h index a775b236e7..c6052c214f 100644 --- a/gtk2_ardour/latency_gui.h +++ b/gtk2_ardour/latency_gui.h @@ -42,13 +42,38 @@ namespace ARDOUR { class LatencyGUI; +class LatencyGUIControllable : public PBD::Controllable +{ +public: + LatencyGUIControllable (LatencyGUI* g) + : PBD::Controllable ("ignoreMe") + , _latency_gui (g) + {} + + void set_value (double v, PBD::Controllable::GroupControlDisposition group_override); + double get_value () const; + double lower() const; + double upper() const; + double internal_to_interface (double i, bool rotary = false) const { + return i; + } + double interface_to_internal (double i, bool rotary = false) const { + return i; + } + +private: + LatencyGUI* _latency_gui; +}; + class LatencyBarController : public ArdourWidgets::BarController { public: LatencyBarController (Gtk::Adjustment& adj, LatencyGUI* g) - : BarController (adj, boost::shared_ptr (new PBD::IgnorableControllable ())), - _latency_gui (g) - {} + : BarController (adj, boost::shared_ptr (new LatencyGUIControllable (g))) + , _latency_gui (g) + { + set_digits (0); + } private: LatencyGUI* _latency_gui; @@ -72,8 +97,6 @@ private: samplepos_t sample_rate; samplepos_t period_size; - boost::shared_ptr ignored; - bool _ignore_change; Gtk::Adjustment adjustment; LatencyBarController bc; @@ -88,6 +111,7 @@ private: void change_latency_from_button (int dir); friend class LatencyBarController; + friend class LatencyGUIControllable; static std::vector unit_strings; }; -- cgit v1.2.3