From dbae21f78c22462879d1b476db2778485eeaab48 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 1 Feb 2008 16:46:00 +0000 Subject: [PATCH] fix up use of PATH when finding JACK (and startign it) so that new OS X users who have installed JACK in /usr/local but have not set PATH do not crash and burn; hide splash when most MessageDialog's appear git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2986 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour-sae-de.bindings.in | 2 -- gtk2_ardour/ardour.bindings.in | 5 +++-- gtk2_ardour/ardour_ui.cc | 24 +++++++++++++++++++++++- gtk2_ardour/ardour_ui.h | 2 ++ gtk2_ardour/engine_dialog.cc | 10 +++++++++- svn_revision.h | 2 +- 6 files changed, 38 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/ardour-sae-de.bindings.in b/gtk2_ardour/ardour-sae-de.bindings.in index ab3a6824b6..68f9b13b0b 100644 --- a/gtk2_ardour/ardour-sae-de.bindings.in +++ b/gtk2_ardour/ardour-sae-de.bindings.in @@ -14,8 +14,6 @@ (gtk_accel_path "/Editor/toggle-edit-mode" "1") (gtk_accel_path "/Editor/cycle-snap-mode" "2") (gtk_accel_path "/Editor/cycle-snap-choice" "3") -(gtk_accel_path "/Editor/tab-to-transient-forwards" "nabla") -(gtk_accel_path "/Editor/tab-to-transient-backwards" "<%TERTIARY%>nabla") ; (gtk_accel_path "/redirectmenu/copy" "") ; (gtk_accel_path "/options/MeterFalloffFaster" "") (gtk_accel_path "/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") diff --git a/gtk2_ardour/ardour.bindings.in b/gtk2_ardour/ardour.bindings.in index 73a24c3836..0465889f74 100644 --- a/gtk2_ardour/ardour.bindings.in +++ b/gtk2_ardour/ardour.bindings.in @@ -182,11 +182,12 @@ (gtk_accel_path "/Editor/cycle-snap-choice" "3") (gtk_accel_path "/Transport/ToggleAutoReturn" "4") (gtk_accel_path "/Transport/ToggleClick" "5") -(gtk_accel_path "/Editor/tab-to-transient-forwards" "nabla") -(gtk_accel_path "/Editor/tab-to-transient-backwards" "<%TERTIARY%>nabla") +(gtk_accel_path "/Editor/tab-to-transient-forwards" "7") +(gtk_accel_path "/Editor/tab-to-transient-backwards" "8") (gtk_accel_path "/Editor/set-tempo-from-region" "9") (gtk_accel_path "/Editor/set-tempo-from-edit-range" "0") + ;; ;; unbound actions ;; diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 016e4f92d5..5492c3b386 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -392,6 +392,15 @@ ARDOUR_UI::~ARDOUR_UI () } } +void +ARDOUR_UI::pop_back_splash () +{ + if (Splash::instance()) { + // Splash::instance()->pop_back(); + Splash::instance()->hide (); + } +} + gint ARDOUR_UI::configure_timeout () { @@ -603,6 +612,7 @@ Please consider the possibilities, and perhaps (re)start JACK.")); win.show_all (); win.set_position (Gtk::WIN_POS_CENTER); + pop_back_splash (); /* we just don't care about the result, but we want to block */ @@ -683,6 +693,8 @@ ARDOUR_UI::check_memory_locking () hbox.pack_start (cb, true, false); vbox->pack_start (hbox); hbox.show_all (); + + pop_back_splash (); msg.run (); } @@ -716,6 +728,7 @@ ARDOUR_UI::finish() Ardour was unable to save your session.\n\n\ If you still wish to quit, please use the\n\n\ \"Just quit\" option.")); + pop_back_splash(); msg.run (); return; } @@ -1149,6 +1162,7 @@ ARDOUR_UI::check_audioengine () if (!engine->connected()) { MessageDialog msg (_("Ardour is not connected to JACK\n" "You cannot open or close sessions in this condition")); + pop_back_splash (); msg.run (); return false; } @@ -1270,6 +1284,7 @@ ARDOUR_UI::session_add_audio_route (bool track, int32_t input_channels, int32_t to create a new track or bus.\n\ You should save Ardour, exit and\n\ restart JACK with more ports.")); + pop_back_splash (); msg.run (); } } @@ -1646,6 +1661,7 @@ JACK has either been shutdown or it\n\ disconnected Ardour because Ardour\n\ was not fast enough. You can save the\n\ session and/or try to reconnect to JACK .")); + pop_back_splash (); msg.run (); } @@ -1993,6 +2009,7 @@ ARDOUR_UI::fontconfig_dialog () true, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK); + pop_back_splash (); msg.show_all (); msg.present (); msg.run (); @@ -2083,7 +2100,8 @@ ARDOUR_UI::ask_about_loading_existing_session (const Glib::ustring& session_path msg.set_name (X_("CleanupDialog")); msg.set_wmclass (X_("existing_session"), "Ardour"); msg.set_position (Gtk::WIN_POS_MOUSE); - + pop_back_splash (); + switch (msg.run()) { case RESPONSE_YES: return true; @@ -2402,6 +2420,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na if (Glib::file_test (path.c_str(), Glib::FILE_TEST_EXISTS) && ::access (path.c_str(), W_OK)) { MessageDialog msg (*editor, _("You do not have write access to this session.\n" "This prevents the session from being loaded.")); + pop_back_splash (); msg.run (); goto out; } @@ -2425,6 +2444,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na msg.set_title (_("Loading Error")); msg.set_secondary_text (_("Click the OK button to try again.")); msg.set_position (Gtk::WIN_POS_CENTER); + pop_back_splash (); msg.present (); int response = msg.run (); @@ -2450,6 +2470,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na msg.set_title (_("Loading Error")); msg.set_secondary_text (_("Click the OK button to try again.")); msg.set_position (Gtk::WIN_POS_CENTER); + pop_back_splash (); msg.present (); int response = msg.run (); @@ -2522,6 +2543,7 @@ ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_n catch (...) { MessageDialog msg (string_compose(_("Could not create session in \"%1\""), path)); + pop_back_splash (); msg.run (); return -1; } diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 49e85e149c..284c3dc1da 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -647,7 +647,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI About* about; Splash* splash; + void pop_back_splash (); bool shown_flag; + /* cleanup */ Gtk::MenuItem *cleanup_item; diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index 0eaff9ed1f..637febcd94 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -553,10 +553,12 @@ EngineControl::setup_engine () error << string_compose (_("cannot open JACK rc file %1 to store parameters"), jackdrc_path) << endmsg; return -1; } - + cerr << "JACK COMMAND: "; for (vector::iterator i = args.begin(); i != args.end(); ++i) { + cerr << (*i) << ' '; jackdrc << (*i) << ' '; } + cerr << endl; jackdrc << endl; jackdrc.close (); @@ -956,6 +958,12 @@ EngineControl::find_jack_servers (vector& strings) } } +#ifdef __APPLE__ + // push it back into the environment so that auto-started JACK can find it. + // XXX why can't we just expect OS X users to have PATH set correctly? we can't ... + setenv ("PATH", path.c_str(), 1); +#endif + jack_servers = scanner (path, jack_server_filter, 0, false, true); vector::iterator iter; diff --git a/svn_revision.h b/svn_revision.h index 14515fb63b..5000e5a2a4 100644 --- a/svn_revision.h +++ b/svn_revision.h @@ -1,4 +1,4 @@ #ifndef __ardour_svn_revision_h__ #define __ardour_svn_revision_h__ -static const char* ardour_svn_revision = "2918"; +static const char* ardour_svn_revision = "2985"; #endif -- 2.30.2