Overview
The miniplayer is Namida’s persistent playback control that stays accessible while browsing your library. It supports advanced features like party mode, parallax effects, and smooth animations that enhance your listening experience.Miniplayer States
The miniplayer has three distinct states with smooth transitions between them:Minimized
Compact bar at the bottom showing basic track info and controls.Animation Value:
0.0 to 1.0The miniplayer uses an
AnimationController with bounds from -0.2 (dismissing) to 2.03 (queue overscroll).Visual Effects
Animating Thumbnail
The album artwork pulses and scales in sync with audio peaks.Thumbnail Animation Settings
Thumbnail Animation Settings
Customize how the artwork responds to music:Scale Multiplier (default: Base scale factor for thumbnail animations.Intensity (default: How much the artwork reacts to audio peaks in expanded view.Intensity - Lyrics (default: Reduced intensity when lyrics are displayed.Intensity - Minimized (default: Subtle animation when miniplayer is collapsed.Inversed AnimationReverse the scaling direction (shrink on peaks instead of grow).
1.0)25)10)10)A thumbnail that animates with the current audio peak - looks cool and adds life to your player!
Party Mode
Create an immersive visual experience with edge breathing effects and dynamic colors.Edge Breathing Effect
Party mode applies an animated glow around the miniplayer edges:- Static Colors: Use the main theme color
- Dynamic Colors: Cycle through all colors extracted from the artwork
Particle Effects
Add floating particles that react to music:Particles speed up with the audio peak, creating a dynamic visual that responds to your music’s energy.
Parallax Effect
Enable depth and motion with parallax scrolling:The parallax effect creates subtle movement of background elements as you interact with the player, adding a sense of depth.Parallax constants:
- Track Info:
1.0xspeed - Side Info:
1.15xspeed
Color Options
Force Track Color
By default, the miniplayer uses the global app theme color. You can force it to always display the current track’s color:How Track Colors Work
How Track Colors Work
When enabled:
- Color is extracted from the currently playing track’s artwork
- Applied exclusively to the miniplayer
- Remains visible even when browsing other content
- Updates when tracks change
- Miniplayer uses the same color as the rest of the app
- Color changes when browsing different albums/artists
- Creates a unified theme throughout
Enable this for an immersive “now playing” experience that’s always visible.
Display Options
Audio Info Display
Show technical audio information in the miniplayer:- Bitrate (kbps)
- Sample rate (Hz)
- Audio format
- Codec information
Waveform Seekbar
Replace the standard progress bar with an audio waveform visualization.Waveform Settings
Configure the waveform display:Higher values = more detail (but more processing)
Lower values = simpler waveform (better performance)
Behavior Settings
Dismissible Miniplayer
Allow swiping down to dismiss the miniplayer and clear the queue:Hide Status Bar
Create an immersive full-screen experience:When enabled, the system status bar (time, battery, etc.) hides when the miniplayer is expanded, giving you more screen space for artwork and controls.Status bar behavior:
- Portrait Mode: Hides when expanded
- Landscape/Widescreen: Always hidden
- Minimized: Always visible
Widescreen Mode
On tablets and desktops, the miniplayer adapts to widescreen layouts.Automatic Widescreen Detection
Layout Adjustment
Miniplayer becomes a sidebar:
- Maximum width: 40% of screen (or up to 400px for very wide screens)
- Always visible (cannot minimize)
- Content area adjusts to remaining space
Widescreen mode provides a desktop-class experience with persistent controls and maximum content visibility.
Performance Considerations
Artwork Compression
- Compressed when minimized or in queue (saves memory)
- Full quality when expanded (better visuals)
Animation Optimization
The miniplayer uses efficient animation techniques:- 60 FPS target: Smooth 500ms transition duration
- Bouncing curves: Custom cubic bezier curves for natural motion
- Lazy updates: Only redraws when animation values change
- Velocity tracking: Predictive animations based on gesture speed
YouTube Miniplayer
When playing YouTube videos, Namida uses a specialized YouTube miniplayer with additional features:Video Preview
Thumbnail preview with play/pause overlay
Quality Badge
Display current video quality (720p, 1080p, etc.)
Channel Info
Show uploader/channel name and subscriber count
Engagement Stats
Display likes, views, and upload date
Access the YouTube miniplayer state via:
Queue Integration
Auto-Scroll to Current Track
When opening the queue view, Namida automatically scrolls to the currently playing track:Queue Scroll Indicator
The arrow icon changes based on queue scroll position:- ↑: Currently playing track is below viewport
- ↓: Currently playing track is above viewport
- ●: Currently playing track is visible
Miniplayer API Reference
snapToExpanded()
Animate miniplayer to full-screen expanded state
snapToMini()
Animate miniplayer to minimized bottom bar
snapToQueue()
Animate miniplayer to queue view
animateMiniplayer()
Manually animate to specific value (0.0 to 2.03)
Visual Effects Summary
Animations
- Animating thumbnail with audio peak sync
- Smooth state transitions with custom curves
- Waveform seekbar visualization
Source Code Reference
Miniplayer implementation:lib/controller/miniplayer_controller.dart: Core miniplayer logic (lines 25-526)lib/controller/settings_controller.dart: Miniplayer settings (lines 159-176)lib/controller/current_color.dart: Color and party mode effects (lines 82-107)