import 'package:freezed_annotation/freezed_annotation.dart'; import 'enums.dart'; part 'analiz_sonuclari.freezed.dart'; part 'analiz_sonuclari.g.dart'; /// Şarkı/ses analizinden çıkan tek bir enerji bandı. @freezed class EnerjiBandi with _$EnerjiBandi { const factory EnerjiBandi({ required double baslangic, required double bitis, @Default(EnerjiSeviyesi.orta) EnerjiSeviyesi seviye, }) = _EnerjiBandi; factory EnerjiBandi.fromJson(Map j) => _$EnerjiBandiFromJson(j); } /// Ses analizinin toplu sonucu — sahne önerisi, vokal ayrımı, tempo. @freezed class AnalizSonuclari with _$AnalizSonuclari { const factory AnalizSonuclari({ @Default(0.0) double sesUzunlugu, @Default([]) List enerjiBantlari, @Default(0) int onerilenSahneSayisi, @Default([]) List onerilenSureler, @Default(false) bool vokalEnstrumanAyrildiMi, String? vokalDosyaYolu, String? lirikSatirlari, double? tempo, String? tonalite, }) = _AnalizSonuclari; factory AnalizSonuclari.fromJson(Map j) => _$AnalizSonuclariFromJson(j); }