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 ARDOUR::Latent& _latent;
35 nframes64_t initial_value;
36 nframes64_t sample_rate;
37 nframes64_t period_size;
38 PBD::IgnorableControllable ignored;
40 Gtk::Adjustment adjustment;
41 Gtkmm2ext::BarController bc;
44 Gtk::HButtonBox hbbox;
45 Gtk::Button minus_button;
46 Gtk::Button plus_button;
47 Gtk::Button reset_button;
48 Gtk::ComboBoxText units_combo;
50 void change_latency_from_button (int dir);
51 void latency_printer (char* buf, unsigned int bufsize);
53 static std::vector<std::string> unit_strings;
56 class LatencyDialog : public ArdourDialog
59 LatencyDialog (const Glib::ustring& title, ARDOUR::Latent&, nframes64_t sample_rate, nframes64_t period_size);
66 #endif /* __gtk2_ardour_latency_gui_h__ */