Music player

Revisited: RMuP – terminal-based music player

Rusty Music Player (RMuP) is a TUI music player.

When we reviewed RMuP back in January 2024 we lamented that this music player was missing gapless playback1.

The omission of gapless playback was disappointing for a few reasons:

  • Software developers often embark on a music player making choices about which libraries to use. Sometimes these choices rule out important functionality being added in the future or require substantial rewriting of the existing code. But in this case RMuP’s developer made a good choice in using Symphonia for audio decoding. Symphonia is a pure Rust audio decoding and media demuxing library, and supports gapless playback.
  • The developer indicated that they didn’t have time to add gapless playback and flagged it as a low priority issue. In our eyes, a music player without gapless playback is almost useless.

To our complete surprise, the developer has now added gapless playback.

The installation process hasn’t changed from when we last reviewed the software. Build the software with the command:

$ cargo install --git https://gitlab.com/jcheatum/rmup.git

RMuP installation

Here’s an image of RMuP in action.

RMuP in action

Gapless playback is implemented well. Excellent!

What else does RMuP offer?

  • Playlist support.
  • Support for MPRIS media control.
  • vim-style command line which can be accessed by pressing :.
  • Library is stored in .m3u8 file.
  • Better support for light-mode terminals.
  • When a directory is added to your library, files that are already present are ignored. This is important as it eliminates duplicate entries.

Summary

We’ll delve more into RMuP now that gapless playback has been added. For the time being, we’d note that ps_mem reports that RMuP uses a mere 13.6MB of RAM. Frugal with system resources, it might be all you need if you’re looking for a lightweight terminal-based music player.

For other terminal-based music players, check out this roundup.

1 The term gapless playback sometimes causes confusion. Gapless playback means tracks flow into the next song without pause. This allows seamless transitions from track to track. This is so important for albums that were designed to have the tracks run together. It’s not just classical music that so often mandates gapless playback. Listening to electronic music, concept albums, and progressive rock is often ruined when artificial gaps are inserted between tracks.

Website: gitlab.com/jcheatum/rmup
Support:
Developer: Jadelynn Cheatum
License: Mozilla Public License 2.0

RMuP is written in Rust. Learn Rust with our recommended free books and free tutorials.

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our FAQ before making a comment.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments