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.
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. |
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:
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 |
- 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
- Lyssa is currently only able to build (easily) on linux system at the moment
git clone https://github.com/cococry/lyssa
cd lyssa
./install.sh
This will install & build all the depdencies before installing lyssa onto your system.
Uninstalling
sudo make uninstall
lyssa
You can contribute to Lyssa by: