mucke/lib/domain/repositories/audio_repository.dart

27 lines
1 KiB
Dart
Raw Normal View History

2020-04-06 22:33:26 +02:00
import 'package:dartz/dartz.dart';
import '../../core/error/failures.dart';
2020-04-10 20:12:26 +02:00
import '../entities/playback_state.dart';
2020-08-24 16:43:22 +02:00
import '../entities/shuffle_mode.dart';
2020-04-06 22:33:26 +02:00
import '../entities/song.dart';
abstract class AudioRepository {
2020-04-10 20:12:26 +02:00
Stream<Song> get currentSongStream;
Stream<PlaybackState> get playbackStateStream;
2020-07-12 18:25:34 +02:00
Stream<List<Song>> get queueStream;
Stream<int> get queueIndexStream;
2020-04-11 20:23:02 +02:00
Stream<int> get currentPositionStream;
2020-08-24 16:43:22 +02:00
Stream<ShuffleMode> get shuffleModeStream;
2020-04-09 17:50:28 +02:00
2020-04-06 22:33:26 +02:00
Future<Either<Failure, void>> playSong(int index, List<Song> songList);
2020-04-10 20:12:26 +02:00
Future<Either<Failure, void>> play();
Future<Either<Failure, void>> pause();
2020-07-12 18:25:34 +02:00
Future<Either<Failure, void>> skipToNext();
Future<Either<Failure, void>> skipToPrevious();
2020-08-24 16:43:22 +02:00
Future<Either<Failure, void>> setShuffleMode(ShuffleMode shuffleMode);
2020-08-25 16:23:52 +02:00
Future<Either<Failure, void>> shuffleAll();
2020-10-25 11:54:11 +01:00
Future<Either<Failure, void>> addToQueue(Song song);
Future<Either<Failure, void>> moveQueueItem(int oldIndex, int newIndex);
2020-12-08 20:54:41 +01:00
Future<Either<Failure, void>> removeQueueIndex(int index);
2020-08-24 16:43:22 +02:00
}