diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-01 15:39:43 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-01 15:39:43 +0000 |
commit | 8b0e6623698b11c9c053c78a82863ee7591dc3b7 (patch) | |
tree | 5c8ad83419b9591adf0a9599c12f0a0bdbacc08f /gtk2_ardour/engine_dialog.cc | |
parent | bd3b9d763b0409c8e59d5ea38857d604e917818a (diff) |
add ferret icon; fix up JACK discovery on systems with inadequate PATH; change ferret layout a bit
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2984 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r-- | gtk2_ardour/engine_dialog.cc | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index f36044cbe3..0eaff9ed1f 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -909,7 +909,7 @@ EngineControl::find_jack_servers (vector<string>& strings) _NSGetExecutablePath (execpath, &pathsz); - Glib::ustring path (Glib::path_get_dirname (execpath)); + string path (Glib::path_get_dirname (execpath)); path += "/jackd"; if (Glib::file_test (path, FILE_TEST_EXISTS)) { @@ -931,8 +931,30 @@ EngineControl::find_jack_servers (vector<string>& strings) PathScanner scanner; vector<string *> *jack_servers; std::map<string,int> un; - - path = getenv ("PATH"); + char *p; + bool need_minimal_path = false; + + p = getenv ("PATH"); + + if (p && *p) { + path = p; + } else { + need_minimal_path = true; + } + +#ifdef __APPLE__ + // many mac users don't have PATH set up to include + // likely installed locations of JACK + need_minimal_path = true; +#endif + + if (need_minimal_path) { + if (path.empty()) { + path = "/usr/bin:/bin:/usr/local/bin:/opt/local/bin"; + } else { + path += ":/usr/local/bin:/opt/local/bin"; + } + } jack_servers = scanner (path, jack_server_filter, 0, false, true); |