Development Notes

Versioning

The distribution of plugins consists of two branches:

Binary releases are the mostly actual releases and contain all possible plugins. These are packaged into archive named according to the following format:

lsp-plugins-<format>-<major>.<minor>.<micro>-<arch>.tar.gz

The property <format> is the format of plugins, currently available:

Supporetd architectures (<arch>) are currently only i586 and x86_64. Properties <major>, <minor> and <micro> form the version of release. If the <micro> version is odd, it contains mostly bug-fixes and patches for the plugin modules. The even <micro> version of plugins contains new features and, in most cases, new plugin series. The history of changes may be seen in attached CHANGELOG.txt.

Published source code contains source code available to build and launch plugins that have been donated by the community. It is commited into the code repository and currently not packaged into the official release to avoid confusion between binary and source code package versioning. It's highly recommended to follow the versioning of the SCR (source code release) according to the attached CHANGELOG.txt file and use the 'scr' abbreviation for the packages that are built from the source code. For example, Linux distribution packages could be named:

lsp-plugins-<format>-scr-<major>.<minor>.<micro>-<arch>.tar.gz
lsp-plugins-<format>-scr-<major>.<minor>.<micro>-<arch>.rpm
lsp-plugins-<format>-scr-<major>.<minor>.<micro>-<arch>.deb

More information about donation and policy of source code publishing may be obtained here:

http://lsp-plug.in/?page=download

Building

For source code distributions you may build plugins from scratch. You need the following packages to be installed:

If you wan to build LinuxVST version of plugins, you have to install Steinberg VST SDK >= 2.4 and ensure that the variable definition 'VST_SDK' in the makefile points to the right place. If you do not want to build LinuxVST version of plugins, just comment or delete the definition of the 'VST_SDK' variable.

Currently there is no automake supported, so to build plugins you have to type:

make
make install

To build binaries for debuggin/profiling, use the following commands:

make profile

You may also specify the installation root by specifying DESTDIR attribute:

Profiling and Debugging

To profile code, untar special profiling release into directory on the file system and simply launch it:

tar xzf lsp-plugins-profile-<version>-<arch>.tar.gz
cd lsp-plugins-profile-<version>-<arch>
./lsp-plugins-profile <plugin-id>

After the execution, the profiling file 'gmon.out' will be generated. To generate profiling information, issue the gprof command:

gprof ./lsp-plugins-profile gmon.out >lsp-plugins.profile

For debugging purposes the GNU Debugger (gdb) may be used:

gdb --args ./lsp-plugins-profile <plugin-id>

For debugging and getting crash stack trace with Ardour, please follow these steps: