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