NSM preparation for OSX and windows
[ardour.git] / gtk2_ardour / ardour_ui.h
index e80761cf32d98b78141b11b07a0b7f09ab29fe98..819455c218a7f1f8fd198d076190d78565cc05f7 100644 (file)
@@ -102,6 +102,7 @@ class Mixer_UI;
 class PublicEditor;
 class RCOptionEditor;
 class RouteParams_UI;
+class SaveAsDialog;
 class SessionDialog;
 class SessionOptionEditor;
 class ShuttleControl;
@@ -126,6 +127,10 @@ namespace Gtkmm2ext {
        class TearOff;
 }
 
+namespace Gtk {
+       class ProgressBar;
+}
+
 class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 {
     private:
@@ -181,8 +186,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        static ARDOUR_UI *instance () { return theArdourUI; }
        static UIConfiguration *config () { return theArdourUI->ui_config; }
+       static float ui_scale;
        
-       PublicEditor&     the_editor(){return *editor;}
+       PublicEditor&     the_editor() { return *editor;}
        Mixer_UI* the_mixer() { return mixer; }
 
        void new_midi_tracer_window ();
@@ -546,6 +552,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        Gtk::Label   cpu_load_label;
        void update_cpu_load ();
 
+       Gtk::Label   xrun_label;
+       void update_xrun_count ();
+
        Gtk::Label   buffer_load_label;
        void update_buffer_load ();
 
@@ -612,6 +621,11 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
        guint32  last_key_press_time;
 
        void snapshot_session (bool switch_to_it);
+
+       SaveAsDialog* save_as_dialog;
+
+       bool save_as_progress_update (float fraction, int64_t cnt, int64_t total, Gtk::Label* label, Gtk::ProgressBar* bar);
+       void save_session_as ();
        void rename_session ();
        void setup_order_hint (AddRouteDialog::InsertAt);
 
@@ -783,6 +797,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
 
        void resize_text_widgets ();
 
+       bool xrun_button_release (GdkEventButton* ev);
+
         std::string _announce_string;
         void check_announcements ();