From fadad17c26428f9667028c8c273d3ed229ff32cf Mon Sep 17 00:00:00 2001 From: Adam Szmigin Date: Wed, 13 Sep 2023 14:30:40 +0100 Subject: [PATCH] Fix: don't export loudness info to Engine --- src/library/export/engineprimeexportjob.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/library/export/engineprimeexportjob.cpp b/src/library/export/engineprimeexportjob.cpp index 644d5763667..03aa3e6f54c 100644 --- a/src/library/export/engineprimeexportjob.cpp +++ b/src/library/export/engineprimeexportjob.cpp @@ -210,13 +210,11 @@ void exportMetadata( snapshot.sample_count = frameCount; snapshot.sample_rate = pTrack->getSampleRate(); - // Set track loudness. - // Note that the djinterop API method for setting loudness may be revised - // in future, as more is discovered about the exact meaning of the loudness - // field in the Engine Library format. Make the assumption for now that - // ReplayGain ratio is an appropriate value to set, which has been validated - // by basic experimental testing. - snapshot.average_loudness = pTrack->getReplayGain().getRatio(); + // Track loudness controls how the waveforms are scaled on Engine players. + // However, getting it wrong and accidentally scaling a waveform beyond a sensible maximum + // can result in no waveform being shown at all. In order to be safe, no loudness information + // is exported, resulting in waveforms being displayed as-is. + snapshot.average_loudness = 0; // Set main cue-point. mixxx::audio::FramePos cuePlayPos = pTrack->getMainCuePosition();