3 #ifndef OPENSHOT_STFT_AUDIO_EFFECT_H 4 #define OPENSHOT_STFT_AUDIO_EFFECT_H 5 #define _USE_MATH_DEFINES 7 #include "../EffectBase.h" 20 void setup(
const int num_input_channels);
22 void process(juce::AudioSampleBuffer &block);
24 void updateParameters(
const int new_fft_size,
const int new_overlap,
const int new_window_type);
34 virtual void modification(
const int channel);
36 virtual void analysis(
const int channel);
38 virtual void synthesis(
const int channel);
45 std::unique_ptr<juce::dsp::FFT>
fft;
virtual void updateHopSize(const int new_overlap)
float window_scale_factor
void updateParameters(const int new_fft_size, const int new_overlap, const int new_window_type)
juce::HeapBlock< juce::dsp::Complex< float > > time_domain_buffer
int input_buffer_write_position
juce::HeapBlock< float > fft_window
void setup(const int num_input_channels)
int output_buffer_read_position
int output_buffer_write_position
void process(juce::AudioSampleBuffer &block)
juce::AudioSampleBuffer input_buffer
juce::AudioSampleBuffer output_buffer
int current_samples_since_last_FFT
int current_output_buffer_write_position
int current_input_buffer_write_position
std::unique_ptr< juce::dsp::FFT > fft
This namespace is the default namespace for all code in the openshot library.
virtual void updateFftSize(const int new_fft_size)
juce::HeapBlock< juce::dsp::Complex< float > > frequency_domain_buffer
int current_output_buffer_read_position
int samples_since_last_FFT
virtual void updateWindow(const int new_window_type)