#include "pbd/stacktrace.h"
#include "pbd/openuri.h"
+#include "ardour/audioengine.h"
#include "ardour/filesystem_paths.h"
#include "ardour/recent_sessions.h"
#include "ardour/session.h"
, monitor_via_hardware_button (string_compose (_("Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"), PROGRAM_NAME))
, monitor_via_ardour_button (string_compose (_("Ask %1 to play back material as it is being recorded"), PROGRAM_NAME))
- , engine_dialog (0)
, new_folder_chooser (FILE_CHOOSER_ACTION_SELECT_FOLDER)
, more_new_session_options_button (_("I'd like more options for this session"))
, _output_limit_count_adj (1, 0, 100, 1, 10, 0)
, _existing_session_chooser_used (false)
{
new_user = !Glib::file_test (been_here_before_path(), Glib::FILE_TEST_EXISTS);
- need_audio_setup = EngineControl::need_setup ();
need_session_info = (session_name.empty() || require_new);
_provided_session_name = session_name;
_provided_session_path = session_path;
- if (need_audio_setup || need_session_info || new_user) {
+ if (need_session_info || new_user) {
use_template_button.set_group (session_template_group);
use_session_as_template_button.set_group (session_template_group);
set_default_icon_list (window_icons);
}
- set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG);
-
#ifdef __APPLE__
setup_prerelease_page ();
#endif
setup_monitoring_choice_page ();
setup_monitor_section_choice_page ();
- if (need_audio_setup) {
- setup_audio_page ();
- }
-
ic_new_session_button.set_active (true); // always create new session on first run
} else {
- if (need_audio_setup) {
- setup_audio_page ();
- }
-
setup_initial_choice_page ();
}
bool
ArdourStartup::ready_without_display () const
{
- return !new_user && !need_audio_setup && !need_session_info;
+ return !new_user && !need_session_info;
}
void
ArdourStartup::setup_prerelease_page ()
{
- VBox* vbox = manage (new VBox);
- Label* label = manage (new Label);
- label->set_markup (_("<b>Welcome to this BETA release of Ardour 3.0</b>\n\n\
-Ardour 3.0 has been released for Linux but because of the lack of testers,\n\
+ VBox* vbox = manage (new VBox);
+ Label* label = manage (new Label);
+ label->set_markup (string_compose (_("<b>Welcome to this BETA release of Ardour %1</b>\n\n\
+Ardour %1 has been released for Linux but because of the lack of testers,\n\
it is still at the beta stage on OS X. So, a few guidelines:\n\
\n\
1) Please do <b>NOT</b> use this software with the expectation that it is stable or reliable\n\
though it may be so, depending on your workflow.\n\
-3) <b>Please do NOT use the forums at ardour.org to report issues</b>.\n\
-4) Please <b>DO</b> use the bugtracker at http://tracker.ardour.org/ to report issues\n\
- making sure to note the product version number as 3.0-beta.\n\
-5) Please <b>DO</b> use the ardour-users mailing list to discuss ideas and pass on comments.\n\
-6) Please <b>DO</b> join us on IRC for real time discussions about ardour3. You\n\
+2) <b>Please do NOT use the forums at ardour.org to report issues</b>.\n\
+3) Please <b>DO</b> use the bugtracker at http://tracker.ardour.org/ to report issues\n\
+ making sure to note the product version number as %1-beta.\n\
+4) Please <b>DO</b> use the ardour-users mailing list to discuss ideas and pass on comments.\n\
+5) Please <b>DO</b> join us on IRC for real time discussions about ardour3. You\n\
can get there directly from Ardour via the Help->Chat menu option.\n\
\n\
Full information on all the above can be found on the support page at\n\
\n\
http://ardour.org/support\n\
-"));
-
- vbox->set_border_width (12);
- vbox->pack_start (*label, false, false, 12);
- vbox->show_all ();
+"), VERSIONSTRING));
- append_page (*vbox);
- set_page_type (*vbox, ASSISTANT_PAGE_CONTENT);
- set_page_title (*vbox, _("This is a BETA RELEASE"));
+ vbox->set_border_width (12);
+ vbox->pack_start (*label, false, false, 12);
+ vbox->show_all ();
+
+ append_page (*vbox);
+ set_page_type (*vbox, ASSISTANT_PAGE_CONTENT);
+ set_page_title (*vbox, _("This is a BETA RELEASE"));
set_page_complete (*vbox, true);
}
}
}
-void
-ArdourStartup::setup_audio_page ()
-{
- engine_dialog = manage (new EngineControl);
-
- engine_dialog->set_border_width (12);
-
- engine_dialog->show_all ();
-
- audio_page_index = append_page (*engine_dialog);
- set_page_type (*engine_dialog, ASSISTANT_PAGE_CONTENT);
- set_page_title (*engine_dialog, _("Audio / MIDI Setup"));
-
- /* the default parameters should work, so the page is potentially complete */
-
- set_page_complete (*engine_dialog, true);
-}
-
void
ArdourStartup::setup_new_user_page ()
{
vbox->pack_start (*txt, false, false);
vbox->pack_start (*hbox, false, true);
- cerr << "Setting defaultDIR session dir to [" << Config->get_default_session_parent_dir() << "]\n";
-
default_dir_chooser->set_current_folder (poor_mans_glob (Config->get_default_session_parent_dir()));
default_dir_chooser->signal_current_folder_changed().connect (sigc::mem_fun (*this, &ArdourStartup::default_dir_changed));
default_dir_chooser->show ();
ic_vbox.show_all ();
initial_choice_index = append_page (ic_vbox);
- set_page_title (ic_vbox, _("What would you like to do ?"));
+ set_page_title (ic_vbox, string_compose("%1 %2", PROGRAM_NAME, VERSIONSTRING));
set_page_header_image (ic_vbox, icon_pixbuf);
/* user could just click on "Forward" if default
void
ArdourStartup::on_apply ()
{
- if (engine_dialog) {
- if (engine_dialog->setup_engine ()) {
- set_current_page (audio_page_index);
- return;
- }
- }
-
if (config_modified) {
if (default_dir_chooser) {
string::size_type last_dir_sep = session_parent_dir.rfind(G_DIR_SEPARATOR);
session_parent_dir = session_parent_dir.substr(0, last_dir_sep);
new_folder_chooser.set_current_folder (session_parent_dir);
- new_folder_chooser.add_shortcut_folder (poor_mans_glob (Config->get_default_session_parent_dir()));
+ string default_session_folder = poor_mans_glob (Config->get_default_session_parent_dir());
+
+ try {
+ /* add_shortcut_folder throws an exception if the folder being added already has a shortcut */
+ new_folder_chooser.add_shortcut_folder (default_session_folder);
+ }
+ catch (Glib::Error & e) {
+ std::cerr << "new_folder_chooser.add_shortcut_folder (" << default_session_folder << ") threw Glib::Error " << e.what() << std::endl;
+ }
} else {
new_folder_chooser.set_current_folder (poor_mans_glob (Config->get_default_session_parent_dir()));
}
if (more_new_session_options_button.get_active()) {
set_page_type (session_vbox, ASSISTANT_PAGE_CONTENT);
}
+ session_hbox.show_all();
}
void
set_page_title (session_vbox, _("Select a session"));
set_page_type (session_vbox, ASSISTANT_PAGE_CONFIRM);
+ session_hbox.show_all();
}
void
char buf[512];
snprintf (buf, std::min(info_scroller_count,sizeof(buf)-1), "%s", ARDOUR_UI::instance()->announce_string().c_str() );
- buf[info_scroller_count] = NULL;
+ buf[info_scroller_count] = 0;
info_scroller_label.set_text (buf);
info_scroller_label.show();