This commit is contained in:
Forrest 2026-07-29 22:41:38 -04:00
parent 981b4836f9
commit ed910748cb
34 changed files with 2054 additions and 153 deletions

View file

@ -11,8 +11,8 @@ import 'package:just_audio_background/just_audio_background.dart';
import '../subsonic/models.dart';
/// Immutable snapshot of the player, mirroring Ratune's `QueueState` +
/// player-event stream (`ratune-player/src/engine.rs`).
/// Immutable snapshot of the player, mirroring Timbre's `QueueState` +
/// player-event stream (`timbre-player/src/engine.rs`).
class PlaybackState {
const PlaybackState({
this.queue = const [],
@ -212,7 +212,7 @@ class PlaybackController extends StateNotifier<PlaybackState> {
// currentIndexStream fires _notifyCurrent for the started track.
}
/// Insert [song] right after the current track (Ratune's "play next").
/// Insert [song] right after the current track (Timbre's "play next").
/// Falls back to [playSongs] when nothing is playing.
Future<void> playNext(Song song) async {
if (_streamUriFor(song) == null) return;
@ -306,7 +306,7 @@ class PlaybackController extends StateNotifier<PlaybackState> {
}
}
/// Cycle off → all → one → off (Ratune's queue-loop toggle, extended with
/// Cycle off → all → one → off (Timbre's queue-loop toggle, extended with
/// single-track repeat).
Future<void> cycleLoop() async {
final nextMode = switch (state.loop) {