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 
9 class PlayManager;
10 
12  public PlayerPlugin::Base
13 {
14  Q_OBJECT
16 
17 public:
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 
25 private 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 
33 protected:
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 
44 private:
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