summaryrefslogtreecommitdiff
path: root/gtk2_ardour/startup.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-04-20 18:41:46 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-04-20 18:41:46 +0000
commit05134740723a098b62d00559d89c39bd631516a8 (patch)
treec485e14e9e8d210d75bf6acc888b3a2458141ce6 /gtk2_ardour/startup.h
parent3ae378a17c21257d7fb15316380898a61fe2cc5d (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.h111
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__ */