]> git.sesse.net Git - nageru/blobdiff - vumeter.h
Make sure no frames are lost in storage on shutdown.
[nageru] / vumeter.h
index de27529d937229937a45fd9ebee485227fdcbd16..7015091aa0f1d307f4aee97e5a58f60bfb5a6c79 100644 (file)
--- a/vumeter.h
+++ b/vumeter.h
@@ -1,9 +1,10 @@
 #ifndef VUMETER_H
 #define VUMETER_H
 
-#include <QWidget>
+#include <math.h>
+#include <QLabel>
 #include <QPaintEvent>
-
+#include <QWidget>
 #include <mutex>
 
 class VUMeter : public QWidget
@@ -13,19 +14,20 @@ class VUMeter : public QWidget
 public:
        VUMeter(QWidget *parent);
 
-       void set_level(float level) {
+       void set_level(float level_lufs) {
                std::unique_lock<std::mutex> lock(level_mutex);
-               this->level = level;
-               update();
+               this->level_lufs = level_lufs;
+               QMetaObject::invokeMethod(this, "update", Qt::AutoConnection);
        }
 
 private:
+       void resizeEvent(QResizeEvent *event) override;
        void paintEvent(QPaintEvent *event) override;
 
        std::mutex level_mutex;
-       float level = -HUGE_VAL;
-};
+       float level_lufs = -HUGE_VAL;
 
-extern VUMeter *global_vu_meter;
+       QPixmap on_pixmap, off_pixmap;
+};
 
 #endif