]> git.sesse.net Git - nageru/blob - lrameter.h
Remove obsolete comment.
[nageru] / lrameter.h
1 #ifndef LRAMETER_H
2 #define LRAMETER_H
3
4 #include <math.h>
5 #include <QLabel>
6 #include <QPaintEvent>
7 #include <QWidget>
8 #include <mutex>
9
10 class LRAMeter : public QWidget
11 {
12         Q_OBJECT
13
14 public:
15         LRAMeter(QWidget *parent);
16
17         void set_levels(float level_lufs, float range_low_lufs, float range_high_lufs) {
18                 std::unique_lock<std::mutex> lock(level_mutex);
19                 this->level_lufs = level_lufs;
20                 this->range_low_lufs = range_low_lufs;
21                 this->range_high_lufs = range_high_lufs;
22                 QMetaObject::invokeMethod(this, "update", Qt::AutoConnection);
23         }
24
25 private:
26         void resizeEvent(QResizeEvent *event) override;
27         void paintEvent(QPaintEvent *event) override;
28
29         std::mutex level_mutex;
30         float level_lufs = -HUGE_VAL;
31         float range_low_lufs = -HUGE_VAL;
32         float range_high_lufs = -HUGE_VAL;
33
34         QPixmap on_pixmap, off_pixmap;
35 };
36
37 #endif