Luke Granger-Brown
57725ef3ec
git-subtree-dir: third_party/nixpkgs git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
65 lines
2.4 KiB
Diff
65 lines
2.4 KiB
Diff
diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp
|
|
index 52dc1fd2d..aae09ed9c 100644
|
|
--- a/common/SC_Filesystem_unix.cpp
|
|
+++ b/common/SC_Filesystem_unix.cpp
|
|
@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) {
|
|
}
|
|
|
|
Path SC_Filesystem::defaultSystemAppSupportDirectory() {
|
|
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
|
|
+ if (sc_data_dir)
|
|
+ return Path(sc_data_dir);
|
|
+
|
|
# ifdef SC_DATA_DIR
|
|
return Path(SC_DATA_DIR);
|
|
# else
|
|
@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() {
|
|
}
|
|
|
|
Path SC_Filesystem::defaultResourceDirectory() {
|
|
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
|
|
+ if (sc_data_dir)
|
|
+ return Path(sc_data_dir);
|
|
+
|
|
# ifdef SC_DATA_DIR
|
|
return Path(SC_DATA_DIR);
|
|
# else
|
|
diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp
|
|
index f6219307e..28e13eb98 100644
|
|
--- a/server/scsynth/SC_Lib_Cintf.cpp
|
|
+++ b/server/scsynth/SC_Lib_Cintf.cpp
|
|
@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) {
|
|
using DirName = SC_Filesystem::DirName;
|
|
|
|
if (loadUGensExtDirs) {
|
|
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
|
|
+ if (sc_plugin_dir) {
|
|
+ PlugIn_LoadDir(sc_plugin_dir, true);
|
|
+ }
|
|
#ifdef SC_PLUGIN_DIR
|
|
// load globally installed plugins
|
|
- if (bfs::is_directory(SC_PLUGIN_DIR)) {
|
|
+ else if (bfs::is_directory(SC_PLUGIN_DIR)) {
|
|
PlugIn_LoadDir(SC_PLUGIN_DIR, true);
|
|
}
|
|
#endif // SC_PLUGIN_DIR
|
|
diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp
|
|
index b2b5adf4e..6cb8c411c 100644
|
|
--- a/server/supernova/server/main.cpp
|
|
+++ b/server/supernova/server/main.cpp
|
|
@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto
|
|
}
|
|
}
|
|
} else {
|
|
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
|
|
+ if (sc_plugin_dir) {
|
|
+ factory->load_plugin_folder(sc_plugin_dir);
|
|
+ }
|
|
#ifdef SC_PLUGIN_DIR
|
|
- factory->load_plugin_folder(SC_PLUGIN_DIR);
|
|
+ else {
|
|
+ factory->load_plugin_folder(SC_PLUGIN_DIR);
|
|
+ }
|
|
#endif
|
|
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME);
|
|
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension));
|