v2.48.1 — Repeat-Modus (Aus/Titel/Playlist)
## PlayerService
- Enum Wiederholmodus { aus, titel, playlist } + Getter/Setter
- naechstes(): titel → gleicher Song von vorn (seek 0 + play)
- naechsterIndex(): zentrale Berechnung des nächsten Index
- playlist: nach letztem Song wieder von vorne (auch bei Shuffle: neu mischen)
- aus: Ende der Warteschlange stoppt
- Auto-Next (ProcessingState.completed) läuft über naechstes() → Repeat wirkt auch automatisch
## MiniPlayer
- Repeat-Icon mit 3 Zuständen (repeat / repeat_one), rot wenn aktiv, Wechsel bei Tipp
Keine neuen Packages, flutter analyze 0 Issues, Tests 4/4
This commit is contained in:
@@ -107,6 +107,8 @@ class _MiniPlayerState extends State<MiniPlayer> {
|
||||
),
|
||||
// Shuffle
|
||||
_shuffleBtn(),
|
||||
// Repeat (3 Zustände)
|
||||
_repeatBtn(),
|
||||
// Steuerung
|
||||
_btn(Icons.skip_previous, _player.vorheriges),
|
||||
_playBtn(),
|
||||
@@ -142,6 +144,26 @@ class _MiniPlayerState extends State<MiniPlayer> {
|
||||
);
|
||||
}
|
||||
|
||||
/// Repeat-Icon — 3 Zustände (aus → Titel → Playlist), Wechsel bei Tipp
|
||||
Widget _repeatBtn() {
|
||||
final modus = _player.wiederholmodus;
|
||||
final (icon, farbe) = switch (modus) {
|
||||
Wiederholmodus.aus => (Icons.repeat, Colors.white),
|
||||
Wiederholmodus.titel => (Icons.repeat_one, MeloTheme.rot),
|
||||
Wiederholmodus.playlist => (Icons.repeat, MeloTheme.rot),
|
||||
};
|
||||
return _btn(icon, _naechsterWiederholmodus, farbe: farbe);
|
||||
}
|
||||
|
||||
void _naechsterWiederholmodus() {
|
||||
final modus = _player.wiederholmodus;
|
||||
_player.setWiederholmodus(switch (modus) {
|
||||
Wiederholmodus.aus => Wiederholmodus.titel,
|
||||
Wiederholmodus.titel => Wiederholmodus.playlist,
|
||||
Wiederholmodus.playlist => Wiederholmodus.aus,
|
||||
});
|
||||
}
|
||||
|
||||
Widget _btn(IconData icon, VoidCallback onTap, {Color farbe = Colors.white}) {
|
||||
return Material(
|
||||
color: Colors.transparent,
|
||||
|
||||
Reference in New Issue
Block a user