Automatische Erkennung: neue Dateien auf dem Geraet und neue Alben am Server
- AutoScan: beim Zurueckkehren in die App wird die Zahl der Musikdateien mit der Bibliothek verglichen; nur bei Abweichung laeuft ein Scan, und hoechstens alle 5 Minuten. Gleich viele Loeschungen wie Neuzugaenge bleiben unbemerkt - dafuer gibt es den Scan von Hand. - ServerNeuheiten: meldet neu auf Navidrome aufgetauchte Alben im Online-Tab. Der erste Abruf meldet bewusst nichts, sonst waere die ganze Sammlung "neu"; er nutzt die ohnehin geladenen Alben statt eines zweiten Serveraufrufs. - Neu: MeloDb.countSongs(), countAndroidMediaStoreSongs(). 189 Tests gruen, flutter analyze ohne Befund. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018NLW1q1hzEC9goDQ1dJ98d
This commit is contained in:
co-authored by
Claude Opus 5
parent
6200c77614
commit
15e3d44453
@@ -188,6 +188,16 @@ class MeloDb extends _$MeloDb {
|
||||
/// Alle Songs inkl. getombstonte. Intern für ID-Stabilität beim Scan.
|
||||
Future<List<Song>> allSongs() => select(songs).get();
|
||||
|
||||
/// Wie viele Titel die Bibliothek kennt (ohne getombstonte).
|
||||
Future<int> countSongs() async {
|
||||
final anzahl = songs.id.count();
|
||||
final zeile = await (selectOnly(songs)
|
||||
..addColumns([anzahl])
|
||||
..where(songs.deleted.equals(false)))
|
||||
.getSingle();
|
||||
return zeile.read(anzahl) ?? 0;
|
||||
}
|
||||
|
||||
/// Upsert Songs nach Pfad. Neue Songs bekommen UUID; bekannte erhalten sie zurück.
|
||||
/// Setzt [updatedAtMs] auf die Werte der Companions (normalerweise Scan-Startzeit).
|
||||
Future<void> upsertSongs(List<SongsCompanion> items) async {
|
||||
|
||||
Reference in New Issue
Block a user