diff options
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 59 |
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 { |