Add newline to DEBUG::Soundcloud so that it's readable & flushed
[ardour.git] / gtk2_ardour / session_dialog.h
index e7c8738b5b9cba33b4d99d3f0fc5b53809870dcd..a464e5a5ef182fe09ed70f7a1b79e39d4dfcf6f0 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 ();
@@ -131,14 +139,18 @@ class SessionDialog : public ArdourDialog {
        Gtk::TreeView                recent_session_display;
        Glib::RefPtr<Gtk::TreeStore> recent_session_model;
        Gtk::ScrolledWindow          recent_scroller;
-        Gtk::Label                   recent_label;
+       Gtk::Label                   recent_label;
        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);
+       bool recent_button_press (GdkEventButton*);
+       void recent_context_mennu (GdkEventButton*);
+       void recent_remove_selected ();
 
        void existing_session_selected ();
-        void session_selected ();
+       void session_selected ();
 
        /* new sessions */
 
@@ -228,6 +240,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;