From 4fe6edb87fcf39610dfe29190bc57552276578c8 Mon Sep 17 00:00:00 2001 From: emeric Date: Wed, 5 Feb 2025 20:01:30 +0100 Subject: [PATCH] Added release comment support, ref #568 --- src/libs/database/impl/Migration.cpp | 12 +++++- .../database/include/database/Release.hpp | 4 ++ src/libs/metadata/impl/AvFormatTagReader.cpp | 1 + src/libs/metadata/impl/ITagReader.hpp | 1 + src/libs/metadata/impl/Parser.cpp | 1 + src/libs/metadata/impl/TagLibTagReader.cpp | 1 + src/libs/metadata/include/metadata/Types.hpp | 1 + src/libs/metadata/test/Parser.cpp | 43 ++++++++++--------- .../impl/scanners/AudioFileScanner.cpp | 2 + src/tools/metadata/LmsMetadata.cpp | 9 ++-- 10 files changed, 51 insertions(+), 24 deletions(-) diff --git a/src/libs/database/impl/Migration.cpp b/src/libs/database/impl/Migration.cpp index c5be754e..704d3e42 100644 --- a/src/libs/database/impl/Migration.cpp +++ b/src/libs/database/impl/Migration.cpp @@ -35,7 +35,7 @@ namespace lms::db { namespace { - static constexpr Version LMS_DATABASE_VERSION{ 80 }; + static constexpr Version LMS_DATABASE_VERSION{ 81 }; } VersionInfo::VersionInfo() @@ -1063,6 +1063,15 @@ FROM tracklist)"); utils::executeCommand(*session.getDboSession(), "UPDATE scan_settings SET scan_version = scan_version + 1"); } + void migrateFromV80(Session& session) + { + // Add release comment support + utils::executeCommand(*session.getDboSession(), "ALTER TABLE release ADD COLUMN comment TEXT NOT NULL DEFAULT ''"); + + // Just increment the scan version of the settings to make the next scan rescan everything + utils::executeCommand(*session.getDboSession(), "UPDATE scan_settings SET scan_version = scan_version + 1"); + } + bool doDbMigration(Session& session) { constexpr std::string_view outdatedMsg{ "Outdated database, please rebuild it (delete the .db file and restart)" }; @@ -1119,6 +1128,7 @@ FROM tracklist)"); { 77, migrateFromV77 }, { 78, migrateFromV78 }, { 79, migrateFromV79 }, + { 80, migrateFromV80 }, }; bool migrationPerformed{}; diff --git a/src/libs/database/include/database/Release.hpp b/src/libs/database/include/database/Release.hpp index 22050468..50e65b14 100644 --- a/src/libs/database/include/database/Release.hpp +++ b/src/libs/database/include/database/Release.hpp @@ -255,6 +255,7 @@ namespace lms::db void visitLabels(const std::function& _func) const; core::EnumSet getAdvisories() const; std::string_view getBarcode() const { return _barcode; } + std::string_view getComment() const { return _comment; } ObjectPtr getImage() const; // Setters @@ -270,6 +271,7 @@ namespace lms::db void addLabel(ObjectPtr