feat(library): add lyrics filtering and metadata actions

This commit is contained in:
zarzet
2026-08-27 01:44:06 +07:00
parent 04c42bd511
commit 1a7c20111a
60 changed files with 1454 additions and 276 deletions
@@ -385,6 +385,7 @@ extension _LibraryDbQueueSql on LibraryDatabase {
discNumberExpr: 'h.disc_number',
isrcExpr: 'h.isrc',
labelExpr: 'h.label',
hasLyricsExpr: 'h.has_lyrics',
);
}
@@ -415,6 +416,7 @@ extension _LibraryDbQueueSql on LibraryDatabase {
discNumberExpr: 'l.disc_number',
isrcExpr: 'l.isrc',
labelExpr: 'l.label',
hasLyricsExpr: 'l.has_lyrics',
);
}
@@ -434,6 +436,7 @@ extension _LibraryDbQueueSql on LibraryDatabase {
required String discNumberExpr,
required String isrcExpr,
required String labelExpr,
required String hasLyricsExpr,
}) {
final quality = request.quality?.trim().toLowerCase();
if (quality != null && quality.isNotEmpty) {
@@ -518,6 +521,9 @@ extension _LibraryDbQueueSql on LibraryDatabase {
case 'missing-label':
where.add('NOT ($hasLabel)');
break;
case 'missing-lyrics':
where.add('COALESCE($hasLyricsExpr, 0) = 0');
break;
}
}