Hi all,
I'm porting the FFT Vocoder from AMS to ams.lv2.
The FFT Vocoder is using fftw_complex, and I can compile my code if I use -std=c99 but not if I use -std=c++11
I get error like:
error: incompatible types in assignment of ‘float’ to ‘fftw_complex {aka double [2]}’
modinforward[l2] = modbuf[l2] * window[l2];
error: cannot convert ‘double*’ to ‘__complex__ double’ for argument ‘1’ to ‘double creal(__complex__ double)’
p(p_modulatorfft)[l2] = logf(fabs (creal (modoutforward[l2])) + 1.0);
error: invalid array assignment
modinbackward[ lclfrq ] = modoutforward [l2];
carrinforward, carroutforward, carrinbackward, carroutbackward, modinforward, modoutforward, modinbackward, modoutbackward are pointers to fftw_complex.
Would you guys have any idea why it doesn't compile in the c++11 standard? From my research I saw there were some changes between c99 and c11 with complex numbers, but I can't figure out how to bring the code to C++11.
Thanks in advance for the help,
Aurélien