MythTV  master
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Private Attributes | List of all members
Piano Class Reference

#include <visualize.h>

Inheritance diagram for Piano:
Inheritance graph
[legend]
Collaboration diagram for Piano:
Collaboration graph
[legend]

Classes

struct  piano_key_data
 

Public Member Functions

 Piano ()
 
 ~Piano () override
 
void resize (const QSize &size) override
 
bool process (VisualNode *node) override
 
bool processUndisplayed (VisualNode *node) override
 
unsigned long getDesiredSamples (void) override
 
bool draw (QPainter *p, const QColor &back=Qt::black) override
 
- Public Member Functions inherited from VisualBase
 VisualBase (bool screensaverenable=false)
 
virtual ~VisualBase (void)
 
virtual void handleKeyPress ([[maybe_unused]] const QString &action)
 
virtual int getDesiredFPS (void)
 

Protected Member Functions

bool process_all_types (VisualNode *node, bool this_will_be_displayed)
 
void zero_analysis (void)
 

Static Protected Member Functions

static double clamp (double cur, double max, double min)
 

Protected Attributes

QColor m_whiteStartColor {245,245,245}
 
QColor m_whiteTargetColor {Qt::red}
 
QColor m_blackStartColor {10,10,10}
 
QColor m_blackTargetColor {Qt::red}
 
std::vector< QRect > m_rects
 
QSize m_size
 
std::chrono::milliseconds m_offsetProcessed {0ms}
 
piano_key_datam_pianoData {nullptr}
 
piano_audiom_audioData {nullptr}
 
std::vector< double > m_magnitude
 
- Protected Attributes inherited from VisualBase
int m_fps {20}
 
bool m_xscreensaverenable {true}
 

Static Private Attributes

static constexpr unsigned long kPianoAudioSize { 4096 }
 
static constexpr unsigned int kPianoNumKeys { 88 }
 
static constexpr double kPianoRmsNegligible { .001 }
 
static constexpr double kPianoSpectrumSmoothing { 0.95 }
 
static constexpr goertzel_data kPianoMinVol { -10 }
 
static constexpr double kPianoKeypressTooLight { .2 }
 

Additional Inherited Members

- Static Public Member Functions inherited from VisualBase
static void drawWarning (QPainter *p, const QColor &back, QSize size, const QString &warning, int fontsize=28)
 

Detailed Description

Definition at line 321 of file visualize.h.

Constructor & Destructor Documentation

◆ Piano()

Piano::Piano ( )

Definition at line 1727 of file visualize.cpp.

◆ ~Piano()

Piano::~Piano ( )
override

Definition at line 1773 of file visualize.cpp.

Member Function Documentation

◆ resize()

void Piano::resize ( const QSize &  size)
overridevirtual

Implements VisualBase.

Definition at line 1797 of file visualize.cpp.

◆ process()

bool Piano::process ( VisualNode node)
overridevirtual

Implements VisualBase.

Definition at line 1893 of file visualize.cpp.

◆ processUndisplayed()

bool Piano::processUndisplayed ( VisualNode node)
overridevirtual

Reimplemented from VisualBase.

Definition at line 1887 of file visualize.cpp.

◆ getDesiredSamples()

unsigned long Piano::getDesiredSamples ( void  )
overridevirtual

Reimplemented from VisualBase.

Definition at line 1877 of file visualize.cpp.

◆ draw()

bool Piano::draw ( QPainter *  p,
const QColor &  back = Qt::black 
)
overridevirtual

Implements VisualBase.

Definition at line 2041 of file visualize.cpp.

◆ clamp()

double Piano::clamp ( double  cur,
double  max,
double  min 
)
inlinestaticprotected

Definition at line 2032 of file visualize.cpp.

Referenced by draw().

◆ process_all_types()

bool Piano::process_all_types ( VisualNode node,
bool  this_will_be_displayed 
)
protected

Definition at line 1903 of file visualize.cpp.

Referenced by processUndisplayed().

◆ zero_analysis()

void Piano::zero_analysis ( void  )
protected

Definition at line 1781 of file visualize.cpp.

Referenced by Piano(), process_all_types(), and resize().

Member Data Documentation

◆ kPianoAudioSize

constexpr unsigned long Piano::kPianoAudioSize { 4096 }
staticconstexprprivate

Definition at line 327 of file visualize.h.

Referenced by getDesiredSamples(), and Piano().

◆ kPianoNumKeys

constexpr unsigned int Piano::kPianoNumKeys { 88 }
staticconstexprprivate

Definition at line 328 of file visualize.h.

Referenced by draw(), Piano(), process_all_types(), resize(), and zero_analysis().

◆ kPianoRmsNegligible

constexpr double Piano::kPianoRmsNegligible { .001 }
staticconstexprprivate

Definition at line 333 of file visualize.h.

Referenced by draw(), and zero_analysis().

◆ kPianoSpectrumSmoothing

constexpr double Piano::kPianoSpectrumSmoothing { 0.95 }
staticconstexprprivate

Definition at line 334 of file visualize.h.

Referenced by draw().

◆ kPianoMinVol

constexpr goertzel_data Piano::kPianoMinVol { -10 }
staticconstexprprivate

Definition at line 335 of file visualize.h.

Referenced by process_all_types().

◆ kPianoKeypressTooLight

constexpr double Piano::kPianoKeypressTooLight { .2 }
staticconstexprprivate

Definition at line 336 of file visualize.h.

Referenced by draw().

◆ m_whiteStartColor

QColor Piano::m_whiteStartColor {245,245,245}
protected

Definition at line 370 of file visualize.h.

Referenced by draw().

◆ m_whiteTargetColor

QColor Piano::m_whiteTargetColor {Qt::red}
protected

Definition at line 371 of file visualize.h.

Referenced by draw().

◆ m_blackStartColor

QColor Piano::m_blackStartColor {10,10,10}
protected

Definition at line 372 of file visualize.h.

Referenced by draw().

◆ m_blackTargetColor

QColor Piano::m_blackTargetColor {Qt::red}
protected

Definition at line 373 of file visualize.h.

Referenced by draw().

◆ m_rects

std::vector<QRect> Piano::m_rects
protected

Definition at line 375 of file visualize.h.

Referenced by draw(), and resize().

◆ m_size

QSize Piano::m_size
protected

Definition at line 376 of file visualize.h.

Referenced by draw(), and resize().

◆ m_offsetProcessed

std::chrono::milliseconds Piano::m_offsetProcessed {0ms}
protected

Definition at line 378 of file visualize.h.

Referenced by process_all_types(), and zero_analysis().

◆ m_pianoData

piano_key_data* Piano::m_pianoData {nullptr}
protected

Definition at line 380 of file visualize.h.

Referenced by draw(), Piano(), process_all_types(), resize(), zero_analysis(), and ~Piano().

◆ m_audioData

piano_audio* Piano::m_audioData {nullptr}
protected

Definition at line 381 of file visualize.h.

Referenced by Piano(), process_all_types(), and ~Piano().

◆ m_magnitude

std::vector<double> Piano::m_magnitude
protected

Definition at line 383 of file visualize.h.

Referenced by draw(), and resize().


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