dorkhub

resonance

Intuitive GTK4/LibAdwaita music player

nate-xyz
Rust42929 forksGPL-3.0updated 2 years ago
visit the demogit clone https://github.com/nate-xyz/resonance.gitnate-xyz/resonance

Resonance

Harmonize your listening experience with Resonance.

Resonance is an intuitive music player application written in Rust & Python, with a clean user interface built using GTK4 / Libadwaita. Resonance lets you effortlessly manage and play your music collection, with support for all the common music file formats such as MP3, FLAC, AAC, and many more.

⚠️ RESONANCE IS EARLY STAGE ALPHA RELEASE SOFTWARE (THERE ARE BUGS, PLEASE OPEN ISSUES) ⚠️



Features:

  • UI updates to reflect currently playing track's cover art colors
  • Playlist creation & modification
  • Control the player through MPRIS
  • Discord Rich Presence integration
  • Last.fm scrobbling
  • Import tags with the Mutagen library
  • No tag editing (intentionally out of scope to keep Resonance a music player only)



Flatpak

You can install stable builds of Resonance from Flathub by using this command:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.nate_xyz.Resonance

Building from source

To build from source you need the gstreamer, gtk4 and libadwaita development headers. Additionally you'll need meson, ninja and git. You'll also need those python runtime libraries: mutagen, tqdm and loguru.

On a recent enough Ubuntu or Debian unstable you can do the following:

sudo apt install build-essential rustc meson ninja-build git python3-loguru python3-mutagen python3-tqdm libgtk-4-dev libadwaita-1-dev \
libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
git clone https://github.com/nate-xyz/resonance && cd resonance
ninja -C build && sudo ninja -C build install

To uninstall run sudo ninja -C build uninstall.

Arch Linux

Initial script provided for 0.1.3.

Available in the AUR.

Or manually download PKGBUILD file and run:

$ makepkg -sic

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7

more like this

anne-key

Firmware for Anne Pro Keyboard written in Rust

Rust572

TachiSnap

TachiSnap — Pixel Snapper for animation pixel artists. Rust + WebAssembly client-side tool for cleaning up AI-generated…

HTML50

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

bit_gossip

Pathfinding library for calculating all node pairs' shortest paths in an unweighted undirected graph.

Rust50

search

search projects, people, and tags