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;
int output_buffer_read_position
int input_buffer_write_position
void setup(const int num_input_channels)
void process(juce::AudioSampleBuffer &block)
juce::AudioSampleBuffer output_buffer
virtual void updateWindow(const int new_window_type)
int current_input_buffer_write_position
juce::HeapBlock< juce::dsp::Complex< float > > frequency_domain_buffer
std::unique_ptr< juce::dsp::FFT > fft
void updateParameters(const int new_fft_size, const int new_overlap, const int new_window_type)
int output_buffer_write_position
juce::HeapBlock< float > fft_window
virtual void updateHopSize(const int new_overlap)
int current_output_buffer_read_position
juce::AudioSampleBuffer input_buffer
float window_scale_factor
int current_samples_since_last_FFT
juce::HeapBlock< juce::dsp::Complex< float > > time_domain_buffer
virtual void updateFftSize(const int new_fft_size)
int samples_since_last_FFT
int current_output_buffer_write_position
This namespace is the default namespace for all code in the openshot library.