[1.2.1] - Sep 19, 2025
π΅ InfoPanel.Spotify Plugin v1.2.1 Release
π What's New in v1.2.1
β¨ Playback State Sensor
- New PluginSensor: Added real-time playback state monitoring with state values:
0.0= Not Playing (no track loaded or error state)1.0= Paused (track loaded but playback paused)2.0= Playing (track actively playing)
π§ Technical Implementation
- Added
_playbackStatesensor with ID"playback-state"and display name"Playback State" - Integrated state updates in
OnPlaybackUpdated()method to reflect current playback conditions - Added state handling in error scenarios through
SetDefaultValues()method - Maintains consistency with the plugin's event-driven architecture
π― What's New in v1.2.0
π οΈ Custom Display Messages
Added new INI configuration options for personalized display:
New Configuration Options:
NoTrackMessage: Customize what displays when no track is loaded (default:"No music playing")PausedMessage: Control paused state display:- Empty (default): Keep actual track info visible when paused
- Custom text: Show personalized paused message (e.g.,
"βΈ Paused")
NoTrackArtistMessage: Customize artist field when no track/paused with custom message (default:"-")
Configuration Example:
[Spotify Plugin]
ClientID=your-spotify-client-id-here
MaxDisplayLength=25
NoTrackMessage=βͺ Spotify idle
PausedMessage=
NoTrackArtistMessage=-
ForceInvalidGrant=falseCreative Examples:
# Minimalist approach
NoTrackMessage=Ready to play
PausedMessage=
NoTrackArtistMessage=
# Descriptive messages
NoTrackMessage=No music playing
PausedMessage=βΈ Music paused
NoTrackArtistMessage=No artist
# Themed approach
NoTrackMessage=βͺ Spotify idle
PausedMessage=π΅ On hold
NoTrackArtistMessage=βͺ Idleπ§ Technical Enhancements
Enhanced Data Model
- Improved PlaybackInfo: Added
HasTrackfield to distinguish between paused tracks vs. no track loaded - Smart State Tracking: Added
_lastKnownTracktracking inSpotifyPlaybackServiceto maintain track information across state changes
Robust Configuration Management
- Backward Compatibility: Existing installations automatically get new default values
- Automatic Migration: Enhanced INI file loading with automatic addition of missing configuration keys
- Safe Defaults: Plugin creates sensible defaults for new configuration options
Service Layer Improvements
- Enhanced Pause Detection: Updated logic to preserve track metadata when
IsPlayingis false butHasTrackis true - Improved UI Logic: Modified
OnPlaybackUpdated()to handle different playback states appropriately - Rate Limiting Compliance: Maintains the existing 180 req/min, 10 req/sec rate limiting strategy
π Installation & Upgrade
New Installation
- Download
SpotifyPlugin-v1.2.1.zipfrom the release assets - Extract to your InfoPanel plugins directory
- Configure your Spotify Client ID in the generated INI file
- Authorize with Spotify using the plugin button
Upgrading from Previous Versions
- Automatic Migration: All new configuration options will be added automatically
- Backward Compatible: Existing setups continue working with enhanced features
- No Manual Configuration Required: New features use sensible defaults
π Bug Fixes & Improvements
v1.2.1 Fixes
- Enhanced error state handling for playback sensor
- Improved sensor integration with InfoPanel's UI system
v1.2.0 Fixes
- Resolved artist field showing "0" when no track playing by implementing smart default handling
- Fixed UI field consistency across all playback states
- Enhanced configuration file robustness
π Migration Notes
From v1.1.x to v1.2.x
- New INI options will be automatically added on first run
- Existing behavior is preserved - paused tracks now show more information
- Playback state sensor provides new automation possibilities
Configuration File Changes
Your existing InfoPanel.Spotify.dll.ini will be automatically updated with:
NoTrackMessage=No music playing
PausedMessage=
NoTrackArtistMessage=-π€ Compatibility
- InfoPanel: Compatible with current InfoPanel plugin system
- Spotify API: Uses SpotifyAPI.Web v7.2.1 with PKCE authentication
- .NET: Requires .NET 8.0 Windows runtime
- Spotify Account: Requires Spotify Premium for playback control features
What's Changed
Full Changelog: 1.1.1...1.2.1