https://github.com/nerixyz/current-song2
Display the currently playing song/audio.
https://github.com/nerixyz/current-song2
hacktoberfest rust typescript
Last synced: about 1 year ago
JSON representation
Display the currently playing song/audio.
- Host: GitHub
- URL: https://github.com/nerixyz/current-song2
- Owner: Nerixyz
- Created: 2021-08-20T10:02:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T05:43:02.000Z (about 1 year ago)
- Last Synced: 2025-04-21T06:39:16.916Z (about 1 year ago)
- Topics: hacktoberfest, rust, typescript
- Language: Rust
- Homepage: https://currentsong.nerixyz.de
- Size: 2.3 MB
- Stars: 95
- Watchers: 3
- Forks: 7
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Current Song 2

The documentation is located at [currentsong.nerixyz.de](https://currentsong.nerixyz.de).
This project is a rewrite of the [**CurrentSong Overlay**](https://github.com/Nerixyz/current-song-overlay). The core is
written in Rust now. Both Windows and Unix platforms are supported. On Windows, [`GlobalSystemMediaTransportControls`](https://docs.microsoft.com/uwp/api/windows.media.control) is used and on Unix, D-Bus is used.
The goal of the project is to create a **simple yet powerful** overlay that displays the currently playing song. There
are a few unique features separating this project:
- **Near zero latency** ⏱ Current Song 2 doesn't poll applications or APIs for updates.
- **Displaying Progress** 💯 Progress is displayed where available.
- **Display Album Art** 🖼
- **Customizable** 🔧 The overlay is customizable through CSS (`theme.css`) and JavaScript (`user.js`), see [Customization]. Modules and the server can be configured in
a `config.toml` file, see [Configuration].
- [Setup](https://currentsong.nerixyz.de/#getting-started)
- [Configuration]
- [Customization]
- [Building](https://currentsong.nerixyz.de/Building)
## Architecture
```mermaid
graph TD;
gsmtc[GSMTC
Windows]
dbus[MPRIS D-Bus
Unix]
ext[Browser Extension]
cso2[CurrentSong2]
ext-->cso2
Browser-->dbus
Spotify-->dbus
VLC-->dbus
MPV-->dbus
Browser-- limited
playback progress -->gsmtc
Browser-- playback progress -->ext
Spotify-->gsmtc
gsmtc-->cso2
dbus-->cso2
cso2-->Overlay
```
## Planned Features
See more in the [projects tab](https://github.com/Nerixyz/current-song2/projects/1).
[Customization]: https://currentsong.nerixyz.de/Customization
[Configuration]: https://currentsong.nerixyz.de/Configuration