This is a Flutter music player application that allows users to play, pause, and navigate between songs with a modern visual interface.
Audio Playback: The app plays three predefined songs stored as local assets using the just_audio library.
Playback Controls: Users can play/pause, skip forward/backward, enable shuffle mode, and toggle between repeat modes (off, repeat one, repeat all).
Visual Interface: Features a swipeable album cover carousel that syncs with the current song, an interactive progress bar for seeking within songs, and a blurred background displaying the current album cover.
State Management: Uses Riverpod with the StateNotifierProvider pattern to handle playback state reactively.
Audio Provider: The AudioPlayerNotifier manages all playback logic by listening to multiple player streams (position, duration, current index, shuffle mode, repeat mode) and updating immutable state.
Data Flow: Implements unidirectional flow where user interactions call provider methods, which control the audio player, and changes propagate reactively to the UI.