mirror of
https://github.com/talwat/lowfi
synced 2024-12-26 19:21:54 +00:00
99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# lowfi
|
|
|
|
lowfi is a tiny rust app that serves a single purpose: play lofi.
|
|
It'll do this as simply as it can: no albums, no ads, just lofi.
|
|
|
|
![example image](media/example1.png)
|
|
|
|
## Disclaimer
|
|
|
|
**All** of the audio files played in lowfi are from [Lofi Girl's](https://lofigirl.com/) website,
|
|
under their [licensing guidelines](https://form.lofigirl.com/CommercialLicense).
|
|
|
|
If god forbid you're planning to use this in a commercial setting, please
|
|
follow their rules.
|
|
|
|
## Why?
|
|
|
|
I really hate modern music platforms, and I wanted a small, "suckless"
|
|
app that would literally just play lofi without video so I could use it
|
|
whenever.
|
|
|
|
I also wanted it to be fairly resiliant to inconsistent networks,
|
|
so it buffers 5 whole songs at a time instead of parts of the same song.
|
|
|
|
Although, lowfi is yet to be properly tested in difficult conditions,
|
|
so don't rely on it too much until I do that. See [Scraping](#scraping) if
|
|
you're interested in downloading the tracks. Beware, there's a lot of them.
|
|
|
|
## Installing
|
|
|
|
> [!NOTE]
|
|
>
|
|
> If you're interested in maintaining a package for `lowfi`
|
|
> on package managers such as homebrew and the like, open an issue.
|
|
|
|
### Dependencies
|
|
|
|
You'll need Rust 1.74.0+.
|
|
|
|
On MacOS & Windows, no extra dependencies are needed.
|
|
|
|
On Linux, you'll also need alsa and it's headers (`alsa-lib` on Arch,
|
|
`libasound2-dev` on Ubuntu). Make sure to also install `pulseaudio-alsa`
|
|
if you're using pulseaudio.
|
|
|
|
### Cargo
|
|
|
|
The recommended installation method is to use cargo:
|
|
|
|
```sh
|
|
cargo install lowfi
|
|
|
|
# If you want MPRIS support.
|
|
cargo install lowfi --features mpris
|
|
```
|
|
|
|
and making sure `$HOME/.cargo/bin` is added to `$PATH`.
|
|
|
|
### AUR
|
|
|
|
If you're on Arch, you can also use the AUR:
|
|
|
|
```sh
|
|
yay -S lowfi
|
|
```
|
|
|
|
### Manual
|
|
|
|
```sh
|
|
git clone https://github.com/talwat/lowfi
|
|
cd lowfi
|
|
|
|
cargo build --release
|
|
./target/release/lowfi
|
|
```
|
|
|
|
## Usage
|
|
|
|
`lowfi`
|
|
|
|
Yeah, that's it. Controls are documented in the app.
|
|
|
|
### Extra Flags
|
|
|
|
If you have something you'd like to tweak about lowfi, you can run `lowfi help`
|
|
to view the available options.
|
|
|
|
### Scraping
|
|
|
|
lowfi also has a `scrape` command which is usually not relevant, but
|
|
if you're trying to download some files from Lofi Girls' website,
|
|
it can be useful.
|
|
|
|
An example of scrape is as follows,
|
|
|
|
`lowfi scrape --extension zip --include-full`
|
|
|
|
where more information can be found by running `lowfi help scrape`.
|