+ void reset_peak(unsigned bus_index);
+
+ struct BusLevel {
+ float current_level_dbfs[2]; // Digital peak of last frame, left and right.
+ float peak_level_dbfs[2]; // Digital peak with hold, left and right.
+ float historic_peak_dbfs;
+ float gain_staging_db;
+ float compressor_attenuation_db; // A positive number; 0.0 for no attenuation.
+ };
+
+ typedef std::function<void(float level_lufs, float peak_db,
+ std::vector<BusLevel> bus_levels,
+ float global_level_lufs, float range_low_lufs, float range_high_lufs,
+ float final_makeup_gain_db,
+ float correlation)> audio_level_callback_t;
+ void set_audio_level_callback(audio_level_callback_t callback)
+ {
+ audio_level_callback = callback;
+ }
+