MythTV  master
videovisualmonoscope.h
Go to the documentation of this file.
1 #ifndef VIDEOVISUALMONOSCOPE_H
2 #define VIDEOVISUALMONOSCOPE_H
3 
4 // MythTV
6 #include "videovisual.h"
7 
8 #define NUM_SAMPLES 256
9 
11 {
12  public:
13  VideoVisualMonoScope(AudioPlayer *Audio, MythRender *Render, bool Fade);
14  ~VideoVisualMonoScope() override;
15  void Draw(const QRect &Area, MythPainter *Painter, QPaintDevice* /*device*/) override;
16  QString Name(void) override;
17 
18  private:
19  MythRenderOpenGL* Initialise(const QRect &Area);
20 
21  bool m_fade { false };
22  GLfloat m_vertices[(NUM_SAMPLES * 2) + 16] { 0.0 };
23  QOpenGLShaderProgram *m_shader { nullptr };
24  QOpenGLBuffer *m_vbo { nullptr };
25  bool m_currentFBO { false };
26  QOpenGLFramebufferObject *m_fbo[2] { nullptr };
27  MythGLTexture *m_texture[2] { nullptr };
28  int64_t m_lastTime { 0 };
29  qreal m_hue { 0.0 };
30 };
31 
32 #endif // VIDEOVISUALMONOSCOPE_H
VideoVisualMonoScope(AudioPlayer *Audio, MythRender *Render, bool Fade)
#define NUM_SAMPLES
QOpenGLFramebufferObject * m_fbo[2]
void Draw(const QRect &Area, MythPainter *Painter, QPaintDevice *) override
QString Name(void) override
GLfloat m_vertices[(NUM_SAMPLES *2)+16]
MythRenderOpenGL * Initialise(const QRect &Area)
MythGLTexture * m_texture[2]
QOpenGLShaderProgram * m_shader