-ExportGraphBuilder::Normalizer::start_post_processing()
-{
- const float gain = normalizer->set_peak (peak_reader->get_peak());
- for (boost::ptr_list<SFC>::iterator i = children.begin(); i != children.end(); ++i) {
- (*i).set_peak (gain);
+ExportGraphBuilder::Intermediate::prepare_post_processing()
+{
+ // called in sync rt-context
+ float gain;
+ if (use_loudness) {
+ gain = normalizer->set_peak (loudness_reader->get_peak (config.format->normalize_lufs (), config.format->normalize_dbtp ()));
+ } else if (use_peak) {
+ gain = normalizer->set_peak (peak_reader->get_peak());
+ } else {
+ gain = normalizer->set_peak (0.0);
+ }
+ if (use_loudness || use_peak) {
+ // push info to analyzers
+ for (boost::ptr_list<SFC>::iterator i = children.begin(); i != children.end(); ++i) {
+ (*i).set_peak (gain);
+ }