feat: propagate download cancellation through entire pipeline, add MusicBrainz album artist fallback, and allow disabling home feed

- Add reference-counted cancel entries to prevent premature cleanup when multiple operations share the same itemID
- Propagate cancellation to DownloadTrack, DownloadWithFallback, DownloadWithExtensionsJSON, extension providers, and ISRC search
- Fetch album artist from MusicBrainz when missing during download and re-enrich
- Make ALBUMARTIST tag nullable to avoid writing artistName as album artist
- Add home feed 'Off' option in extension settings
- Skip deezer in download provider priority sanitization
This commit is contained in:
zarzet
2026-04-16 02:54:21 +07:00
parent 57051bd649
commit bcd8a05352
31 changed files with 683 additions and 59 deletions
+2
View File
@@ -5,6 +5,8 @@ part 'settings.g.dart';
@JsonSerializable()
class AppSettings {
static const String homeFeedProviderOff = '__off__';
final String defaultService;
final String audioQuality;
final String filenameFormat;