Skip to content

cococry/lyssa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lyssa

Overview

Lyssa is a native music player designed to be an aestethic addition for every desktop. The player is as easy and suckless as possible to use and to work with. The application frontend is made to be modern and aestethic. The goal of this project is to make listening to music amazing, visually and audibly.

Lyssa has the capability to easily download music from various streaming services. Under the hood, yt-dlp is used to download the music files.

The Lyssa application is written in C++ 17. It uses the Leif Library, a GUI Library that i've written in C, for the entire User Interface of the Application. For windowing, the GLFW Library is used. Additionally, Lyssa depends on taglib for handling ID3 Tags for Music Files. For Audio, Lyssa uses the miniaudio.h library.

Lyssa Showcase

Dependencies

Build Dependecies

Dependency Reason of Usage
leif Creating the entire UI Frontend
taglib Reading metadata of ID3 tags
miniaudio Audio output of the player
GLFW Handling windowing, input etc.

Runtime Dependencies

Dependency Reason of Usage
yt-dlp Downloading playlists
jq Parsing JSON of playlists
ffmpeg yt-dlp needs ffmpeg for extracting images
exiftool Retrieving metadata of sound files

As lyssa uses the leif library which also depends on a few things there are some more leif dependecies:

Leif Dependencies

Dependency Reason of Usage
glad Loading OpenGL functions
stb_image Loading image files into memory
stb_image_resize2 Resizing images
stb_truetype Loading font glyphs from font files
cglm Linear Algebra Math
GLFW Handling windowing, input etc.
libclipboard Copy + Paste for input fields

Features

  • Creating multiple playlists
  • Playing mp3 music files
  • Playlist controls
  • Adjusting UI for different window resoultions
  • Deleting Playlists
  • Deleting files in Playlist
  • Loading files into playlists dynamically
  • Downloading playlists from streaming services
  • Playlist Shuffle Mode
  • Replay mode for tracks
  • Fullscreened Tracks
  • Searching Playlists for Files
  • Moving files in playlists

Build Instructions

Notes

  • Lyssa is currently only able to build (easily) on linux system at the moment

Installation

Install dependencies:

Arch (paru):

paru -S make gcc glfw cglm taglib yt-dlp libclipboard ffmpeg jq perl-image-exiftool

Debian

sudo apt install make gcc libglfw3 libglfw3-dev libcglm-dev libtag1-dev yt-dlp jq ffmpeg libimage-exiftool-perl

Build the application

make rebuild install

Running the Application

lyssa 

Contributing

You can contribute to Lyssa by:

About

Aestethic, minimal, suckless music player

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages