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