X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fstartup.h;h=e27b1c14ed0b424115b609aedbe05b0eabf3a7be;hb=cf52d6e4b40111eb04b244ec054055a4ec15dbe0;hp=5a95994c4e6b5d543f120e025d23e222d27da6a6;hpb=4729bbde5f5f6833b878155da5a395d5ecd9e565;p=ardour.git diff --git a/gtk2_ardour/startup.h b/gtk2_ardour/startup.h index 5a95994c4e..e27b1c14ed 100644 --- a/gtk2_ardour/startup.h +++ b/gtk2_ardour/startup.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -45,32 +46,10 @@ class EngineControl; class ArdourStartup : public Gtk::Assistant { public: - ArdourStartup (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name); + ArdourStartup (); ~ArdourStartup (); - bool ready_without_display () const; - - std::string session_name (bool& should_be_new); - std::string session_folder (); - - bool use_session_template(); - std::string session_template_name(); - - // advanced session options - - bool create_master_bus() const; - int master_channel_count() const; - - bool connect_inputs() const; - bool limit_inputs_used_for_connection() const; - int input_limit_count() const; - - bool connect_outputs() const; - bool limit_outputs_used_for_connection() const; - int output_limit_count() const; - - bool connect_outs_to_master() const; - bool connect_outs_to_physical() const; + static bool required (); gint response () const { return _response; @@ -80,23 +59,17 @@ class ArdourStartup : public Gtk::Assistant { 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; - - std::string been_here_before_path () const; void on_apply (); void on_cancel (); bool on_delete_event (GdkEventAny*); - void on_prepare (Gtk::Widget*); + void discover_plugins (); static ArdourStartup *the_startup; Glib::RefPtr icon_pixbuf; + void setup_prerelease_page (); void setup_new_user_page (); Glib::RefPtr splash_pixbuf; Gtk::DrawingArea splash_area; @@ -109,15 +82,7 @@ class ArdourStartup : public Gtk::Assistant { Gtk::FileChooserButton* default_dir_chooser; void default_dir_changed(); void setup_first_page (); - - /* initial choice page */ - - void setup_initial_choice_page (); - Gtk::VBox ic_vbox; - Gtk::RadioButton ic_new_session_button; - Gtk::RadioButton ic_existing_session_button; - bool initial_button_clicked(GdkEventButton*); - void initial_button_activated(); + Gtk::FileChooserButton new_folder_chooser; /* monitoring choices */ @@ -135,143 +100,10 @@ class ArdourStartup : public Gtk::Assistant { Gtk::RadioButton no_monitor_section_button; void setup_monitor_section_choice_page (); - /* session page (could be new or existing) */ - - 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 a, std::pair b) const { - return cmp_nocase(a.first, b.first) == -1; - } - }; - - struct RecentSessionModelColumns : public Gtk::TreeModel::ColumnRecord { - RecentSessionModelColumns() { - add (visible_name); - add (tip); - add (fullpath); - } - Gtk::TreeModelColumn visible_name; - Gtk::TreeModelColumn tip; - Gtk::TreeModelColumn fullpath; - }; - - RecentSessionModelColumns recent_session_columns; - Gtk::TreeView recent_session_display; - Glib::RefPtr recent_session_model; - Gtk::ScrolledWindow recent_scroller; - Gtk::FileChooserButton existing_session_chooser; - int redisplay_recent_sessions (); - void recent_session_row_selected (); - void recent_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col); - - void existing_session_selected (); - - /* audio setup page */ - - void setup_audio_page (); - EngineControl* engine_dialog; - - /* new sessions */ - - void setup_new_session_page (); - Gtk::Entry new_name_entry; - Gtk::FileChooserButton new_folder_chooser; - Gtk::FileChooserButton session_template_chooser; - - struct SessionTemplateColumns : public Gtk::TreeModel::ColumnRecord { - SessionTemplateColumns () { - add (name); - add (path); - } - - Gtk::TreeModelColumn name; - Gtk::TreeModelColumn path; - }; - - SessionTemplateColumns session_template_columns; - Glib::RefPtr template_model; - Gtk::ComboBox template_chooser; - - Gtk::VBox session_new_vbox; - Gtk::VBox session_existing_vbox; - Gtk::CheckButton more_new_session_options_button; - Gtk::RadioButtonGroup session_template_group; - Gtk::RadioButton use_session_as_template_button; - Gtk::RadioButton use_template_button; - std::string load_template_override; - - void more_new_session_options_button_clicked(); - void new_name_changed (); - void populate_session_templates (); - - /* more options for new sessions */ - - Gtk::VBox more_options_vbox; - - Gtk::Label chan_count_label_1; - Gtk::Label chan_count_label_3; - Gtk::Label chan_count_label_4; - Gtk::Table advanced_table; - Gtk::HBox input_port_limit_hbox; - Gtk::VBox input_port_vbox; - Gtk::Table input_table; - Gtk::HBox input_hbox; - - Gtk::Label bus_label; - Gtk::Frame bus_frame; - Gtk::Table bus_table; - Gtk::HBox bus_hbox; - - Gtk::Label input_label; - Gtk::Frame input_frame; - Gtk::HBox output_port_limit_hbox; - Gtk::VBox output_port_vbox; - Gtk::VBox output_conn_vbox; - Gtk::VBox output_vbox; - Gtk::HBox output_hbox; - - Gtk::Label output_label; - Gtk::Frame output_frame; - Gtk::VBox advanced_vbox; - Gtk::Label advanced_label; - - Gtk::CheckButton _create_master_bus; - Gtk::SpinButton _master_bus_channel_count; - - Gtk::CheckButton _connect_inputs; - Gtk::CheckButton _limit_input_ports; - Gtk::SpinButton _input_limit_count; - - Gtk::CheckButton _connect_outputs; - Gtk::CheckButton _limit_output_ports; - Gtk::SpinButton _output_limit_count; - - Gtk::RadioButtonGroup connect_outputs_group; - Gtk::RadioButton _connect_outputs_to_master; - Gtk::RadioButton _connect_outputs_to_physical; - - Gtk::Adjustment _output_limit_count_adj; - Gtk::Adjustment _input_limit_count_adj; - Gtk::Adjustment _master_bus_channel_count_adj; - - void connect_inputs_clicked (); - void connect_outputs_clicked (); - void limit_inputs_clicked (); - void limit_outputs_clicked (); - void master_bus_button_clicked (); - void setup_more_options_page (); - /* final page */ void setup_final_page (); - Gtk::Label final_page; + Gtk::Button plugin_disco_button; /* always there */ @@ -284,21 +116,9 @@ class ArdourStartup : public Gtk::Assistant { gint default_folder_page_index; gint monitoring_page_index; gint monitor_section_page_index; - gint session_page_index; - gint initial_choice_index; gint final_page_index; - gint session_options_page_index; void move_along_now (); - - bool _existing_session_chooser_used; ///< set to true when the existing session chooser has been used - void setup_prerelease_page (); - - Gtk::Label info_scroller_label; - std::string::size_type info_scroller_count; - bool info_scroller_update(); - sigc::connection info_scroller_connection; - void updates_button_clicked (); }; #endif /* __gtk2_ardour_startup_h__ */