summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrsmidge <smidge@xsco.net>2020-09-26 18:19:37 +0100
committermrsmidge <smidge@xsco.net>2020-09-26 18:19:37 +0100
commit4c914b0cf68a8158d1e2183443c1533633513bde (patch)
treec14d2fc2d8b95b773c339ce47705e8f93e3eecd2
parent0b794d724130bad20ac5480cdf0b6abd71f91a82 (diff)
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.
-rw-r--r--src/djinterop/enginelibrary/el_track_impl.cpp6
1 files changed, 5 insertions, 1 deletions
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();
}