range_high_lufs = this->range_high_lufs;
}
- float level_lu = level_lufs + 23.0f;
- float range_low_lu = range_low_lufs + 23.0f;
- float range_high_lu = range_high_lufs + 23.0f;
+ float level_lu = level_lufs - ref_level_lufs;
+ float range_low_lu = range_low_lufs - ref_level_lufs;
+ float range_high_lu = range_high_lufs - ref_level_lufs;
int range_low_pos = lrint(lufs_to_pos(range_low_lu, height()));
int range_high_pos = lrint(lufs_to_pos(range_high_lu, height()));
recalculate_pixmaps();
}
+ void set_ref_level(float ref_level_lufs)
+ {
+ this->ref_level_lufs = ref_level_lufs;
+ }
+
private:
void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *event) override;
float level_lufs = -HUGE_VAL;
float range_low_lufs = -HUGE_VAL;
float range_high_lufs = -HUGE_VAL;
- float min_level = -18.0f, max_level = 9.0f;
+ float min_level = -18.0f, max_level = 9.0f, ref_level_lufs = -23.0f;
QPixmap on_pixmap, off_pixmap;
};
level_lufs = this->level_lufs;
}
- float level_lu = level_lufs + 23.0f;
+ float level_lu = level_lufs - ref_level_lufs;
int on_pos = lrint(lufs_to_pos(level_lu, height()));
QRect off_rect(0, 0, width(), on_pos);
QRect on_rect(0, on_pos, width(), height() - on_pos);
recalculate_pixmaps();
}
+ void set_ref_level(float ref_level_lufs)
+ {
+ this->ref_level_lufs = ref_level_lufs;
+ }
+
private:
void resizeEvent(QResizeEvent *event) override;
void paintEvent(QPaintEvent *event) override;
std::mutex level_mutex;
float level_lufs = -HUGE_VAL;
- float min_level = -18.0f, max_level = 9.0f;
+ float min_level = -18.0f, max_level = 9.0f, ref_level_lufs = -23.0f;
QPixmap on_pixmap, off_pixmap;
};