PitchHut logo
rs-pug
A terminal music player with powerful search and playback features.
Pitch

rs-pug is a terminal-based music player that combines the power of mpv and yt-dlp for seamless music streaming. With a focus on simplicity and efficiency, it offers YouTube and SoundCloud searching, smart queuing, local playback, and customizable features—all without the distractions of a browser or ads.

Description

rs-pug is a terminal-based music player that seamlessly combines the power of mpv and yt-dlp with a user-friendly terminal UI powered by ratatui. It empowers users to search, queue, and listen to music without the clutter of advertisements or the need for a web browser.

Key Features

  • YouTube & SoundCloud Integration: Easily search and queue tracks from both YouTube and SoundCloud right within the terminal interface.
  • Flexible Search Sources: Switch between YouTube and SoundCloud effortlessly through the Options tab or command line interface.
  • Album Search Support: Access your favorite albums conveniently from the dedicated Albums tab.
  • Smart Queue Functionality: This feature identifies and plays similar tracks automatically, ensuring continuous music playback.
  • Local Files Playback: Enjoy music from local files, complete with metadata support for artists, albums, and titles.
  • Organized Local View: Navigate through your music library in either a flat or organized structure (Artist -> Album -> Song).
  • Playlist Management: Create, delete, and manage playlists for personalized listening experiences.
  • Advanced Audio Control: Utilize a 10-band equalizer along with built-in and custom presets for tailored sound.
  • Dynamic Audio Visualizer: Engage with a visually stimulating audio representation as music plays.
  • History Tracking: All recently played tracks are recorded in an SQLite database for easy access.
  • Import and Export Playlists: Manage playlists directly from the context menu for hassle-free organization.
  • Custom Theme Options: Choose from various built-in themes or create custom JSON themes to match personal aesthetics.
  • Mouse Support: Navigate and interact with the interface using mouse controls for enhanced ease of use.
  • Extendable Lua Plugin System: Utilize Lua scripting to develop and integrate custom plugins, extending the functionality of the player.
  • MPRIS Support: Integrate media keys and other functionalities through playerctl for interactive control.
  • High Responsiveness: An asynchronous core ensures a fluid and responsive UI, even during extensive searches and library scans.

System Requirements

Mandatory Dependencies:

  • mpv
  • yt-dlp

Optional Enhancements:

  • mpv-mpris (for media key integration and support via playerctl)

Customization Options

Themes

Easily customize the application's appearance by creating JSON files for themes located in ~/.config/rs-pug/themes/. A variety of built-in themes are also available, including dark, light, nord, gruvbox, and mono.

Equalizer Presets

Personalize audio settings by managing EQ presets stored as JSON files within ~/.config/rs-pug/eqpresets/.

Playlist Management

Import and export playlists conveniently through JSON files. The application supports natural sorting and metadata extraction from local music files, stored in a SQLite database at ~/.config/rs-pug/pug.db.

Lua Plugin Support

Enhance functionality by integrating Lua scripts stored in ~/.config/rs-pug/plugins/. Custom scripts can react to key presses, search queries, and playback events for a tailored experience.

Community and Support

For updates, discussions, and more, engage with the community on the official Discord server: RS-PUG Discord.

Explore additional resources, plugins, themes, and EQ presets available at all-rspug repository.

Note: The configuration file is located at ~/.config/rs-pug/config.toml, allowing for a variety of settings to be customized.

**Join a fluid, ad-free music experience with rs-pug, the versatile terminal music player tailored for enthusiasts.

0 comments

No comments yet.

Sign in to be the first to comment.