Gets metadata from spotify using a spicetify extension using websockets
I made this mainly for my audio visualizer to have song info display along with it since Windows doesn't offer anyway to do this, on Linux I could use MPRIS, for macOS no idea I don't use it
This will work for all desktop platforms (Windows, Linux, macOS)
Examples can be found in the examples directory
```rust use spotify_info::{SpotifyEvent, TrackListener};
async fn main() { // Create listener let listener = TrackListener::bind_default().await.unwrap();
// Listen for incoming connections, if spotify closes, the loop keeps listening while let Ok(mut connection) = listener.get_connection().await { while let Some(Ok(event)) = connection.next().await { match event { // Gets called when user changed track SpotifyEvent::TrackChanged(info) => println!("Changed track to {}", info.title), // Gets called when user changes state (if song is playing, paused or stopped) SpotifyEvent::StateChanged(state) => println!("Changed state to {}", state), // Gets called on a set interval, wont get called if player is paused or stopped, // Value is a percentage of the position between 0 and 1 SpotifyEvent::ProgressChanged(time) => println!("Changed progress to {}", time) } } } } ```
toml
spotify_info = "0.5"
Run script to install, uninstall by running it again
Open PowerShell
(Win + S) type powershell and press enter and run this command
sh
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/Ricky12Awesome/spotify_info/main/extension/install_extension.ps1" | Invoke-Expression
Open Terminal
(usually Ctrl + Alt + T on linux) and run this command
sh
curl https://raw.githubusercontent.com/Ricky12Awesome/spotify_info/main/extension/install_extension.sh | sh
You can get the extension from here (right-click -> save as)
Place that file
to %userprofile%\.spicetify\Extensions\
on Windows
or ~/.config/spicetify/Extensions
on Linux / macOS
Run command
spicetify config extensions spotify_info.js && spicetify apply
from the terminal to install the plugin
Run command
spicetify config extensions spotify_info.js- && spicetify apply
from the terminal to uninstall the plugin
More details about install extensions https://spicetify.app/docs/getting-started/extensions