Expose all 8 voices
[zyn.git] / fft.h
blob47591137ae895cd370c0a0311d869c8111fc91d0
1 /*
2 ZynAddSubFX - a software synthesizer
4 FFTwrapper.h - A wrapper for Fast Fourier Transforms
5 Copyright (C) 2002-2005 Nasca Octavian Paul
6 Author: Nasca Octavian Paul
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of version 2 of the GNU General Public License
10 as published by the Free Software Foundation.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License (version 2) for more details.
17 You should have received a copy of the GNU General Public License (version 2)
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #ifndef FFT_WRAPPER_H
24 #define FFT_WRAPPER_H
26 #include "globals.h"
28 struct zyn_fft_freqs
30 zyn_sample_type *s,*c; /* sine and cosine components */
33 typedef void * zyn_fft_handle;
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 #if 0
39 } /* Adjust editor indent */
40 #endif
42 void
43 zyn_fft_freqs_init(
44 struct zyn_fft_freqs * f,
45 int size);
47 void
48 zyn_fft_freqs_uninit(
49 struct zyn_fft_freqs * f);
51 zyn_fft_handle
52 zyn_fft_create(
53 int fftsize);
55 void
56 zyn_fft_destroy(
57 zyn_fft_handle handle);
59 void
60 zyn_fft_smps2freqs(
61 zyn_fft_handle handle,
62 REALTYPE * smps,
63 struct zyn_fft_freqs * freqs_ptr);
65 void
66 zyn_fft_freqs2smps(
67 zyn_fft_handle handle,
68 struct zyn_fft_freqs * freqs_ptr,
69 REALTYPE * smps);
71 #if 0
72 { /* Adjust editor indent */
73 #endif
74 #ifdef __cplusplus
75 } /* extern "C" */
76 #endif
78 #endif