X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsession_dialog.h;h=ff630c2cd5a50faa101ac0e02c84cb81418e53da;hb=1f6c54a2f053caa8afec70f2acffdb7f7d73f09f;hp=5f4062fc1bdd3a5badd783ec6e7472b761e8371f;hpb=bd40b9132cbac2d2b79ba0ef480bd41d837f8f71;p=ardour.git diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h index 5f4062fc1b..ff630c2cd5 100644 --- a/gtk2_ardour/session_dialog.h +++ b/gtk2_ardour/session_dialog.h @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -58,24 +59,10 @@ public: std::string session_name (bool& should_be_new); std::string session_folder (); - bool use_session_template(); + bool use_session_template() const; 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; + uint32_t master_channel_count(); void set_provided_session(const std::string& session_name, const std::string& session_path) { _provided_session_name = session_name; @@ -165,92 +152,44 @@ private: SessionTemplateColumns () { add (name); add (path); - add (desc); + add (description); + add (created_with_short); + add (created_with_long); } Gtk::TreeModelColumn name; Gtk::TreeModelColumn path; - Gtk::TreeModelColumn desc; + Gtk::TreeModelColumn description; + Gtk::TreeModelColumn created_with_short; + Gtk::TreeModelColumn created_with_long; }; SessionTemplateColumns session_template_columns; - Glib::RefPtr template_model; - Gtk::ComboBox template_chooser; + + Glib::RefPtr template_model; + Gtk::TreeView template_chooser; + Gtk::ScrolledWindow template_scroller; + + void template_row_selected (); + + Gtk::TextView template_desc; + Gtk::Frame template_desc_frame; Gtk::VBox session_new_vbox; Gtk::VBox session_existing_vbox; - Gtk::Expander more_new_session_options_button; - Gtk::CheckButton use_template_button; std::string load_template_override; - void template_checkbox_toggled (); - - void more_new_session_options_button_clicked(); void new_name_changed (); void new_name_activated (); 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_box (); - /* --disable plugins UI */ Gtk::CheckButton _disable_plugins; void disable_plugins_clicked (); + /* meta-template */ + uint32_t meta_master_bus_profile (std::string script) const; + /* always there */ Glib::RefPtr layout;