feat(extensions): preserve provider metadata

This commit is contained in:
zarzet
2026-08-18 12:28:35 +07:00
parent 7fc27e8314
commit 48883d51d4
19 changed files with 260 additions and 69 deletions
+20
View File
@@ -27,6 +27,10 @@ class Track {
final String? albumType;
final int? totalTracks;
final String? composer;
final String? genre;
final String? label;
final String? copyright;
final String? comment;
final String? itemType;
final String? audioQuality;
final String? audioModes;
@@ -54,6 +58,10 @@ class Track {
this.albumType,
this.totalTracks,
this.composer,
this.genre,
this.label,
this.copyright,
this.comment,
this.itemType,
this.audioQuality,
this.audioModes,
@@ -128,6 +136,10 @@ class Track {
source: effectiveSource,
albumType: normalizeOptionalString(data['album_type']?.toString()),
composer: data['composer']?.toString(),
genre: data['genre']?.toString(),
label: data['label']?.toString(),
copyright: data['copyright']?.toString(),
comment: data['comment']?.toString(),
itemType: itemType,
audioQuality: data['audio_quality']?.toString(),
audioModes: data['audio_modes']?.toString(),
@@ -158,6 +170,10 @@ class Track {
String? albumType,
int? totalTracks,
String? composer,
String? genre,
String? label,
String? copyright,
String? comment,
String? itemType,
String? audioQuality,
String? audioModes,
@@ -185,6 +201,10 @@ class Track {
albumType: albumType ?? this.albumType,
totalTracks: totalTracks ?? this.totalTracks,
composer: composer ?? this.composer,
genre: genre ?? this.genre,
label: label ?? this.label,
copyright: copyright ?? this.copyright,
comment: comment ?? this.comment,
itemType: itemType ?? this.itemType,
audioQuality: audioQuality ?? this.audioQuality,
audioModes: audioModes ?? this.audioModes,
+8
View File
@@ -32,6 +32,10 @@ Track _$TrackFromJson(Map<String, dynamic> json) => Track(
albumType: json['albumType'] as String?,
totalTracks: (json['totalTracks'] as num?)?.toInt(),
composer: json['composer'] as String?,
genre: json['genre'] as String?,
label: json['label'] as String?,
copyright: json['copyright'] as String?,
comment: json['comment'] as String?,
itemType: json['itemType'] as String?,
audioQuality: json['audioQuality'] as String?,
audioModes: json['audioModes'] as String?,
@@ -60,6 +64,10 @@ Map<String, dynamic> _$TrackToJson(Track instance) => <String, dynamic>{
'albumType': instance.albumType,
'totalTracks': instance.totalTracks,
'composer': instance.composer,
'genre': instance.genre,
'label': instance.label,
'copyright': instance.copyright,
'comment': instance.comment,
'itemType': instance.itemType,
'audioQuality': instance.audioQuality,
'audioModes': instance.audioModes,