From faddb229fcf1417dd283ae43fb26fbf5b3ceaf19 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 24 Sep 2024 15:24:16 +1000 Subject: Record play_count in TrackData, incrementing it when tracks finish --- src/tangara/database/records.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/tangara/database/records.cpp') diff --git a/src/tangara/database/records.cpp b/src/tangara/database/records.cpp index b93ed149..addcc13d 100644 --- a/src/tangara/database/records.cpp +++ b/src/tangara/database/records.cpp @@ -95,6 +95,7 @@ auto EncodeDataValue(const TrackData& track) -> std::string { tag_hashes, cppbor::Uint{track.last_position}, cppbor::Uint{static_cast(track.type)}, + cppbor::Uint{track.play_count}, }; return val.toString(); } @@ -147,6 +148,10 @@ auto ParseDataValue(const leveldb::Slice& slice) -> std::shared_ptr { } } + if (vals->size() >= 10 && vals->get(9)->type() == cppbor::UINT) { + res->play_count = vals->get(9)->asUint()->unsignedValue(); + } + return res; } -- cgit v1.2.3