Better bench scope + minor cleanup
This commit is contained in:
@@ -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<ITagReader> testTags{ tests::createDefaultPopulatedTestTagReader() };
|
||||
|
||||
const TestAudioFileParser parser{ params };
|
||||
for (auto _ : state)
|
||||
{
|
||||
TestAudioFileParser parser{ params };
|
||||
std::unique_ptr<Track> 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> 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> 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> track{ parser.parseMetaData(testTags) };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@ namespace lms::metadata
|
||||
return fileExtensions;
|
||||
}
|
||||
|
||||
std::unique_ptr<Track> AudioFileParser::parseMetaData(const std::filesystem::path& p)
|
||||
std::unique_ptr<Track> 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<Track> AudioFileParser::parseMetaData(const ITagReader& tagReader)
|
||||
std::unique_ptr<Track> AudioFileParser::parseMetaData(const ITagReader& tagReader) const
|
||||
{
|
||||
auto track{ std::make_unique<Track>() };
|
||||
|
||||
@@ -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<std::string>(tagReader, TagType::TrackTitle).value_or("");
|
||||
track.mbid = getTagValueAs<core::UUID>(tagReader, TagType::MusicBrainzTrackID);
|
||||
@@ -493,7 +493,7 @@ namespace lms::metadata
|
||||
track.originalYear = track.originalDate.getYear();
|
||||
}
|
||||
|
||||
std::optional<Medium> AudioFileParser::getMedium(const ITagReader& tagReader)
|
||||
std::optional<Medium> AudioFileParser::getMedium(const ITagReader& tagReader) const
|
||||
{
|
||||
std::optional<Medium> medium;
|
||||
medium.emplace();
|
||||
@@ -523,7 +523,7 @@ namespace lms::metadata
|
||||
return medium;
|
||||
}
|
||||
|
||||
std::optional<Release> AudioFileParser::getRelease(const ITagReader& tagReader)
|
||||
std::optional<Release> AudioFileParser::getRelease(const ITagReader& tagReader) const
|
||||
{
|
||||
std::optional<Release> release;
|
||||
|
||||
|
||||
@@ -37,18 +37,18 @@ namespace lms::metadata
|
||||
AudioFileParser& operator=(const AudioFileParser&) = delete;
|
||||
|
||||
protected:
|
||||
std::unique_ptr<Track> parseMetaData(const std::filesystem::path& p) override;
|
||||
std::unique_ptr<Track> parseMetaData(const ITagReader& reader);
|
||||
std::unique_ptr<Track> parseMetaData(const std::filesystem::path& p) const override;
|
||||
std::unique_ptr<Track> 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<const std::filesystem::path> getSupportedExtensions() const override;
|
||||
|
||||
void processTags(const ITagReader& reader, Track& track);
|
||||
void processTags(const ITagReader& reader, Track& track) const;
|
||||
|
||||
std::optional<Medium> getMedium(const ITagReader& tagReader);
|
||||
std::optional<Release> getRelease(const ITagReader& tagReader);
|
||||
std::optional<Medium> getMedium(const ITagReader& tagReader) const;
|
||||
std::optional<Release> getRelease(const ITagReader& tagReader) const;
|
||||
|
||||
const AudioFileParserParameters _params;
|
||||
};
|
||||
|
||||
@@ -33,10 +33,10 @@ namespace lms::metadata
|
||||
public:
|
||||
virtual ~IAudioFileParser() = default;
|
||||
|
||||
virtual std::unique_ptr<Track> parseMetaData(const std::filesystem::path& p) = 0;
|
||||
virtual std::unique_ptr<Track> parseMetaData(const std::filesystem::path& p) const = 0;
|
||||
|
||||
using ImageVisitor = std::function<void(const Image&)>;
|
||||
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<const std::filesystem::path> getSupportedExtensions() const = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user