+ this->level_lufs[0] = level_lufs_left;
+ this->level_lufs[1] = level_lufs_right;
+ QMetaObject::invokeMethod(this, "update", Qt::AutoConnection);
+ }
+
+ void set_peak(float peak_lufs) {
+ set_peak(peak_lufs, peak_lufs);
+ }
+
+ void set_peak(float peak_lufs_left, float peak_lufs_right) {
+ std::unique_lock<std::mutex> lock(level_mutex);
+ this->peak_lufs[0] = peak_lufs_left;
+ this->peak_lufs[1] = peak_lufs_right;
+ QMetaObject::invokeMethod(this, "update", Qt::AutoConnection);
+ }
+
+ double lufs_to_pos(float level_lu, int height)
+ {
+ return ::lufs_to_pos(level_lu, height, min_level, max_level);
+ }
+
+ void set_min_level(float min_level)
+ {
+ this->min_level = min_level;
+ recalculate_pixmaps();
+ }
+
+ void set_max_level(float max_level)
+ {
+ this->max_level = max_level;
+ recalculate_pixmaps();
+ }
+
+ void set_ref_level(float ref_level_lufs)
+ {
+ this->ref_level_lufs = ref_level_lufs;
+ }
+
+ void set_flip(bool flip)
+ {
+ this->flip = flip;
+ recalculate_pixmaps();