84 float binToFreq(
unsigned int bin_index)
const;
160 unsigned int m_last_dump_time;
161 unsigned int m_dump_count;
162 float m_sum_execution;
163 float m_max_execution;
unsigned char uchar
Definition CarlaDefines.h:325
A convenience layer for a realtime-safe and thread-safe multi-reader ringbuffer.
Definition LocklessRingBuffer.h:41
Definition SaControls.h:48
unsigned int m_sampleRate
Definition SaProcessor.h:124
std::vector< float > m_normSpectrumL
frequency domain samples (normalized) (left)
Definition SaProcessor.h:139
fftwf_complex * m_spectrumR
frequency domain samples (complex) (right)
Definition SaProcessor.h:136
unsigned int inBlockSize() const
Definition SaProcessor.h:76
unsigned int waterfallHeight() const
Definition SaProcessor.h:81
std::atomic< unsigned int > m_waterfallNotEmpty
number of lines remaining visible on display
Definition SaProcessor.h:153
void terminate()
Definition SaProcessor.h:57
bool m_spectrumActive
Definition SaProcessor.h:151
float freqToXPixel(float frequency, unsigned int width) const
Definition SaProcessor.cpp:573
bool m_flipRequest
update public buffer only when requested
Definition SaProcessor.h:145
virtual ~SaProcessor()
Definition SaProcessor.cpp:85
const unsigned int m_waterfallMaxWidth
Definition SaProcessor.h:148
std::vector< float > m_filteredBufferR
time domain samples with window function applied (right)
Definition SaProcessor.h:132
std::vector< float > m_absSpectrumL
frequency domain samples (absolute) (left)
Definition SaProcessor.h:137
bool m_reallocating
Definition SaProcessor.h:154
const uchar * getHistory() const
Definition SaProcessor.h:73
float getAmpRangeMin(bool linear=false) const
Definition SaProcessor.cpp:613
void setWaterfallActive(bool active)
Definition SaProcessor.cpp:357
const SaControls * m_controls
Definition SaProcessor.h:115
unsigned int binCount() const
size of output (frequency domain) data block
Definition SaProcessor.cpp:508
std::atomic< unsigned int > m_inBlockSize
size of input (time domain) data block
Definition SaProcessor.h:122
fftwf_plan m_fftPlanL
Definition SaProcessor.h:133
std::atomic< unsigned int > m_waterfallHeight
number of stored lines in history buffer
Definition SaProcessor.h:146
fftwf_complex * m_spectrumL
frequency domain samples (complex) (left)
Definition SaProcessor.h:135
fftwf_plan m_fftPlanR
Definition SaProcessor.h:134
void analyze(LocklessRingBuffer< SampleFrame > &ring_buffer)
Definition SaProcessor.cpp:100
std::vector< uchar > m_history
public buffer for reading
Definition SaProcessor.h:144
const float * getSpectrumR() const
Definition SaProcessor.h:72
float binToFreq(unsigned int bin_index) const
Definition SaProcessor.cpp:526
QMutex m_dataAccess
Definition SaProcessor.h:111
float getFreqRangeMax() const
Definition SaProcessor.cpp:555
unsigned int m_fftBlockSize
size of padded block for FFT processing
Definition SaProcessor.h:123
float getNyquistFreq() const
Definition SaProcessor.cpp:500
float getAmpRangeMax() const
Definition SaProcessor.cpp:628
void reallocateBuffers()
Definition SaProcessor.cpp:364
bool waterfallNotEmpty() const
Definition SaProcessor.h:82
float getFreqRangeMin(bool linear=false) const
Definition SaProcessor.cpp:541
std::vector< float > m_bufferL
time domain samples (left)
Definition SaProcessor.h:128
void rebuildWindow()
Definition SaProcessor.cpp:442
unsigned int m_framesFilledUp
Definition SaProcessor.h:127
std::vector< float > m_absSpectrumR
frequency domain samples (absolute) (right)
Definition SaProcessor.h:138
bool m_waterfallActive
Definition SaProcessor.h:152
float xPixelToFreq(float x, unsigned int width) const
Definition SaProcessor.cpp:592
float ampToYPixel(float amplitude, unsigned int height) const
Definition SaProcessor.cpp:643
void flipRequest()
Definition SaProcessor.h:62
void clear()
Definition SaProcessor.cpp:452
std::vector< float > m_bufferR
time domain samples (right)
Definition SaProcessor.h:129
bool m_terminate
Definition SaProcessor.h:118
void setSpectrumActive(bool active)
Definition SaProcessor.cpp:352
unsigned int m_zeroPadFactor
use n-steps bigger FFT for given block size
Definition SaProcessor.h:121
float binBandwidth() const
Definition SaProcessor.cpp:535
bool spectrumNotEmpty()
check if result buffers contain any non-zero values
Definition SaProcessor.cpp:481
std::vector< float > m_filteredBufferL
time domain samples with window function applied (left)
Definition SaProcessor.h:131
std::vector< uchar > m_history_work
local history buffer for render
Definition SaProcessor.h:143
float yPixelToAmp(float y, unsigned int height) const
Definition SaProcessor.cpp:674
QRgb makePixel(float left, float right) const
Definition SaProcessor.cpp:328
unsigned int waterfallWidth() const
binCount value capped at 3840 (for display)
Definition SaProcessor.cpp:519
SaProcessor(const SaControls *controls)
Definition SaProcessor.cpp:50
const float * getSpectrumL() const
Definition SaProcessor.h:71
std::vector< float > m_fftWindow
precomputed window function coefficients
Definition SaProcessor.h:130
std::vector< float > m_normSpectrumR
frequency domain samples (normalized) (right)
Definition SaProcessor.h:140
QMutex m_reallocationAccess
Definition SaProcessor.h:105
unsigned int getSampleRate() const
Definition SaProcessor.cpp:493
void clearHistory()
Definition SaProcessor.cpp:474
Definition SampleFrame.h:41
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 left
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 right
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
Definition AudioAlsa.cpp:35