-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requesttuiTerminal UI implementationTerminal UI implementationv0.4.0Version 0.4.0 milestone issuesVersion 0.4.0 milestone issues
Milestone
Description
Overview
Implement the Now Playing view that displays current track information with real-time updates and playback controls.
Scope
Create an immersive Now Playing experience that shows track details, progress, and provides intuitive playback control.
Implementation Requirements
Now Playing Display (presentation/tui/views/nowplaying.go)
- Current track information (title, artist, album, artwork placeholder)
- Playback progress bar with time indicators
- Volume indicator and control
- Playback state visualization (playing, paused, stopped)
- Shuffle and repeat mode indicators
- Queue position and total tracks
Real-time Updates
- Live progress bar updates during playback
- Track change notifications and transitions
- Volume change reflection
- Player state change visualization
- Queue updates when tracks are added/removed
Interactive Controls
- Spacebar: play/pause toggle
- Arrow keys: next/previous track, volume control
- Number keys: seek to percentage
- Letter keys: shuffle (s), repeat (r) toggle
- Enter: open current track details
- Tab: navigate to other views
Visual Design
- Large, prominent track title and artist
- Progress bar with elapsed/remaining time
- Visual indicators for player state
- Color-coded volume and progress elements
- Smooth animations for state changes
- Album artwork placeholder (text-based representation)
Technical Requirements
- Real-time Updates - Sub-second refresh for progress tracking
- Smooth Animation - Fluid progress bar and state transitions
- Responsive Layout - Adapts to terminal size gracefully
- Efficient Rendering - Minimal CPU usage during playback
- State Synchronization - Consistent with actual player state
User Experience
- Intuitive keyboard controls matching common media players
- Clear visual feedback for all actions
- Smooth, non-jarring updates
- Helpful status messages and notifications
- Quick access to frequently used functions
Success Criteria
- Now Playing view displays all track information correctly
- Real-time progress updates work smoothly
- All keyboard controls are responsive
- Visual design is appealing and functional
- Performance is efficient during long playback
- State synchronization is reliable
- View integrates well with navigation system
- Error states are handled gracefully
Integration Points
- TUI foundation for navigation and state management
- gRPC client for real-time player state updates
- Daemon communication for playback controls
- Theme system for consistent styling
Testing Strategy
- Unit tests for view logic and state management
- Integration tests with live playback
- Visual testing on different terminal sizes
- Performance testing during extended playback
- User experience testing for control responsiveness
- Error scenario testing (track unavailable, etc.)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesttuiTerminal UI implementationTerminal UI implementationv0.4.0Version 0.4.0 milestone issuesVersion 0.4.0 milestone issues