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
This commit is contained in:
Paul Davis 2008-02-01 16:46:00 +00:00
parent f8c2227714
commit dbae21f78c
6 changed files with 38 additions and 7 deletions

View file

@ -14,8 +14,6 @@
(gtk_accel_path "<Actions>/Editor/toggle-edit-mode" "1") (gtk_accel_path "<Actions>/Editor/toggle-edit-mode" "1")
(gtk_accel_path "<Actions>/Editor/cycle-snap-mode" "2") (gtk_accel_path "<Actions>/Editor/cycle-snap-mode" "2")
(gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3") (gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "nabla")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%TERTIARY%>nabla")
; (gtk_accel_path "<Actions>/redirectmenu/copy" "") ; (gtk_accel_path "<Actions>/redirectmenu/copy" "")
; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "") ; (gtk_accel_path "<Actions>/options/MeterFalloffFaster" "")
(gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space") (gtk_accel_path "<Actions>/Transport/ToggleRollForgetCapture" "<%PRIMARY%>space")

View file

@ -182,11 +182,12 @@
(gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3") (gtk_accel_path "<Actions>/Editor/cycle-snap-choice" "3")
(gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "4") (gtk_accel_path "<Actions>/Transport/ToggleAutoReturn" "4")
(gtk_accel_path "<Actions>/Transport/ToggleClick" "5") (gtk_accel_path "<Actions>/Transport/ToggleClick" "5")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "nabla") (gtk_accel_path "<Actions>/Editor/tab-to-transient-forwards" "7")
(gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "<%TERTIARY%>nabla") (gtk_accel_path "<Actions>/Editor/tab-to-transient-backwards" "8")
(gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "9") (gtk_accel_path "<Actions>/Editor/set-tempo-from-region" "9")
(gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0") (gtk_accel_path "<Actions>/Editor/set-tempo-from-edit-range" "0")
;; ;;
;; unbound actions ;; unbound actions
;; ;;

View file

@ -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 gint
ARDOUR_UI::configure_timeout () ARDOUR_UI::configure_timeout ()
{ {
@ -603,6 +612,7 @@ Please consider the possibilities, and perhaps (re)start JACK."));
win.show_all (); win.show_all ();
win.set_position (Gtk::WIN_POS_CENTER); win.set_position (Gtk::WIN_POS_CENTER);
pop_back_splash ();
/* we just don't care about the result, but we want to block */ /* 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); hbox.pack_start (cb, true, false);
vbox->pack_start (hbox); vbox->pack_start (hbox);
hbox.show_all (); hbox.show_all ();
pop_back_splash ();
msg.run (); msg.run ();
} }
@ -716,6 +728,7 @@ ARDOUR_UI::finish()
Ardour was unable to save your session.\n\n\ Ardour was unable to save your session.\n\n\
If you still wish to quit, please use the\n\n\ If you still wish to quit, please use the\n\n\
\"Just quit\" option.")); \"Just quit\" option."));
pop_back_splash();
msg.run (); msg.run ();
return; return;
} }
@ -1149,6 +1162,7 @@ ARDOUR_UI::check_audioengine ()
if (!engine->connected()) { if (!engine->connected()) {
MessageDialog msg (_("Ardour is not connected to JACK\n" MessageDialog msg (_("Ardour is not connected to JACK\n"
"You cannot open or close sessions in this condition")); "You cannot open or close sessions in this condition"));
pop_back_splash ();
msg.run (); msg.run ();
return false; 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\ to create a new track or bus.\n\
You should save Ardour, exit and\n\ You should save Ardour, exit and\n\
restart JACK with more ports.")); restart JACK with more ports."));
pop_back_splash ();
msg.run (); msg.run ();
} }
} }
@ -1646,6 +1661,7 @@ JACK has either been shutdown or it\n\
disconnected Ardour because Ardour\n\ disconnected Ardour because Ardour\n\
was not fast enough. You can save the\n\ was not fast enough. You can save the\n\
session and/or try to reconnect to JACK .")); session and/or try to reconnect to JACK ."));
pop_back_splash ();
msg.run (); msg.run ();
} }
@ -1993,6 +2009,7 @@ ARDOUR_UI::fontconfig_dialog ()
true, true,
Gtk::MESSAGE_INFO, Gtk::MESSAGE_INFO,
Gtk::BUTTONS_OK); Gtk::BUTTONS_OK);
pop_back_splash ();
msg.show_all (); msg.show_all ();
msg.present (); msg.present ();
msg.run (); 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_name (X_("CleanupDialog"));
msg.set_wmclass (X_("existing_session"), "Ardour"); msg.set_wmclass (X_("existing_session"), "Ardour");
msg.set_position (Gtk::WIN_POS_MOUSE); msg.set_position (Gtk::WIN_POS_MOUSE);
pop_back_splash ();
switch (msg.run()) { switch (msg.run()) {
case RESPONSE_YES: case RESPONSE_YES:
return true; 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)) { 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" MessageDialog msg (*editor, _("You do not have write access to this session.\n"
"This prevents the session from being loaded.")); "This prevents the session from being loaded."));
pop_back_splash ();
msg.run (); msg.run ();
goto out; 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_title (_("Loading Error"));
msg.set_secondary_text (_("Click the OK button to try again.")); msg.set_secondary_text (_("Click the OK button to try again."));
msg.set_position (Gtk::WIN_POS_CENTER); msg.set_position (Gtk::WIN_POS_CENTER);
pop_back_splash ();
msg.present (); msg.present ();
int response = msg.run (); 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_title (_("Loading Error"));
msg.set_secondary_text (_("Click the OK button to try again.")); msg.set_secondary_text (_("Click the OK button to try again."));
msg.set_position (Gtk::WIN_POS_CENTER); msg.set_position (Gtk::WIN_POS_CENTER);
pop_back_splash ();
msg.present (); msg.present ();
int response = msg.run (); int response = msg.run ();
@ -2522,6 +2543,7 @@ ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_n
catch (...) { catch (...) {
MessageDialog msg (string_compose(_("Could not create session in \"%1\""), path)); MessageDialog msg (string_compose(_("Could not create session in \"%1\""), path));
pop_back_splash ();
msg.run (); msg.run ();
return -1; return -1;
} }

View file

@ -647,7 +647,9 @@ class ARDOUR_UI : public Gtkmm2ext::UI
About* about; About* about;
Splash* splash; Splash* splash;
void pop_back_splash ();
bool shown_flag; bool shown_flag;
/* cleanup */ /* cleanup */
Gtk::MenuItem *cleanup_item; Gtk::MenuItem *cleanup_item;

View file

@ -553,10 +553,12 @@ EngineControl::setup_engine ()
error << string_compose (_("cannot open JACK rc file %1 to store parameters"), jackdrc_path) << endmsg; error << string_compose (_("cannot open JACK rc file %1 to store parameters"), jackdrc_path) << endmsg;
return -1; return -1;
} }
cerr << "JACK COMMAND: ";
for (vector<string>::iterator i = args.begin(); i != args.end(); ++i) { for (vector<string>::iterator i = args.begin(); i != args.end(); ++i) {
cerr << (*i) << ' ';
jackdrc << (*i) << ' '; jackdrc << (*i) << ' ';
} }
cerr << endl;
jackdrc << endl; jackdrc << endl;
jackdrc.close (); jackdrc.close ();
@ -956,6 +958,12 @@ EngineControl::find_jack_servers (vector<string>& 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); jack_servers = scanner (path, jack_server_filter, 0, false, true);
vector<string *>::iterator iter; vector<string *>::iterator iter;

View file

@ -1,4 +1,4 @@
#ifndef __ardour_svn_revision_h__ #ifndef __ardour_svn_revision_h__
#define __ardour_svn_revision_h__ #define __ardour_svn_revision_h__
static const char* ardour_svn_revision = "2918"; static const char* ardour_svn_revision = "2985";
#endif #endif