falkTX / Cadence

Collection of tools useful for audio production
GNU General Public License v2.0
368 stars 80 forks source link

cadence-session-start and cadence doesn't support the plugin system paths #322

Open domichel opened 3 years ago

domichel commented 3 years ago

On linux, many jack applications support and use the plugin system paths as defined at user login time by environmental variables like LADSPA_PATH, LV2_PATH, DSSI_PATH and VST_PATH. Please add that support into cadence-session-start and cadence.

falkTX commented 3 years ago

hmm cadence-session-start actually sets those variables. So they would come from cadence. if cadence uses those paths to list things, you get recursion..

better to rephrase what you mean here...

domichel commented 3 years ago

cadence-session-start seam to read some configuration files to set these variables. I saw than when I modify the paths into the Tweaks tab of cadence, these files get modified. My concern is than that collide with what is widely used and explained here: http://www.ladspa.org:

"Many Linux distributions manage LADSPA plugin libraries for you in a central location. However, if your plugins are not found by the host you are using, you may need to set the environment variable LADSPA_PATH manually. This should be a colon-separated list of directories to search to find plugin libraries."

The same is true for the other plugin formats. My point is than, as cadence-session-start set these variables, it will be cool if it can check if these environmental variables are set and use these values when setting the variables passed to cadence.

With most linux software using environmental variables, they take precedence over the predefined default settings. As cadence can set these variables, the check must be more involved. I think the best way to go would be to add paths which exist into a given environmental variable, and don't exist into the corresponding cadence setting.

For the paths that exist into the cadence settings and don't exist into the corresponding environmental settings when these variables are set, the simplest way is to do nothing and just let the user modify them into cadence if he want to. I think it is also the best way, because if it is an added function to remove non existing paths, and an user add a path to a removable media into cadence Tweaks, that function can remove wanted path(s). Which imply it is best to just do nothing in that case.