diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-20 18:41:46 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-04-20 18:41:46 +0000 |
commit | 05134740723a098b62d00559d89c39bd631516a8 (patch) | |
tree | c485e14e9e8d210d75bf6acc888b3a2458141ce6 /gtk2_ardour/startup.h | |
parent | 3ae378a17c21257d7fb15316380898a61fe2cc5d (diff) |
farewell NSD, we loved you sometimes, almost never
git-svn-id: svn://localhost/ardour2/branches/3.0@4992 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/startup.h')
-rw-r--r-- | gtk2_ardour/startup.h | 111 |
1 files changed, 110 insertions, 1 deletions
diff --git a/gtk2_ardour/startup.h b/gtk2_ardour/startup.h index 96adf954ba..f01d972899 100644 --- a/gtk2_ardour/startup.h +++ b/gtk2_ardour/startup.h @@ -14,14 +14,47 @@ #include <gtkmm/treeview.h> #include <gtkmm/treestore.h> #include <gtkmm/checkbutton.h> +#include <gtkmm/table.h> +#include <gtkmm/frame.h> +#include <gtkmm/spinbutton.h> + +class EngineControl; class ArdourStartup : public Gtk::Assistant { public: ArdourStartup (); ~ArdourStartup (); + Glib::ustring session_name (bool& should_be_new); + Glib::ustring session_folder (); + + bool use_session_template() { return false; } + Glib::ustring session_template_name() { return ""; } + + EngineControl& engine_control() { return *engine_dialog; } + + // advanced session options + + bool create_master_bus() const; + int master_channel_count() const; + + bool create_control_bus() const; + int control_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 ; + private: bool applying; + bool config_modified; void on_apply (); void on_cancel (); @@ -40,6 +73,8 @@ class ArdourStartup : public Gtk::Assistant { void setup_first_time_config_page (); /* first page */ + Gtk::FileChooserButton* default_dir_chooser; + void default_dir_changed(); void setup_first_page (); /* initial choice page */ @@ -88,6 +123,12 @@ class ArdourStartup : public Gtk::Assistant { Gtk::ScrolledWindow recent_scroller; void redisplay_recent_sessions (); void recent_session_row_selected (); + void recent_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col); + + /* audio setup page */ + + void setup_audio_page (); + EngineControl* engine_dialog; /* new sessions */ @@ -104,7 +145,64 @@ class ArdourStartup : public Gtk::Assistant { /* more options for new sessions */ Gtk::VBox more_options_vbox; - Gtk::HBox more_options_hbox; + + Gtk::Label chan_count_label_1; + Gtk::Label chan_count_label_2; + 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 _create_control_bus; + Gtk::SpinButton _control_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 _control_bus_channel_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 monitor_bus_button_clicked (); void setup_more_options_page (); /* final page */ @@ -116,8 +214,19 @@ class ArdourStartup : public Gtk::Assistant { Glib::RefPtr<Pango::Layout> layout; + /* page indices */ + gint audio_page_index; + gint new_user_page_index; + gint default_folder_page_index; + gint monitoring_page_index; + gint session_page_index; + gint initial_choice_index; + gint final_page_index; + gint session_options_page_index; + void move_along_now (); + }; #endif /* __gtk2_ardour_startup_h__ */ |