Skip to content
This repository has been archived by the owner on Nov 9, 2024. It is now read-only.
/ xp Public archive

GUI and TUI music player with support for multiple streaming services.

License

Notifications You must be signed in to change notification settings

Ryhon0/xp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xp

GUI and TUI music player with support for multiple streaming services.

Features

  • Gtk4 GUI and TUI
  • Downloading music from multiple streaming services. See table below.
  • Partial MPRIS implementation (play/pause, seek, quit, see ddbus#60)

Supported services

Service Notes
Local files Metadata provided by taglib_c
YouTube
Spotify Audio is downloaded with youtube-dl's ytsearch: feature
SoundCloud

Building and installing

Installing

xp is available on the AUR, to install it, use the following command:

yay -S xp-git yt-dlp yt-dlp-drop-in

To run it, run the following command in the terminal:

# For terminal interface
xp tui

# For gtk4 interface
xp

For other platforms, refer to the build instructions below.

Building

The following dependencies are required for building:

  • DUB and D compiler (prefarably LDC2)

The following runtime dependencies are required:

  • SDL2_mixer
  • gtk4 and libadwaita
  • yt-dlp/youtube-dl
  • ffmpeg or avconv
  • taglib (taglib_c)
  • dbus
  • sqlite3
  • modest

Commands to install these packages for select platforms:

# Arch Linux

# Build dependencies
sudo pacman -S dub ldc
# Runtime dependencies
sudo pacman -S liblphobos dbus sdl2_mixer gtk4 libadwaita youtube-dl ffmpeg taglib dbus sqlite3 modest

Building the program:

git clone https://github.com/Ryhon0/xp
cd xp
dub build -b release
strip xp

About

GUI and TUI music player with support for multiple streaming services.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages