Added a way to set artists that must not be split, fixes #522

This commit is contained in:
emeric
2025-04-27 18:03:45 +02:00
parent a26632828e
commit cc9c6a42ff
21 changed files with 233 additions and 38 deletions
@@ -86,7 +86,7 @@ namespace lms::scanner
auto transaction{ session.createReadTransaction() };
const ScanSettings::pointer scanSettings{ ScanSettings::get(session, name) };
const ScanSettings::pointer scanSettings{ ScanSettings::find(session, name) };
if (!scanSettings)
return settings;
@@ -111,6 +111,7 @@ namespace lms::scanner
settings->artistTagDelimiters = scanSettings->getArtistTagDelimiters();
settings->defaultTagDelimiters = scanSettings->getDefaultTagDelimiters();
settings->artistsToNotSplit = scanSettings->getArtistsToNotSplit();
settings->skipSingleReleasePlayLists = scanSettings->getSkipSingleReleasePlayLists();
settings->allowArtistMBIDFallback = scanSettings->getAllowMBIDArtistMerge();
@@ -125,7 +126,7 @@ namespace lms::scanner
{
auto transaction{ session.createWriteTransaction() };
ScanSettings::pointer scanSettings{ ScanSettings::get(session, name) };
ScanSettings::pointer scanSettings{ ScanSettings::find(session, name) };
if (!scanSettings)
scanSettings = session.create<ScanSettings>(name);
@@ -41,6 +41,7 @@ namespace lms::scanner
bool skipDuplicateTrackMBID{};
std::vector<std::string> extraTags;
std::vector<std::string> artistTagDelimiters;
std::vector<std::string> artistsToNotSplit;
std::vector<std::string> defaultTagDelimiters;
bool skipSingleReleasePlayLists{};
bool allowArtistMBIDFallback{ true }; // TODO false?
@@ -55,6 +55,7 @@ namespace lms::scanner
params.userExtraTags = settings.extraTags;
params.artistTagDelimiters = settings.artistTagDelimiters;
params.defaultTagDelimiters = settings.defaultTagDelimiters;
params.artistsToNotSplit.insert(settings.artistsToNotSplit.cbegin(), settings.artistsToNotSplit.end());
params.backend = metadata::ParserBackend::TagLib;
params.readStyle = getParserReadStyle();