Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
nots1dd authored Jun 30, 2024
1 parent f7b0652 commit a4805fd
Showing 1 changed file with 44 additions and 22 deletions.
66 changes: 44 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,63 @@
# LiteMus - Light Music Player written in C++
# LiteMus - Light Music Player

## Fast and Interactive music player that uses SFML, ncurses, nlohmann json libraries
A fast and interactive music player built with SFML, ncurses, and nlohmann json libraries in C++.

### FEATURES:
## Features

1. Insanely fast sorting and caching system thanks to Inode data structure of filesystem and C++ libraries (lmus_cache.h)
2. Ncurses library for making the beautiful TUI
3. SFML for the audio API for smooth audio quality and FEATURES
4. Basic song controls are implemented (play, pause, seek forward/backward, next song , prev song)
### Insanely Fast

![litemusreadme1](https://github.com/nots1dd/Litemus/assets/140317709/c270df7d-af84-4cf9-a0b7-b475f27a2081)
![litemusreadme2](https://github.com/nots1dd/Litemus/assets/140317709/56a5010b-d71e-4a4a-ac27-0ec880970052)
* Insanely fast sorting and caching system thanks to Inode data structure of filesystem and C++ libraries (lmus_cache.h)

### Beautiful TUI

* Ncurses library for making the beautiful TUI

### Smooth Audio

* SFML for the audio API for smooth audio quality and features

### Basic Song Controls

### BUILD:
* Basic song controls are implemented (play, pause, seek forward/backward, next song, prev song)

#### NOTE: This has only been tried and tested on Arch Linux 6.9 kernel (x86-64)
## Demo

-> Clone this repository `https://github.com/nots1dd/Litemus.git`
[![Demo Video](https://github.com/nots1dd/Litemus/assets/140317709/cce9fc82-14f5-4983-bfa8-a5b714d20910)](https://github.com/nots1dd/Litemus/assets/140317709/cce9fc82-14f5-4983-bfa8-a5b714d20910)

-> Install the required C++ libraries `ncurses`, `SFML`, `nlohmann-json`
![litemusreadme1](https://github.com/nots1dd/Litemus/assets/140317709/c270df7d-af84-4cf9-a0b7-b475f27a2081)
![litemusreadme2](https://github.com/nots1dd/Litemus/assets/140317709/56a5010b-d71e-4a4a-ac27-0ec880970052)

## Build

-> Then run `cmake -S .-B build/`
### Note:

-> Finally run `cmake --build build/`
This has only been tried and tested on Arch Linux 6.9 kernel (x86-64)

### Steps:

1. Clone this repository: `https://github.com/nots1dd/Litemus.git`
2. Install the required C++ libraries: `ncurses`, `SFML`, `nlohmann-json`
3. Run `cmake -S . -B build/`
4. Run `cmake --build build/`

This will generate a `./build/Litemus` executable. Run it to get the Litemus experience!

#### CAUTION: Running the executable might not work as there are some directories that are HARDCODED in this project. Change them to as you see fit in order for it to work. Will come up with a clean way of handling this issue in the near future.
> **Important Note**:
>
> Change the `songsDirectory` variable in `litemus.cpp` in order for the project to work for you.
>
> A fix for this is coming very soon.
### INSTALLATION:
## Installation

There is currently no means of installing this on any Linux distro other than building it from source.

-> As such, if there are any issues with building Litemus from this repository in any distro, feel free to care an issue.
If you encounter any issues with building Litemus from this repository in any distro, feel free to create an issue.

## Future

### FUTURE:
1. Parsing of the cached information for song display and lyrics
2. CMUS like two window system (left for artists, right for their songs sorted by album)
3. Multiple windows like song display, lyrics display and litemus session details (maybe even an audio visualizer)
- [ ] Have clean windows for showing session details, lyrics view
- [ ] Possibly have an audio visualizer (text based) integrated
- [ ] Make the code more modular and easy to read, modify
- [ ] Add other audio formats (.wav, .flac)
- [ ] Have custom keybinds

0 comments on commit a4805fd

Please sign in to comment.