summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc59
1 files changed, 18 insertions, 41 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 88ce2fc24d..a66df27df1 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -201,7 +201,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[])
have_disk_speed_dialog_displayed = false;
_will_create_new_session_automatically = false;
session_loaded = false;
- loading_dialog = 0;
last_speed_displayed = -1.0f;
keybindings_path = ARDOUR::find_config_file ("ardour.bindings");
@@ -268,12 +267,7 @@ ARDOUR_UI::create_engine ()
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);
@@ -613,13 +607,6 @@ Please consider the possibilities, and perhaps (re)start JACK."));
win.run ();
}
-static bool
-_hide_splash (gpointer arg)
-{
- ((ARDOUR_UI*)arg)->hide_splash();
- return false;
-}
-
void
ARDOUR_UI::startup ()
{
@@ -627,10 +614,6 @@ 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");
@@ -2069,8 +2052,6 @@ ARDOUR_UI::load_cmdline_session (const Glib::ustring& session_name, const Glib::
/* lets just try to load it */
if (create_engine ()) {
- hide_splash ();
- loading_dialog->hide ();
backend_audio_error (false, new_session_dialog);
return -1;
}
@@ -2174,6 +2155,21 @@ ARDOUR_UI::build_session_from_nsd (const Glib::ustring& session_path, const Glib
return 0;
}
+void
+ARDOUR_UI::end_loading_messages ()
+{
+ // hide_splash ();
+}
+
+void
+ARDOUR_UI::loading_message (const std::string& msg)
+{
+#ifdef __APPLE__
+ show_splash ();
+ splash->message (msg);
+ flush_pending ();
+#endif
+}
bool
ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be_new)
@@ -2183,14 +2179,6 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
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()) {
@@ -2231,8 +2219,8 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
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;
@@ -2264,7 +2252,6 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
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);
@@ -2274,7 +2261,6 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
goto try_again;
}
- loading_dialog->hide ();
backend_audio_is_running = true;
if (response == Gtk::RESPONSE_OK) {
@@ -2358,7 +2344,6 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
try_again:
if (response == Gtk::RESPONSE_NONE) {
- loading_dialog->hide ();
new_session_dialog->set_existing_session (false);
new_session_dialog->reset ();
}
@@ -2368,7 +2353,6 @@ ARDOUR_UI::get_session_parameters (bool backend_audio_is_running, bool should_be
done:
show();
- loading_dialog->hide ();
new_session_dialog->hide();
new_session_dialog->reset();
goto_editor_window ();
@@ -2418,14 +2402,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na
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 {