1 #ifndef __gtk2_ardour_latency_gui_h__
2 #define __gtk2_ardour_latency_gui_h__
7 #include <gtkmm/dialog.h>
9 #include <gtkmm/button.h>
10 #include <gtkmm/adjustment.h>
12 #include <gtkmm2ext/barcontroller.h>
13 #include "pbd/controllable.h"
15 #include "ardour/types.h"
17 #include "ardour_dialog.h"
23 class LatencyGUI : public Gtk::VBox
26 LatencyGUI (ARDOUR::Latent&, nframes64_t sample_rate, nframes64_t period_size);
34 std::string get_label (int&);
36 ARDOUR::Latent& _latent;
37 nframes64_t initial_value;
38 nframes64_t sample_rate;
39 nframes64_t period_size;
40 boost::shared_ptr<PBD::IgnorableControllable> ignored;
42 Gtk::Adjustment adjustment;
43 Gtkmm2ext::BarController bc;
46 Gtk::HButtonBox hbbox;
47 Gtk::Button minus_button;
48 Gtk::Button plus_button;
49 Gtk::Button reset_button;
50 Gtk::ComboBoxText units_combo;
52 void change_latency_from_button (int dir);
54 static std::vector<std::string> unit_strings;
57 class LatencyDialog : public ArdourDialog
60 LatencyDialog (const Glib::ustring& title, ARDOUR::Latent&, nframes64_t sample_rate, nframes64_t period_size);
67 #endif /* __gtk2_ardour_latency_gui_h__ */