Plugin Locations

# Plugin Locations

For Unix platforms there are rules for the location of frei0r plugins.

frei0r 1.x plugin files should be located in

- (1) /usr/lib/frei0r-1/<vendor>
- (2) /usr/local/lib/frei0r-1/<vendor>
- (3) $HOME/.frei0r-1/lib/<vendor>

Examples:

- /usr/lib/frei0r-1/mob/flippo.so
- /usr/lib/frei0r-1/drone/flippo.so
- /usr/local/lib/frei0r-1/gephex/coma/invert0r.so
- /home/martin/.frei0r-1/lib/martin/test.so

Like in these examples plugins should be placed in "vendor" subdirs to reduce name clashes. However, <vendor> is optional and may be left blank.

## Plugin Loading Order

The application shall load plugins in the following order: 3, 2, 1. If a name clash occurs (two or more frei0r plugins with identical effect name), the plugins in directory 3 have precedence over plugins in directory 2, and those in directory 2 have precedence over plugins in directory 1.

This makes it possible for users to "override" effects that are installed in system wide directories by placing plugins in their home directory.

The order of loading plugins inside each of the directories 1, 2, and 3 is not defined.

## FREI0R_PATH Environment Variable

If the environment variable FREI0R_PATH is defined, then it shall be considered a colon separated list of directories which replaces the default list.

For example:

FREI0R_PATH=/home/foo/frei0r-plugins:/usr/lib/frei0r-1:/etc/frei0r

On Windows platforms a semicolon ';' must be used instead of colon ':' to separate FREI0R_PATH entries (due to the way filenames are interpreted), hence a cross-platform host application should detect the platform running and adjust the parsed char accordingly, for example:

FREI0R_PATH=C:\Program Files\frei0r-1;%PROGRAMFILES%\frei0r-1