File ladspa-find-plugin-path.patch of Package ladspa
From: Dave Plater <davejplater@gmail.com>
Date: 2007-11-06 12:48:06 +0200
Subject: Find plugins
References:
Upstream: email
Allow binary listplugins to find plugins without LADSPA_PATH set.
Index: src/search.c
===================================================================
--- src/search.c.orig 2007-11-06 12:48:06.000000000 +0200
+++ src/search.c 2017-11-04 09:00:29.169621959 +0200
@@ -23,7 +23,7 @@
/* Search just the one directory. */
static void
LADSPADirectoryPluginSearch
-(const char * pcDirectory,
+(const char * pcDirectory,
LADSPAPluginSearchCallbackFunction fCallbackFunction) {
char * pcFilename;
@@ -61,7 +61,7 @@ LADSPADirectoryPluginSearch
if (iNeedSlash)
strcat(pcFilename, "/");
strcat(pcFilename, psDirectoryEntry->d_name);
-
+
pvPluginHandle = dlopen(pcFilename, RTLD_LAZY);
if (pvPluginHandle) {
/* This is a file and the file is a shared library! */
@@ -89,7 +89,7 @@ LADSPADirectoryPluginSearch
/*****************************************************************************/
-void
+void
LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction) {
char * pcBuffer;
@@ -99,23 +99,24 @@ LADSPAPluginSearch(LADSPAPluginSearchCal
pcLADSPAPath = getenv("LADSPA_PATH");
if (!pcLADSPAPath) {
+ pcLADSPAPath = "/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa";
fprintf(stderr,
"Warning: You do not have a LADSPA_PATH "
"environment variable set.\n");
- return;
+ //return;
}
-
+
pcStart = pcLADSPAPath;
while (*pcStart != '\0') {
pcEnd = pcStart;
while (*pcEnd != ':' && *pcEnd != '\0')
pcEnd++;
-
+
pcBuffer = malloc(1 + pcEnd - pcStart);
if (pcEnd > pcStart)
strncpy(pcBuffer, pcStart, pcEnd - pcStart);
pcBuffer[pcEnd - pcStart] = '\0';
-
+
LADSPADirectoryPluginSearch(pcBuffer, fCallbackFunction);
free(pcBuffer);