Sayonara Player
GUI_SpectrogramPainter.h
1#ifndef GUI_SPECTROGRAMPAINTER_H
2#define GUI_SPECTROGRAMPAINTER_H
3
4#include "Gui/Plugins/PlayerPluginBase.h"
5
6#include <QList>
7#include <QWidget>
8
9class PlayManager;
10
13{
14 Q_OBJECT
16
17public:
18 explicit GUI_SpectrogramPainter(PlayManager* playManager, QWidget* parent = nullptr);
19 ~GUI_SpectrogramPainter() override;
20
21 QString name() const override;
22 QString displayName() const override;
23 bool isUiInitialized() const override;
24
25private slots:
26 void reset();
27 void spectrumChanged(const QList<float>& spectrum, MilliSeconds ms);
28 void finished();
29
30 void playstateChanged(PlayState state);
31 void trackChanged(const MetaData& md);
32
33protected:
34 void retranslate() override;
35 void initUi() override;
36
37 void paintEvent(QPaintEvent* e) override;
38 void mousePressEvent(QMouseEvent* e) override;
39 void mouseMoveEvent(QMouseEvent* e) override;
40
41 void showEvent(QShowEvent* e) override;
42 void closeEvent(QCloseEvent* e) override;
43
44private:
45 void drawBuffer(int percent_step);
46 QString calcTooltip(float yPercent);
47
48 void showFullsize();
49 void positionClicked(QPoint position);
50
51 void startAudioDataProvider(const MetaData& md);
52 void stopAudioDataProvider();
53
54 QSize minimumSizeHint() const override;
55};
56
57#endif // GUI_SPECTROGRAMPAINTER_H
Definition: GUI_SpectrogramPainter.h:13
bool isUiInitialized() const override
Check if ui already was initialized.
QString name() const override
must be overwritten
QString displayName() const override
must be overwritten
void initUi() override
GUI will be initialized on first show up. Please use this to make Sayonara starting fast.
The MetaData class.
Definition: MetaData.h:47
Global handler for current playback state (Singleton)
Definition: PlayManager.h:36
Definition: PlayerPluginBase.h:40
Definition: EngineUtils.h:33