Building SWH Plugins on OSX



GitHub - swh/ladspa: The SWH Plugins package for the LADSPA plugin system


This question is a reach-out to the Audacity community for some building advice… :slight_smile:

I see Audacity supports the SWH plugins on OSX, which the LMMS project is trying to support as well.

First question: Do you use a custom build of the SWH plugins that fixes the compiler strictness on OS X?

Second question: Even after building them for LMMS, I’m having a hard time getting them to load. Any platform specific code to get them to load properly?

I’ll cross-link our bug report:

Thanks for reading and I hope this message is well received!


Unfortunately we can’t really help you.

We never built the swh plug-ins for OS X, rather we use Ardour’s build of them.

Ardour stopped distributing the swh plug-ins for OS X because they found them unstable in their application. They told me:

many of swh’s plugins are unsafe for use on OS X and have been for many years. swh did not use attribute((destructor|constructor)) and instead used the much older unix convention of declaring “init” and “fini” methods. These are not executed on OS X, and so various global variables are not initialized (and many not even be valid for use)."

However after extensive testing we found the plug-ins stable in Audacity so continue to distribute them.



Thank you for the valuable information. We just ran into something like this with Calf plugins here (looks identical really… could it be that simple?): (LMMS Issue #668)

I’ve spent the last week using trial and error to patch the SWH code to at least compile with Clang (just small syntax fixes to get Clang to proceed). It is quite ironic that these SWH plugins work so well for the Audacity application but not Ardour. I tried the ones from the downloads section and they did not work when dropping them into LMMSs LADSPA directory. This did (and still does) leave me a bit hopeful as to getting them to “plug-in” to our software.

I contacted Steve Harris (the author of SWH) and he has created a GitHub repo for them and says he will accept upstream fixes if anyone offers them but has no plans to continue maintaining them.

So… Since Ardour, Audacity and LMMS could benefit from keeping them around, I’d like to make this happen. :slight_smile: Wishful thinking…

Well, I’ll run with the information you’ve so generously provided and post back if I get any progress. I invite the Audacity OSX build maintainer to use our fork (mine until merged into stable)


Confirmed, this seems to do it.

Who is your contact at Ardour? Can you link them this thread?


Hi Tres,


I let Paul Davis at Ardour know and gave him this topic URL.

So presumably you still have to commit the necessary changes to all the plug-in c files in your fork before we could try building them?


Here you are: :slight_smile:

I’ve been in regular contact with Steve Harris (aka “swh”) so these changes aren’t unexpected.

Editing the original source code was much easier as it uses a “” script to generate the C source code from XML files, however I had to first issue “autoreconf -i” to get it to properly generate “./configure” script.

I’ve updated the README to illustrate this, assuming its accepted. :slight_smile:


FYI, these have been accepted upstream.

Excellent :smiley:
Congratulations on your success.

Thanks, Tres.

It would be good though if you could encourage Steve Harris to update with that information.


Gale, Done.

I’ve filed an issue for this on the GitHub tracker.

He’s asked, specifically, which types of updates are requested. Here’s a link to the documentation request in case you have something to add:

I added a comment but it is much the same as you suggested. :slight_smile:


He closed the bug report and updated the site.

Downloads have been updated to point to GitHub: