searchFiltered method
Search with filters
Implementation
Future<List<Track>> searchFiltered(
String query, {
Duration? minDuration,
Duration? maxDuration,
String? requiredWord,
}) async {
final results = await search(query);
return results.where((track) {
final duration = Duration(milliseconds: track.info.length);
if (minDuration != null && duration < minDuration) return false;
if (maxDuration != null && duration > maxDuration) return false;
if (requiredWord != null &&
!track.info.title.toLowerCase().contains(requiredWord.toLowerCase())) {
return false;
}
return true;
}).toList();
}