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




Reply via email to