CrossfadeFFT Class Reference

#include <fourier.h>

Inherits FFT.

Inherited by DenoiseFFTCollect, DenoiseFFTRemove, ParametricFFT, PitchEngine, PitchFFT, and SpectrogramFFT.

Collaboration diagram for CrossfadeFFT:

Collaboration graph
[legend]

Public Member Functions

 CrossfadeFFT ()
virtual ~CrossfadeFFT ()
int reset ()
int initialize (int window_size)
long get_delay ()
int reconfigure ()
int fix_window_size ()
int delete_fft ()
void set_oversample (int oversample)
int process_buffer (int64_t output_sample, long size, double *output_ptr, int direction)
int process_buffer_oversample (int64_t output_sample, long size, double *output_ptr, int direction)
virtual int read_samples (int64_t output_sample, int samples, double *buffer)
virtual int signal_process ()
virtual int signal_process_oversample (int reset)

Data Fields

long window_size
double * freq_real
double * freq_imag
fftw_complex * fftw_data

Protected Attributes

int oversample

Private Attributes

double * input_buffer
double * output_buffer
double * temp_real
double * temp_imag
long input_size
long input_allocation
long output_size
long output_allocation
int64_t output_sample
int64_t input_sample
int first_window
int samples_ready
double * pre_window
double * post_window

Detailed Description

Definition at line 49 of file fourier.h.


Constructor & Destructor Documentation

CrossfadeFFT::CrossfadeFFT (  ) 

Definition at line 209 of file fourier.C.

References reset(), and window_size.

Here is the call graph for this function:

CrossfadeFFT::~CrossfadeFFT (  )  [virtual]

Definition at line 215 of file fourier.C.

References delete_fft().

Here is the call graph for this function:


Member Function Documentation

int CrossfadeFFT::reset (  ) 

int CrossfadeFFT::initialize ( int  window_size  ) 

long CrossfadeFFT::get_delay (  ) 

Definition at line 278 of file fourier.C.

References HALF_WINDOW, and window_size.

int CrossfadeFFT::reconfigure (  ) 

Definition at line 283 of file fourier.C.

References delete_fft(), and fix_window_size().

Referenced by initialize().

Here is the call graph for this function:

int CrossfadeFFT::fix_window_size (  ) 

Definition at line 259 of file fourier.C.

References MIN, and window_size.

Referenced by reconfigure().

int CrossfadeFFT::delete_fft (  ) 

Definition at line 244 of file fourier.C.

References fftw_data, freq_imag, freq_real, input_buffer, output_buffer, post_window, pre_window, reset(), temp_imag, and temp_real.

Referenced by reconfigure(), and ~CrossfadeFFT().

Here is the call graph for this function:

void CrossfadeFFT::set_oversample ( int  oversample  ) 

Definition at line 417 of file fourier.C.

References M_PI, post_window, pre_window, FFT::ready_fftw(), and window_size.

Referenced by TimeStretch::process_buffer(), and PitchEffect::process_buffer().

Here is the call graph for this function:

int CrossfadeFFT::process_buffer ( int64_t  output_sample,
long  size,
double *  output_ptr,
int  direction 
)

int CrossfadeFFT::process_buffer_oversample ( int64_t  output_sample,
long  size,
double *  output_ptr,
int  direction 
)

int CrossfadeFFT::read_samples ( int64_t  output_sample,
int  samples,
double *  buffer 
) [virtual]

int CrossfadeFFT::signal_process (  )  [virtual]

Reimplemented in DenoiseFFTRemove, DenoiseFFTCollect, ParametricFFT, and SpectrogramFFT.

Definition at line 637 of file fourier.C.

Referenced by process_buffer().

int CrossfadeFFT::signal_process_oversample ( int  reset  )  [virtual]

Reimplemented in PitchFFT, and PitchEngine.

Definition at line 642 of file fourier.C.

Referenced by process_buffer_oversample().


Field Documentation

fftw_complex* CrossfadeFFT::fftw_data

double* CrossfadeFFT::input_buffer [private]

Reimplemented in PitchEngine.

Definition at line 109 of file fourier.h.

Referenced by delete_fft(), process_buffer(), process_buffer_oversample(), and reset().

double* CrossfadeFFT::output_buffer [private]

Definition at line 111 of file fourier.h.

Referenced by delete_fft(), process_buffer(), process_buffer_oversample(), and reset().

double* CrossfadeFFT::temp_real [private]

Definition at line 113 of file fourier.h.

Referenced by delete_fft(), process_buffer(), and reset().

double* CrossfadeFFT::temp_imag [private]

Definition at line 114 of file fourier.h.

Referenced by delete_fft(), process_buffer(), and reset().

long CrossfadeFFT::input_size [private]

Reimplemented in PitchEngine.

Definition at line 117 of file fourier.h.

Referenced by process_buffer(), process_buffer_oversample(), and reset().

Definition at line 119 of file fourier.h.

Referenced by reset().

long CrossfadeFFT::output_size [private]

Definition at line 121 of file fourier.h.

Referenced by process_buffer(), and reset().

Definition at line 123 of file fourier.h.

Referenced by process_buffer(), process_buffer_oversample(), and reset().

int64_t CrossfadeFFT::output_sample [private]

Definition at line 125 of file fourier.h.

Referenced by reset().

int64_t CrossfadeFFT::input_sample [private]

Definition at line 127 of file fourier.h.

Referenced by process_buffer(), process_buffer_oversample(), and reset().

Definition at line 129 of file fourier.h.

Referenced by initialize(), process_buffer(), process_buffer_oversample(), and reset().

Definition at line 133 of file fourier.h.

Referenced by process_buffer_oversample(), and reset().

double* CrossfadeFFT::pre_window [private]

Definition at line 135 of file fourier.h.

Referenced by delete_fft(), process_buffer_oversample(), reset(), and set_oversample().

double* CrossfadeFFT::post_window [private]

Definition at line 137 of file fourier.h.

Referenced by delete_fft(), process_buffer_oversample(), reset(), and set_oversample().

int CrossfadeFFT::oversample [protected]


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:20:08 2008 for Cinelerra by  doxygen 1.5.5