Hi all,
The denormal problem with freeverb/ardour on P-4's is killing me.
Since CMT plugin development seems to be a little stagnant, I decided to take it into my own hands a bit, but I might need a little help from a kind someone out there. Is there anyone who can give me a tip on proper syntax for changing the denormals.h file in freeverb (assuming this is where the problem lies)?
Details:
On this list and/or posts elsewhere I found that the denormals.h file for freeverb doesn't work too well with some newer gcc compilers; one recommendation was to exchange the first statement below with the second definition:
#define undenormalise(sample) if(((*(unsigned int*)&sample)&0x7f800000)==0) sample=0.0f
static inline float
undenormalise(volatile float s)
{
s += 9.8607615E-32f;
return s - 9.8607615E-32f;
}I tried changing it out one-for-one, but.. no good. Ardour still zombifies after reverb tails die out. Maybe there is somewhere else that needs changing wrt denormals, or maybe I am just clueless :).
Anyway, I then tried using something like the following....but still no good, [ardour now doesn't zombify, it's just that freeverb sounds like @$!&].
#define static inline float undenormalise(volatile float s) { s += 9.8607615E-32f; return s - 9.8607615E-32f; }
You can probably see that I have no idea what I'm doing, but this seems like it should be so _simple_. Maybe now is the time to go read up on C++.
Thanks,
Neil
