LMMS
Loading...
Searching...
No Matches
lmms::gui::SaSpectrumView Class Reference

Widget that displays a spectrum curve and frequency / amplitude grid. More...

#include <SaSpectrumView.h>

Inheritance diagram for lmms::gui::SaSpectrumView:

Public Member Functions

 SaSpectrumView (SaControls *controls, SaProcessor *processor, QWidget *_parent=0)
 ~SaSpectrumView () override=default
QSize sizeHint () const override

Protected Member Functions

void paintEvent (QPaintEvent *event) override
void mouseMoveEvent (QMouseEvent *event) override
void mousePressEvent (QMouseEvent *event) override
void resizeEvent (QResizeEvent *event) override

Private Slots

void periodicUpdate ()

Private Member Functions

std::vector< std::pair< int, std::string > > makeLogFreqTics (int low, int high)
std::vector< std::pair< int, std::string > > makeLinearFreqTics (int low, int high)
std::vector< std::pair< float, std::string > > makeLogAmpTics (int low, int high)
std::vector< std::pair< float, std::string > > makeLinearAmpTics (int low, int high)
void drawGrid (QPainter &painter)
void updateBuffers (const float *spectrum, float *displayBuffer, float *peakBuffer)
void refreshPaths ()
QPainterPath makePath (std::vector< float > &displayBuffer, float resolution)
void drawSpectrum (QPainter &painter)
void drawCursor (QPainter &painter)
float binToFreq (unsigned int bin_index)
float freqToXPixel (float frequency, unsigned int width)
float ampToYPixel (float amplitude, unsigned int height)

Private Attributes

const SaControlsm_controls
SaProcessorm_processor
std::vector< std::pair< int, std::string > > m_logFreqTics
std::vector< std::pair< int, std::string > > m_linearFreqTics
std::vector< std::pair< float, std::string > > m_logAmpTics
std::vector< std::pair< float, std::string > > m_linearAmpTics
int m_freqRangeIndex
int m_ampRangeIndex
std::vector< float > m_displayBufferL
std::vector< float > m_displayBufferR
std::vector< float > m_peakBufferL
std::vector< float > m_peakBufferR
QPainterPath m_pathL
QPainterPath m_pathR
QPainterPath m_pathPeakL
QPainterPath m_pathPeakR
float m_decaySum
bool m_freezeRequest
bool m_frozen
QPointF m_cursor
unsigned int m_displayTop
unsigned int m_displayBottom
unsigned int m_displayLeft
unsigned int m_displayRight
unsigned int m_displayWidth
std::vector< float > m_cachedBinToX
float m_cachedRangeMin
float m_cachedRangeMax
bool m_cachedLogX
unsigned int m_cachedDisplayWidth
unsigned int m_cachedBinCount
unsigned int m_cachedSampleRate

Detailed Description

Widget that displays a spectrum curve and frequency / amplitude grid.

Constructor & Destructor Documentation

◆ SaSpectrumView()

lmms::gui::SaSpectrumView::SaSpectrumView ( SaControls * controls,
SaProcessor * processor,
QWidget * _parent = 0 )
explicit

◆ ~SaSpectrumView()

lmms::gui::SaSpectrumView::~SaSpectrumView ( )
overridedefault

Member Function Documentation

◆ ampToYPixel()

float lmms::gui::SaSpectrumView::ampToYPixel ( float amplitude,
unsigned int height )
private

◆ binToFreq()

float lmms::gui::SaSpectrumView::binToFreq ( unsigned int bin_index)
private

◆ drawCursor()

void lmms::gui::SaSpectrumView::drawCursor ( QPainter & painter)
private

◆ drawGrid()

void lmms::gui::SaSpectrumView::drawGrid ( QPainter & painter)
private

◆ drawSpectrum()

void lmms::gui::SaSpectrumView::drawSpectrum ( QPainter & painter)
private

◆ freqToXPixel()

float lmms::gui::SaSpectrumView::freqToXPixel ( float frequency,
unsigned int width )
private

◆ makeLinearAmpTics()

std::vector< std::pair< float, std::string > > lmms::gui::SaSpectrumView::makeLinearAmpTics ( int low,
int high )
private

◆ makeLinearFreqTics()

std::vector< std::pair< int, std::string > > lmms::gui::SaSpectrumView::makeLinearFreqTics ( int low,
int high )
private

◆ makeLogAmpTics()

std::vector< std::pair< float, std::string > > lmms::gui::SaSpectrumView::makeLogAmpTics ( int low,
int high )
private

◆ makeLogFreqTics()

std::vector< std::pair< int, std::string > > lmms::gui::SaSpectrumView::makeLogFreqTics ( int low,
int high )
private

◆ makePath()

QPainterPath lmms::gui::SaSpectrumView::makePath ( std::vector< float > & displayBuffer,
float resolution = 1.0 )
private

◆ mouseMoveEvent()

void lmms::gui::SaSpectrumView::mouseMoveEvent ( QMouseEvent * event)
overrideprotected

◆ mousePressEvent()

void lmms::gui::SaSpectrumView::mousePressEvent ( QMouseEvent * event)
overrideprotected

◆ paintEvent()

void lmms::gui::SaSpectrumView::paintEvent ( QPaintEvent * event)
overrideprotected

◆ periodicUpdate

void lmms::gui::SaSpectrumView::periodicUpdate ( )
privateslot

◆ refreshPaths()

void lmms::gui::SaSpectrumView::refreshPaths ( )
private

◆ resizeEvent()

void lmms::gui::SaSpectrumView::resizeEvent ( QResizeEvent * event)
overrideprotected

◆ sizeHint()

QSize lmms::gui::SaSpectrumView::sizeHint ( ) const
inlineoverride

◆ updateBuffers()

void lmms::gui::SaSpectrumView::updateBuffers ( const float * spectrum,
float * displayBuffer,
float * peakBuffer )
private

Member Data Documentation

◆ m_ampRangeIndex

int lmms::gui::SaSpectrumView::m_ampRangeIndex
private

◆ m_cachedBinCount

unsigned int lmms::gui::SaSpectrumView::m_cachedBinCount
private

◆ m_cachedBinToX

std::vector<float> lmms::gui::SaSpectrumView::m_cachedBinToX
private

◆ m_cachedDisplayWidth

unsigned int lmms::gui::SaSpectrumView::m_cachedDisplayWidth
private

◆ m_cachedLogX

bool lmms::gui::SaSpectrumView::m_cachedLogX
private

◆ m_cachedRangeMax

float lmms::gui::SaSpectrumView::m_cachedRangeMax
private

◆ m_cachedRangeMin

float lmms::gui::SaSpectrumView::m_cachedRangeMin
private

◆ m_cachedSampleRate

unsigned int lmms::gui::SaSpectrumView::m_cachedSampleRate
private

◆ m_controls

const SaControls* lmms::gui::SaSpectrumView::m_controls
private

◆ m_cursor

QPointF lmms::gui::SaSpectrumView::m_cursor
private

◆ m_decaySum

float lmms::gui::SaSpectrumView::m_decaySum
private

◆ m_displayBottom

unsigned int lmms::gui::SaSpectrumView::m_displayBottom
private

◆ m_displayBufferL

std::vector<float> lmms::gui::SaSpectrumView::m_displayBufferL
private

◆ m_displayBufferR

std::vector<float> lmms::gui::SaSpectrumView::m_displayBufferR
private

◆ m_displayLeft

unsigned int lmms::gui::SaSpectrumView::m_displayLeft
private

◆ m_displayRight

unsigned int lmms::gui::SaSpectrumView::m_displayRight
private

◆ m_displayTop

unsigned int lmms::gui::SaSpectrumView::m_displayTop
private

◆ m_displayWidth

unsigned int lmms::gui::SaSpectrumView::m_displayWidth
private

◆ m_freezeRequest

bool lmms::gui::SaSpectrumView::m_freezeRequest
private

◆ m_freqRangeIndex

int lmms::gui::SaSpectrumView::m_freqRangeIndex
private

◆ m_frozen

bool lmms::gui::SaSpectrumView::m_frozen
private

◆ m_linearAmpTics

std::vector<std::pair<float, std::string> > lmms::gui::SaSpectrumView::m_linearAmpTics
private

◆ m_linearFreqTics

std::vector<std::pair<int, std::string> > lmms::gui::SaSpectrumView::m_linearFreqTics
private

◆ m_logAmpTics

std::vector<std::pair<float, std::string> > lmms::gui::SaSpectrumView::m_logAmpTics
private

◆ m_logFreqTics

std::vector<std::pair<int, std::string> > lmms::gui::SaSpectrumView::m_logFreqTics
private

◆ m_pathL

QPainterPath lmms::gui::SaSpectrumView::m_pathL
private

◆ m_pathPeakL

QPainterPath lmms::gui::SaSpectrumView::m_pathPeakL
private

◆ m_pathPeakR

QPainterPath lmms::gui::SaSpectrumView::m_pathPeakR
private

◆ m_pathR

QPainterPath lmms::gui::SaSpectrumView::m_pathR
private

◆ m_peakBufferL

std::vector<float> lmms::gui::SaSpectrumView::m_peakBufferL
private

◆ m_peakBufferR

std::vector<float> lmms::gui::SaSpectrumView::m_peakBufferR
private

◆ m_processor

SaProcessor* lmms::gui::SaSpectrumView::m_processor
private

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