summaryrefslogtreecommitdiff
path: root/gtk2_ardour/session_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/session_dialog.h')
-rw-r--r--gtk2_ardour/session_dialog.h101
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;