From 9791e3fb5f05d65096c8c6feb78462f72e13c0b5 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 14 Apr 2024 12:02:12 +0600 Subject: [PATCH] chore: give a boost to first track of playlist --- lib/provider/proxy_playlist/proxy_playlist_provider.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/provider/proxy_playlist/proxy_playlist_provider.dart b/lib/provider/proxy_playlist/proxy_playlist_provider.dart index 060ada1b..9811a1f8 100644 --- a/lib/provider/proxy_playlist/proxy_playlist_provider.dart +++ b/lib/provider/proxy_playlist/proxy_playlist_provider.dart @@ -7,12 +7,14 @@ import 'package:spotify/spotify.dart'; import 'package:spotube/components/shared/image/universal_image.dart'; import 'package:spotube/extensions/image.dart'; import 'package:spotube/extensions/track.dart'; +import 'package:spotube/models/local_track.dart'; import 'package:spotube/provider/blacklist_provider.dart'; import 'package:spotube/provider/palette_provider.dart'; import 'package:spotube/provider/proxy_playlist/player_listeners.dart'; import 'package:spotube/provider/proxy_playlist/proxy_playlist.dart'; import 'package:spotube/provider/scrobbler_provider.dart'; +import 'package:spotube/provider/server/sourced_track.dart'; import 'package:spotube/provider/user_preferences/user_preferences_provider.dart'; import 'package:spotube/provider/user_preferences/user_preferences_state.dart'; import 'package:spotube/services/audio_player/audio_player.dart'; @@ -99,6 +101,13 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier { state = state.copyWith(collections: {}); + // Giving the initial track a boost so MediaKit won't skip + // because of timeout + final intendedActiveTrack = tracks.elementAt(initialIndex); + if (intendedActiveTrack is! LocalTrack) { + await ref.read(sourcedTrackProvider(intendedActiveTrack).future); + } + await audioPlayer.openPlaylist( tracks.asMediaList(), initialIndex: initialIndex,