Wierd compilation issue

I just came across a strange thing. Firstly, I'm trying to separate code pretty cleanly so for each section, I have header files and implementation. Nothing that wierd really.

Now recently I wanted to change the prototype of function from float to fixed point. So

void SE_SetFilterCut(float cut) ;

becomes

void SE_SetFilterCut(fixed cut) ;

And not forgetting to add the include for fixed.h.

I'm trying to compile and get the following error:

error: variable or field 'SE_SetFilterCut' declared void

which looked like fixed isn't known. I turn my head all sides to try to find why and can't. Then I got the idea of looking at the temp .cpp file generated by the environment and notices my header is included in the very beginning but is missing the

#include "fixed.h"

in that header.

It's already wierd but I don't panic and decide that if all files are merged into one, I can put the header in the main .pde. Which I do. And now it's even stranger:

error: variable or field 'SE_SetFilterRes' declared void

I go in the temp file and see:

void SE_SetFilterCut(fixed cut);
void SE_SetFilterMix(fixed mix);
void SE_SetAmp(fixed amp);
void SE_SetFilterRes(fixes res);

And I'm like 'duh, you did a stupid spelling mistake: fixes instead of fixed'

but nope, my source file says:

void SE_SetAmp(fixed amp) ;
void SE_SetFilterCut(fixed cut) ;

void SE_SetFilterRes(fixed res) ;

void SE_SetFilterMix(fixed mix) ;

Which is fine. Note that even the order of the function is garbled.

That made me think of looking at the function code (and not the header) and I notice the fixes (the mistake thus) is there.

It's kind of wierd. What is that auto-prototype generation thing ? Can I get rid of it and use straight "regular" c/c++ conversions ?

thanks
Marc

At the moment there's no way to disable the automatic function prototype generation for the .pde files in your sketch. If you add files with the .cpp extension, however, they won't be touched by the IDE before compilation.

Great, thanks for the info.
Marc.