A real-time Spotify playback monitor that displays your currently playing track information in a clean console interface.
- π΅ Real-time track monitoring
- π€ Secure Spotify authentication
- π¨ Clean console interface
- π Automatic playback status updates
- β‘ Low resource usage
- π Graceful shutdown handling
- Windows operating system
- Visual Studio 2019 or later
- Spotify Premium Account
- Spotify Developer Account
- Clone the repository:
git clone https://github.com/yourusername/spotify-rpc.git
cd spotify-rpc-
Create a Spotify Application:
- Go to the Spotify Developer Dashboard
- Create a new application
- Add
http://localhost:8888/callbackto the Redirect URIs - Note down your Client ID and Client Secret
-
Configure the application:
- Open
RPC/spotify_auth.h - Replace
YOUR_CLIENT_IDwith your Spotify application's Client ID - Replace
YOUR_CLIENT_SECRETwith your Spotify application's Client Secret
- Open
-
Build the project:
- Open the solution in Visual Studio
- Select Release configuration
- Build the solution (Ctrl + Shift + B)
- Run the compiled executable
- First-time usage will open your browser for Spotify authentication
- Grant the requested permissions
- The console will display your currently playing track information
- Press Ctrl+C to exit cleanly
- Displays current track name
- Shows artist information
- Displays album name
- Updates playback status
Spotify Now Playing Monitor
-------------------------
Track: Song Name
Artist: Artist Name
Album: Album Name
Status: Playing
- Secure OAuth2 authentication
- Automatic token refresh
- Persistent token storage
- Safe credential handling
- Windows HTTP API (winhttp)
- Windows Sockets API (ws2_32)
- nlohmann/json for JSON parsing
- Visual Studio 2019 or later
- C++20 compatible compiler
- Windows SDK 10.0 or later
- Open
Spotify RPC.slnin Visual Studio - Select your desired configuration (Debug/Release)
- Build the solution
This project is licensed under the MIT License - see the LICENSE file for details.
- Spotify Web API for providing the API
- nlohmann/json for JSON parsing capabilities
If you encounter any issues or have questions, please open an issue on GitHub.