Do not try to restore Route solo state after clearing all solo state
[ardour.git] / gtk2_ardour / session_dialog.h
index ef3717b778cbecaff676a95735fc0f1e7b350ef1..98bdd6b7885ef6d09ebee3e55e46be6f6c66fca7 100644 (file)
@@ -47,15 +47,16 @@ class EngineControl;
 
 class SessionDialog : public ArdourDialog {
   public:
-        SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, 
+        SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path,
                       const std::string& template_name, bool cancel_not_quit);
+        SessionDialog ();
        ~SessionDialog ();
 
         void clear_given ();
 
        std::string session_name (bool& should_be_new);
        std::string session_folder ();
-    
+
        bool use_session_template();
        std::string session_template_name();
 
@@ -75,6 +76,11 @@ class SessionDialog : public ArdourDialog {
        bool connect_outs_to_master() const;
        bool connect_outs_to_physical() const;
 
+       void set_provided_session(const std::string& session_name, const std::string& session_path) {
+               _provided_session_name = session_name;
+               _provided_session_path = session_path;
+       }
+
   private:
        bool new_only;
         std::string _provided_session_name;
@@ -88,12 +94,14 @@ class SessionDialog : public ArdourDialog {
         Gtk::Button* quit_button;
 
         bool back_button_pressed (GdkEventButton*);
+        bool open_button_pressed (GdkEventButton*);
 
         Gtk::Frame info_frame;
 
        /* initial choice page */
 
        void setup_initial_choice_box ();
+       void setup_recent_sessions ();
        Gtk::VBox ic_vbox;
        Gtk::Button ic_new_session_button;
         void new_session_button_clicked ();
@@ -115,12 +123,16 @@ class SessionDialog : public ArdourDialog {
                    add (fullpath);
                    add (sample_rate);
                    add (disk_format);
+                   add (time_modified);
+                   add (time_formatted);
            }
            Gtk::TreeModelColumn<std::string> visible_name;
            Gtk::TreeModelColumn<std::string> tip;
            Gtk::TreeModelColumn<std::string> fullpath;
            Gtk::TreeModelColumn<std::string> sample_rate;
            Gtk::TreeModelColumn<std::string> disk_format;
+           Gtk::TreeModelColumn<int64_t>     time_modified;
+           Gtk::TreeModelColumn<std::string> time_formatted;
        };
 
        RecentSessionModelColumns    recent_session_columns;
@@ -131,6 +143,7 @@ class SessionDialog : public ArdourDialog {
        Gtk::FileChooserButton       existing_session_chooser;
        int redisplay_recent_sessions ();
        void recent_session_row_selected ();
+       void recent_session_sort_changed ();
        void recent_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col);
 
        void existing_session_selected ();
@@ -224,6 +237,10 @@ class SessionDialog : public ArdourDialog {
        void master_bus_button_clicked ();
        void setup_more_options_box ();
 
+       /* --disable plugins UI */
+       Gtk::CheckButton _disable_plugins;
+       void disable_plugins_clicked ();
+
        /* always there */
 
        Glib::RefPtr<Pango::Layout> layout;