@anahata: In order of preference, the best solution would be if libfftw could be completely threadsafe - I don’t know the details well enough to say if that would be possible, but perhaps there should be some communication with the libfftw developers to outline this use case. Paul obviously has a solution which he thinks would make libfftw work, even though this seems to be thought of as ‘a hack’ - again I don’t know the details.
If that isn’t possible or acceptable to the libfftw devs, then its really an issue about whether that library is appropriate for the plugin, which it seems it isn’t, and in some cases you just have to write new plugin code rather than use a general library - its difficult but that’s part of the job, its one of the reasons why I have over 50,000 lines of code in the average ‘simple’ plugin, just managing “that kind of thing”, from custom X11 and GUI related stuff to necessary and complex DSP code (make no mistake, I’m not trying to say that anything I’ve created is just perfect or be so conceited as to guarantee it to be trouble free, but it is well tested within the limits of our resources, and it is designed from the ground up with an awareness of these kinds of issues, so I hope it provides a good solution).
What I’m concerned about, and think is wrong is arbitarily ‘hacking’ libfftw and including this in the ardour binary bundle - this doesn’t address the issue for other host applications which use the system libs and it opens up the possibility of an unmaintainable and complex ‘Mix’ of the stuff that may or may not go wrong, depending upon whether ardour is built from source, downloaded pre-built, installed as part of some ‘custom’ audio distro etc etc - and because it is not a ‘hard’ fault, a user with the wrong mix of these components will not be aware of an issue until something disastrous happens.
Its important to fix the problem for users, but its important to fix it in the right way (its a tired analogy but I wouldn’t want to drive a car or fly in a airplane maintained or built by anyone with the attitude that “if grotesque hacks are needed to make stuff work for users, we do them…”
And I don’t want to see ardour move in the direction of only permitting the use of custom bundled plugins or ardour specific plugins which is the only case in which including some custom hack in the ardour bundle would make any technical sense.