X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsession_dialog.h;h=9143007f8fc68d9b41e352bdb7005a5e53a7ab81;hb=bc38f2c48969be068b93525bdbcce6c1ff4e1d7c;hp=ac4c1a7925b853729b2b5ec8f4f40c44c435b727;hpb=b362ff220cbd1a17f1b6621b624d3801101fad3e;p=ardour.git diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h index ac4c1a7925..9143007f8f 100644 --- a/gtk2_ardour/session_dialog.h +++ b/gtk2_ardour/session_dialog.h @@ -47,9 +47,13 @@ class EngineControl; class SessionDialog : public ArdourDialog { public: - SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name); + 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 (); @@ -72,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; @@ -86,9 +95,12 @@ class SessionDialog : public ArdourDialog { bool back_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 (); @@ -99,7 +111,7 @@ class SessionDialog : public ArdourDialog { struct RecentSessionsSorter { bool operator() (std::pair a, std::pair b) const { - return cmp_nocase(a.first, b.first) == -1; + return ARDOUR::cmp_nocase(a.first, b.first) == -1; } }; @@ -108,10 +120,18 @@ class SessionDialog : public ArdourDialog { add (visible_name); add (tip); add (fullpath); + add (sample_rate); + add (disk_format); + add (time_modified); + add (time_formatted); } Gtk::TreeModelColumn visible_name; Gtk::TreeModelColumn tip; Gtk::TreeModelColumn fullpath; + Gtk::TreeModelColumn sample_rate; + Gtk::TreeModelColumn disk_format; + Gtk::TreeModelColumn time_modified; + Gtk::TreeModelColumn time_formatted; }; RecentSessionModelColumns recent_session_columns; @@ -122,6 +142,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 (); @@ -215,6 +236,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 layout;