From 79be2ebb160fae929bb7ed5c8b12fd96b81999aa Mon Sep 17 00:00:00 2001 From: emeric Date: Wed, 7 May 2025 13:56:43 +0200 Subject: [PATCH] Better bench scope + minor cleanup --- src/libs/metadata/bench/Metadata.cpp | 12 ++++++------ src/libs/metadata/impl/AudioFileParser.cpp | 12 ++++++------ src/libs/metadata/impl/AudioFileParser.hpp | 12 ++++++------ .../metadata/include/metadata/IAudioFileParser.hpp | 4 ++-- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/libs/metadata/bench/Metadata.cpp b/src/libs/metadata/bench/Metadata.cpp index 419e7424..306788ca 100644 --- a/src/libs/metadata/bench/Metadata.cpp +++ b/src/libs/metadata/bench/Metadata.cpp @@ -39,10 +39,9 @@ namespace lms::metadata::benchmarks params.userExtraTags = { "MY_AWESOME_TAG_A", "MY_AWESOME_TAG_B", "MY_AWESOME_MISSING_TAG" }; std::unique_ptr testTags{ tests::createDefaultPopulatedTestTagReader() }; - + const TestAudioFileParser parser{ params }; for (auto _ : state) { - TestAudioFileParser parser{ params }; std::unique_ptr track{ parser.parseMetaData(*testTags) }; } } @@ -55,11 +54,11 @@ namespace lms::metadata::benchmarks } }; - AudioFileParserParameters params; + const AudioFileParserParameters params; + const TestAudioFileParser parser{ params }; for (auto _ : state) { - TestAudioFileParser parser{ params }; std::unique_ptr track{ parser.parseMetaData(testTags) }; } } @@ -114,9 +113,9 @@ namespace lms::metadata::benchmarks "White/Light", "Yamantaka // Sonic Titan" }; + const TestAudioFileParser parser{ params }; for (auto _ : state) { - TestAudioFileParser parser{ params }; std::unique_ptr track{ parser.parseMetaData(testTags) }; } } @@ -132,9 +131,10 @@ namespace lms::metadata::benchmarks AudioFileParserParameters params; params.artistTagDelimiters = { "/", ";" }; + const TestAudioFileParser parser{ params }; + for (auto _ : state) { - TestAudioFileParser parser{ params }; std::unique_ptr track{ parser.parseMetaData(testTags) }; } } diff --git a/src/libs/metadata/impl/AudioFileParser.cpp b/src/libs/metadata/impl/AudioFileParser.cpp index 1ef5af63..a75d7c03 100644 --- a/src/libs/metadata/impl/AudioFileParser.cpp +++ b/src/libs/metadata/impl/AudioFileParser.cpp @@ -362,7 +362,7 @@ namespace lms::metadata return fileExtensions; } - std::unique_ptr AudioFileParser::parseMetaData(const std::filesystem::path& p) + std::unique_ptr AudioFileParser::parseMetaData(const std::filesystem::path& p) const { try { @@ -389,7 +389,7 @@ namespace lms::metadata } } - void AudioFileParser::parseImages(const std::filesystem::path& p, ImageVisitor visitor) + void AudioFileParser::parseImages(const std::filesystem::path& p, ImageVisitor visitor) const { try { @@ -416,7 +416,7 @@ namespace lms::metadata } } - std::unique_ptr AudioFileParser::parseMetaData(const ITagReader& tagReader) + std::unique_ptr AudioFileParser::parseMetaData(const ITagReader& tagReader) const { auto track{ std::make_unique() }; @@ -426,7 +426,7 @@ namespace lms::metadata return track; } - void AudioFileParser::processTags(const ITagReader& tagReader, Track& track) + void AudioFileParser::processTags(const ITagReader& tagReader, Track& track) const { track.title = getTagValueAs(tagReader, TagType::TrackTitle).value_or(""); track.mbid = getTagValueAs(tagReader, TagType::MusicBrainzTrackID); @@ -493,7 +493,7 @@ namespace lms::metadata track.originalYear = track.originalDate.getYear(); } - std::optional AudioFileParser::getMedium(const ITagReader& tagReader) + std::optional AudioFileParser::getMedium(const ITagReader& tagReader) const { std::optional medium; medium.emplace(); @@ -523,7 +523,7 @@ namespace lms::metadata return medium; } - std::optional AudioFileParser::getRelease(const ITagReader& tagReader) + std::optional AudioFileParser::getRelease(const ITagReader& tagReader) const { std::optional release; diff --git a/src/libs/metadata/impl/AudioFileParser.hpp b/src/libs/metadata/impl/AudioFileParser.hpp index e7f8edf5..48176296 100644 --- a/src/libs/metadata/impl/AudioFileParser.hpp +++ b/src/libs/metadata/impl/AudioFileParser.hpp @@ -37,18 +37,18 @@ namespace lms::metadata AudioFileParser& operator=(const AudioFileParser&) = delete; protected: - std::unique_ptr parseMetaData(const std::filesystem::path& p) override; - std::unique_ptr parseMetaData(const ITagReader& reader); + std::unique_ptr parseMetaData(const std::filesystem::path& p) const override; + std::unique_ptr parseMetaData(const ITagReader& reader) const; static void parseImages(const IImageReader& reader, ImageVisitor visitor); private: - void parseImages(const std::filesystem::path& p, ImageVisitor visitor) override; + void parseImages(const std::filesystem::path& p, ImageVisitor visitor) const override; std::span getSupportedExtensions() const override; - void processTags(const ITagReader& reader, Track& track); + void processTags(const ITagReader& reader, Track& track) const; - std::optional getMedium(const ITagReader& tagReader); - std::optional getRelease(const ITagReader& tagReader); + std::optional getMedium(const ITagReader& tagReader) const; + std::optional getRelease(const ITagReader& tagReader) const; const AudioFileParserParameters _params; }; diff --git a/src/libs/metadata/include/metadata/IAudioFileParser.hpp b/src/libs/metadata/include/metadata/IAudioFileParser.hpp index 0d375556..38eb6694 100644 --- a/src/libs/metadata/include/metadata/IAudioFileParser.hpp +++ b/src/libs/metadata/include/metadata/IAudioFileParser.hpp @@ -33,10 +33,10 @@ namespace lms::metadata public: virtual ~IAudioFileParser() = default; - virtual std::unique_ptr parseMetaData(const std::filesystem::path& p) = 0; + virtual std::unique_ptr parseMetaData(const std::filesystem::path& p) const = 0; using ImageVisitor = std::function; - virtual void parseImages(const std::filesystem::path& p, ImageVisitor visitor) = 0; + virtual void parseImages(const std::filesystem::path& p, ImageVisitor visitor) const = 0; virtual std::span getSupportedExtensions() const = 0; };