summaryrefslogtreecommitdiff
path: root/gtk2_ardour/latency_gui.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-02-19 16:48:11 +0100
committerRobin Gareus <robin@gareus.org>2020-02-19 16:58:06 +0100
commit7f2a59ca66408c019a77f9a90a940118d7c61642 (patch)
tree495f6d4c886b6e1e363f2121da9ac69d4aba1a7f /gtk2_ardour/latency_gui.h
parent4f9a91cab834bcc0c60ae065cb1d3da969c5d55a (diff)
Fix Latency GUI numeric entry
Diffstat (limited to 'gtk2_ardour/latency_gui.h')
-rw-r--r--gtk2_ardour/latency_gui.h34
1 files changed, 29 insertions, 5 deletions
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<PBD::IgnorableControllable> (new PBD::IgnorableControllable ())),
- _latency_gui (g)
- {}
+ : BarController (adj, boost::shared_ptr<PBD::Controllable> (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<PBD::IgnorableControllable> 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<std::string> unit_strings;
};