mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
fix: endless playback not working
This commit is contained in:
parent
d2e0dc1ac9
commit
60f032039f
@ -1,5 +1,6 @@
|
|||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
import 'package:collection/collection.dart';
|
||||||
import 'package:drift/drift.dart';
|
import 'package:drift/drift.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:spotube/extensions/list.dart';
|
import 'package:spotube/extensions/list.dart';
|
||||||
@ -149,10 +150,13 @@ class AudioPlayerNotifier extends Notifier<AudioPlayerState> {
|
|||||||
|
|
||||||
final tracks = queries
|
final tracks = queries
|
||||||
.map(
|
.map(
|
||||||
(query) => state.tracks
|
(query) => state.tracks.firstWhereOrNull(
|
||||||
.firstWhere((element) => element.id == query.id),
|
(element) => element.id == query.id,
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
.nonNulls
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
state = state.copyWith(
|
state = state.copyWith(
|
||||||
tracks: tracks,
|
tracks: tracks,
|
||||||
currentIndex: playlist.index,
|
currentIndex: playlist.index,
|
||||||
@ -265,12 +269,12 @@ class AudioPlayerNotifier extends Notifier<AudioPlayerState> {
|
|||||||
_assertAllowedTracks(tracks);
|
_assertAllowedTracks(tracks);
|
||||||
|
|
||||||
tracks = _blacklist.filter(tracks).toList();
|
tracks = _blacklist.filter(tracks).toList();
|
||||||
state = state.copyWith(
|
|
||||||
tracks: [...state.tracks, ...tracks],
|
|
||||||
);
|
|
||||||
for (final track in tracks) {
|
for (final track in tracks) {
|
||||||
await audioPlayer.addTrack(SpotubeMedia(track));
|
await audioPlayer.addTrack(SpotubeMedia(track));
|
||||||
}
|
}
|
||||||
|
state = state.copyWith(
|
||||||
|
tracks: [...state.tracks, ...tracks],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> removeTrack(String trackId) async {
|
Future<void> removeTrack(String trackId) async {
|
||||||
|
@ -7,7 +7,6 @@ import 'package:dio/dio.dart' as dio_lib;
|
|||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:metadata_god/metadata_god.dart';
|
import 'package:metadata_god/metadata_god.dart';
|
||||||
import 'package:mime/mime.dart';
|
|
||||||
import 'package:path/path.dart';
|
import 'package:path/path.dart';
|
||||||
import 'package:shelf/shelf.dart';
|
import 'package:shelf/shelf.dart';
|
||||||
import 'package:spotube/models/metadata/metadata.dart';
|
import 'package:spotube/models/metadata/metadata.dart';
|
||||||
|
Loading…
Reference in New Issue
Block a user