From 4c914b0cf68a8158d1e2183443c1533633513bde Mon Sep 17 00:00:00 2001 From: mrsmidge Date: Sat, 26 Sep 2020 18:19:37 +0100 Subject: Fix exception when no average loudness set If the average loudness in Engine Library format is zero, this is now interpreted as there being no average loudness. --- src/djinterop/enginelibrary/el_track_impl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/djinterop/enginelibrary/el_track_impl.cpp b/src/djinterop/enginelibrary/el_track_impl.cpp index 707253e..0febf3b 100644 --- a/src/djinterop/enginelibrary/el_track_impl.cpp +++ b/src/djinterop/enginelibrary/el_track_impl.cpp @@ -317,7 +317,11 @@ void el_track_impl::set_average_loudness( { el_transaction_guard_impl trans{storage_}; auto track_d = get_track_data(); - track_d.average_loudness = average_loudness; + + // Zero average loudness is interpreted as no average loudness. + track_d.average_loudness = + average_loudness == 0 ? stdx::nullopt : average_loudness; + set_track_data(track_d); trans.commit(); } -- cgit v1.2.3