connection_editor = 0;
_will_create_new_session_automatically = false;
new_session_dialog = 0;
- loading_dialog = 0;
add_route_dialog = 0;
route_params = 0;
option_editor = 0;
return 0;
}
-#ifdef __APPLE__
- // OS X where everything is sllloooowwww
- loading_dialog->set_message (_("Starting audio engine"));
- loading_dialog->show_all ();
- flush_pending ();
-#endif
+ loading_message (_("Starting audio engine"));
try {
engine = new ARDOUR::AudioEngine (ARDOUR_COMMAND_LINE::jack_client_name);
win.run ();
}
-static bool
-_hide_splash (gpointer arg)
-{
- ((ARDOUR_UI*)arg)->hide_splash();
- return false;
-}
-
void
ARDOUR_UI::startup ()
{
new_session_dialog = new NewSessionDialog();
- // in 4 seconds, hide the splash screen
-
- Glib::signal_timeout().connect (bind (sigc::ptr_fun (_hide_splash), this), 4000);
-
bool backend_audio_is_running = EngineControl::engine_running();
XMLNode* audio_setup = Config->extra_xml ("AudioSetup");
/* lets just try to load it */
if (create_engine ()) {
- hide_splash ();
- loading_dialog->hide ();
backend_audio_error (false, new_session_dialog);
return -1;
}
return 0;
}
+void
+ARDOUR_UI::end_loading_messages ()
+{
+ // hide_splash ();
+}
+
+void
+ARDOUR_UI::loading_message (const std::string& msg)
+{
+ show_splash ();
+ splash->message (msg);
+ flush_pending ();
+}
bool
ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be_new)
Glib::ustring session_path;
Glib::ustring template_name;
- if (!loading_dialog) {
- loading_dialog = new MessageDialog (*new_session_dialog,
- "",
- false,
- Gtk::MESSAGE_INFO,
- Gtk::BUTTONS_NONE);
- }
-
int response = Gtk::RESPONSE_NONE;
if (!ARDOUR_COMMAND_LINE::session_name.empty()) {
do {
new_session_dialog->set_have_engine (backend_audio_is_running);
new_session_dialog->present ();
+ end_loading_messages ();
response = new_session_dialog->run ();
- loading_dialog->hide ();
_session_is_new = false;
if (create_engine ()) {
backend_audio_error (!backend_audio_is_running, new_session_dialog);
- loading_dialog->hide ();
flush_pending ();
new_session_dialog->set_existing_session (false);
goto try_again;
}
- loading_dialog->hide ();
backend_audio_is_running = true;
if (response == Gtk::RESPONSE_OK) {
try_again:
if (response == Gtk::RESPONSE_NONE) {
- loading_dialog->hide ();
new_session_dialog->set_existing_session (false);
new_session_dialog->reset ();
}
done:
show();
- loading_dialog->hide ();
new_session_dialog->hide();
new_session_dialog->reset();
goto_editor_window ();
goto out;
}
-#ifdef __APPLE__
- // OS X where everything is sllloooowwww
- if (loading_dialog) {
- loading_dialog->set_markup (_("Please wait while Ardour loads your session"));
- flush_pending ();
- }
-#endif
-
+ loading_message (_("Please wait while Ardour loads your session"));
disable_screen_updates ();
try {
}
splash->show ();
+ splash->queue_draw ();
splash->get_window()->process_updates (true);
flush_pending ();
}