mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
Fixed track not changing on complete
This commit is contained in:
parent
bc1334dd6d
commit
03f1d3e958
@ -35,7 +35,7 @@ Future<void> Function([dynamic]) useTogglePlayPause(Playback playback) {
|
||||
} else if (playback.track != null &&
|
||||
playback.currentDuration == Duration.zero &&
|
||||
await playback.player.getCurrentPosition() == Duration.zero) {
|
||||
await playback.play();
|
||||
await playback.play(playback.track!);
|
||||
} else {
|
||||
await playback.togglePlayPause();
|
||||
}
|
||||
|
@ -126,15 +126,13 @@ class Playback extends PersistedChangeNotifier {
|
||||
}
|
||||
|
||||
// player methods
|
||||
Future<void> play([Track? track]) async {
|
||||
_logger.v("[Track Playing] ${track?.name} - ${track?.id}");
|
||||
Future<void> play(Track track) async {
|
||||
_logger.v("[Track Playing] ${track.name} - ${track.id}");
|
||||
try {
|
||||
// the track is already playing so no need to change that
|
||||
if ((track != null && track.id == this.track?.id) ||
|
||||
(this.track == null && track == null)) return;
|
||||
track ??= this.track;
|
||||
if (track.id == this.track?.id) return;
|
||||
final tag = MediaItem(
|
||||
id: track!.id!,
|
||||
id: track.id!,
|
||||
title: track.name!,
|
||||
album: track.album?.name,
|
||||
artist: artistsToString(track.artists ?? <ArtistSimple>[]),
|
||||
@ -147,11 +145,10 @@ class Playback extends PersistedChangeNotifier {
|
||||
track = await toSpotubeTrack(track);
|
||||
}
|
||||
_logger.v("[Track Direct Source] - ${(track).ytUri}");
|
||||
await player.play(UrlSource(track.ytUri)).then((_) {
|
||||
this.track = track as SpotubeTrack;
|
||||
notifyListeners();
|
||||
updatePersistence();
|
||||
});
|
||||
this.track = track;
|
||||
notifyListeners();
|
||||
updatePersistence();
|
||||
await player.play(UrlSource(track.ytUri));
|
||||
} catch (e, stack) {
|
||||
_logger.e("play", e, stack);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user