#include <gtkmm/liststore.h>
#include <gtkmm/combobox.h>
-#include "pbd/filesystem.h"
-
#include "ardour/utils.h"
class EngineControl;
class ArdourStartup : public Gtk::Assistant {
public:
- ArdourStartup ();
+ ArdourStartup (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name);
~ArdourStartup ();
- void set_new_only (bool);
- void set_load_template( std::string load_template );
+ bool ready_without_display () const;
std::string session_name (bool& should_be_new);
std::string session_folder ();
gint _response;
bool config_modified;
bool new_user;
+ bool need_audio_setup;
+ bool need_session_info;
bool new_only;
+ std::string _provided_session_name;
+ std::string _provided_session_path;
- PBD::sys::path been_here_before_path () const;
+ std::string been_here_before_path () const;
void on_apply ();
void on_cancel ();
void setup_initial_choice_page ();
Gtk::VBox ic_vbox;
- Gtk::CheckButton ic_new_session_button;
- bool initial_button_press(GdkEventButton *);
- void initial_button_clicked ();
+ Gtk::RadioButton ic_new_session_button;
+ Gtk::RadioButton ic_existing_session_button;
+ bool initial_button_clicked(GdkEventButton*);
void initial_button_activated();
/* monitoring choices */
Gtk::RadioButton no_monitor_section_button;
void setup_monitor_section_choice_page ();
- /* new session page */
+ /* session page (could be new or existing) */
- void setup_new_session_page ();
- Gtk::VBox new_session_vbox;
- Gtk::HBox new_session_hbox;
+ void setup_session_page ();
+ Gtk::VBox session_vbox;
+ Gtk::HBox session_hbox;
+
+ /* recent sessions */
+
+ void setup_existing_session_page ();
struct RecentSessionsSorter {
bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
/* new sessions */
+ void setup_new_session_page ();
Gtk::Entry new_name_entry;
Gtk::FileChooserButton new_folder_chooser;
Gtk::FileChooserButton session_template_chooser;
gint default_folder_page_index;
gint monitoring_page_index;
gint monitor_section_page_index;
- gint new_session_page_index;
+ gint session_page_index;
gint initial_choice_index;
gint final_page_index;
gint session_options_page_index;