diff options
Diffstat (limited to 'gtk2_ardour/session_dialog.h')
-rw-r--r-- | gtk2_ardour/session_dialog.h | 101 |
1 files changed, 82 insertions, 19 deletions
diff --git a/gtk2_ardour/session_dialog.h b/gtk2_ardour/session_dialog.h index 8aced6c90d..5f4062fc1b 100644 --- a/gtk2_ardour/session_dialog.h +++ b/gtk2_ardour/session_dialog.h @@ -30,7 +30,6 @@ #include <gtkmm/radiobutton.h> #include <gtkmm/filechooserbutton.h> #include <gtkmm/scrolledwindow.h> -#include <gtkmm/textview.h> #include <gtkmm/treeview.h> #include <gtkmm/treestore.h> #include <gtkmm/checkbutton.h> @@ -59,10 +58,24 @@ public: std::string session_name (bool& should_be_new); std::string session_folder (); - bool use_session_template() const; + bool use_session_template(); std::string session_template_name(); - uint32_t master_channel_count(); + // 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; void set_provided_session(const std::string& session_name, const std::string& session_path) { _provided_session_name = session_name; @@ -152,42 +165,92 @@ private: SessionTemplateColumns () { add (name); add (path); - add (description); - add (created_with); + add (desc); } Gtk::TreeModelColumn<std::string> name; Gtk::TreeModelColumn<std::string> path; - Gtk::TreeModelColumn<std::string> description; - Gtk::TreeModelColumn<std::string> created_with; + Gtk::TreeModelColumn<std::string> desc; }; SessionTemplateColumns session_template_columns; - - Glib::RefPtr<Gtk::TreeStore> template_model; - Gtk::TreeView template_chooser; - Gtk::ScrolledWindow template_scroller; - - void template_row_selected (); - - Gtk::TextView template_desc; - Gtk::Frame template_desc_frame; + Glib::RefPtr<Gtk::ListStore> template_model; + Gtk::ComboBox template_chooser; 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<Pango::Layout> layout; |