remove Glib::ustring from gtk2_ardour
[ardour.git] / gtk2_ardour / latency_gui.h
index 35fad9e2965e0fda4e0c99a768e0742e490624ff..edf2ff29e5d0401313872262e354b6c1a8655794 100644 (file)
@@ -20,6 +20,21 @@ namespace ARDOUR {
        class Latent;
 }
 
+class LatencyGUI;
+
+class LatencyBarController : public Gtkmm2ext::BarController
+{
+public:
+       LatencyBarController (Gtk::Adjustment& adj, LatencyGUI* g)
+               : BarController (adj, boost::shared_ptr<PBD::IgnorableControllable> (new PBD::IgnorableControllable ())),
+                 _latency_gui (g) {}
+
+private:
+       LatencyGUI* _latency_gui;
+
+       std::string get_label (int&);
+};
+
 class LatencyGUI : public Gtk::VBox
 {
   public:
@@ -31,8 +46,6 @@ class LatencyGUI : public Gtk::VBox
        void refresh ();
 
   private:
-       std::string get_label (int&);
-
        ARDOUR::Latent& _latent;
        nframes64_t initial_value;
        nframes64_t sample_rate;
@@ -40,7 +53,7 @@ class LatencyGUI : public Gtk::VBox
        boost::shared_ptr<PBD::IgnorableControllable> ignored;
 
        Gtk::Adjustment adjustment;
-       Gtkmm2ext::BarController bc;
+       LatencyBarController bc;
        Gtk::HBox hbox1;
        Gtk::HBox hbox2;
        Gtk::HButtonBox hbbox;
@@ -51,13 +64,15 @@ class LatencyGUI : public Gtk::VBox
 
        void change_latency_from_button (int dir);
 
+       friend class LatencyBarController;
+
        static std::vector<std::string> unit_strings;
 };
 
 class LatencyDialog : public ArdourDialog
 {
   public:
-       LatencyDialog (const Glib::ustring& title, ARDOUR::Latent&, nframes64_t sample_rate, nframes64_t period_size);
+       LatencyDialog (const std::string& title, ARDOUR::Latent&, nframes64_t sample_rate, nframes64_t period_size);
        ~LatencyDialog() {}
 
   private: