summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-01 15:39:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-01 15:39:43 +0000
commit8b0e6623698b11c9c053c78a82863ee7591dc3b7 (patch)
tree5c8ad83419b9591adf0a9599c12f0a0bdbacc08f /gtk2_ardour/engine_dialog.cc
parentbd3b9d763b0409c8e59d5ea38857d604e917818a (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.cc28
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);