56 Commits

Author SHA1 Message Date
Tal
d60dc362ca feat: add percent loading indicator
chore: switch from inflector to convert case
chore: tweak timeout settings again
fix: make debug mode more useful by showing full track path
fix: strip url from reqwest errors
2025-08-10 16:22:37 +02:00
talwat
3e0cbf9871 fix: formatting touch ups and timeout adjustment 2025-08-10 00:27:37 +02:00
Tal
bdd508bfbb
feat: chillhop scraper (#94)
* feat: start work on chillhop scraper

only the basic get request with caching has actually been implemented,
but the rest shouldn't be too complicated.

* feat: finish chillhop scraper

* chore: remove vscode dir

* chore: upload new chillhop list for comparison

* fix: improve scraper and remove duplicates

* style: reorganize release scan function slightly

* fix: make lowfi compile on non-linux

* feat: make scraper fully reproducable (hopefully)

* chore: remove useless mut

* feat: add scrape feature flag

* chore: update deps

* chore: i hate macos

* chore: add .DS_Store to gitignore

* fix: ignore two tracks with lyrics

* fix: seperate get function from chillhop scraper

* fix: linux audio output stream

* chore: replace chillhop old list
2025-08-09 19:18:50 +02:00
Tal
d81c4cced8 chore: bump version 2025-08-06 15:40:34 +02:00
Tal
1884d2ebed chore: even more error handling improvements 2025-08-06 15:34:44 +02:00
Tal
f6bea9f048 feat: experimental support for other file types
chore: migrate to rodio v0.21.1
feat: add a currently nonfunctional source argument to the scrape
command

well, this is an important commit for anyone who has some interest in
the workings of lowfi, so strap in.

rodio finally updated cpal, so that ugly unsafe bit of code to implement
send is no longer necessary since cpal did it themselves (a year ago)
they also removed output stream handles and some other things which
nobody really used anyway.

next, the other file types is literally not even code, just adding a
feature flag which enables the default rodio feature flags. i do feel a
bit silly for thinking it'd be super difficult, so thanks rodio.

lastly, the source flag is for a possible switch to the chillhop
tracklist. anything embedded into lowfi should be generated with an open
source script, hence if lowfi does switch to chillhop, it'll need to be
selectable.
2025-08-05 21:24:04 +02:00
talwat
b6a81c9634 chore: refactor track error to use thiserror 2025-07-02 18:32:38 +02:00
talwat
a9cd30550c chore: bump version in preparation for 1.6.0 2025-03-17 18:34:11 +01:00
talwat
34577efe8f feat: add buffer size option 2025-03-17 16:32:06 +01:00
talwat
bbdcfdd6f2 chore: bump version 2025-03-12 14:28:05 +01:00
talwat
ca746c0902 chore: format & bump version 2025-03-03 15:06:27 +01:00
talwat
84f386e0eb feat: add experimental local file loading in track lists 2025-02-28 19:07:22 +01:00
talwat
ed4b79d2bf chore: redo help menu descriptions 2025-02-26 14:45:02 +01:00
talwat
a4dd55fb28 fix: incorrect variable name on linux 2025-02-22 13:08:22 +01:00
talwat
3db4f9d402 chore: redo versioning 2025-02-22 10:49:22 +01:00
talwat
ece88de1ae fix: tackle lots of clippy lints, along with removing outputstream from player struct 2025-02-21 21:44:32 +01:00
Tal
923ac05cf8 add functionality for custom track names 2025-02-15 12:51:53 +01:00
Tal
b87a525c74 feat: introduce -n for no borders 2025-02-09 15:38:33 +01:00
talwat
22a0851d40 chore: bump version 2025-01-14 11:13:31 +01:00
Tal
22a2e7f986 chore: bump version 2025-01-07 22:34:34 +01:00
Tal
bc80a7e702 chore: bump version 2025-01-07 22:28:37 +01:00
Tal
5057721913 fix: use unicode-segmentation to fix issues with unicode track names 2025-01-02 19:20:31 +01:00
talwat
6ff41e0e34 chore: update dependencies 2024-12-03 14:16:31 +01:00
Tal
a076c2b62f chore: bump version 2024-10-30 17:56:07 +01:00
Tal
ab288ee0d4 chore: bump version 2024-10-20 19:35:53 +02:00
talwat
9414b97d62 chore: bump version 2024-10-17 21:34:54 +02:00
Tal
ac9b196675 chore: bump version 2024-10-15 14:41:01 +02:00
Tal
543aeee78c
feat: add custom sources (#21)
* feat: initial work on decoupling embedded list file & the rest of the app

* chore: rename tracks.txt to lofigirl.txt

* fix: make base optional

* feat: partially revert previous commit

* feat: fix loading tracks with explicit url

* fix: include list in main player struct

* chore: reduce timeout

* chore: remove unused import

* fix: rename InitialProperties to PersistentVolume

* feat: move persistent volume init to player init function

* feat: add micropop.txt as an example of a custom tracklist

* docs: add note about mp3

* docs: move format of lists to list struct docs

* docs: document custom track lists

* fix: fix silly spelling error

* docs: update formatting

* docs: fix sample formatting

* docs: add missing sample track

* fix: fix ui when track name has special characters

* fix: use proper char counting on subject, not word

* fix: use unicode-segmentation to finally fix handling special characters

* fix: precompute track len

* fix: switch to using the unicode-width crate

* style: split off list into it's own module

* fix: move logic to read a list from the fs into the list module
2024-10-15 14:15:51 +02:00
Tal
79a2b7da9c chore: bump 2024-10-08 20:05:05 +02:00
Tal
cc73fa5a37 feat: also clamp volume in mpris 2024-10-07 21:24:22 +02:00
Tal
41bba2d6e4 chore: bump version 2024-10-07 17:26:39 +02:00
Tal
6b157dd457 feat: remember volume 2024-10-06 18:52:11 +02:00
Tal
901bf0e871
feat: support for mpris (#14)
* feat: initial support for mpris

* feat: overhaul app flow, making audio server control main thread instead of the ui thread

* fix: remove useless extra thread

* fix: last touches

* fix: call interface with minimalist flag

* fix: fix oversight when silencing alsa
2024-10-06 17:46:47 +02:00
talwat
baa2e095d9 feat: add minimalist flag 2024-10-06 09:36:06 +02:00
Tal
86f88ff34f chore: bump 2024-10-03 18:05:38 +02:00
talwat
9741d4b0d5 chore: bump version 2024-10-03 14:29:46 +02:00
Tal
c2baa53ded fix: finally fix the alsa warnings with libc's freopen 2024-10-02 22:56:01 +02:00
Tal
5d2e6c6d23 fix: switch to using stdout 2024-10-02 22:07:02 +02:00
Tal
60a00f189e chore: bump version 2024-10-02 21:22:19 +02:00
talwat
6c61650747 ci: try compiling natively with linux 2024-10-02 14:34:30 +02:00
talwat
4112c152fe chore: remove explicit openssl 2024-10-02 01:05:28 +02:00
talwat
d2b862a315 fix: switch to vendored openssl 2024-10-02 00:57:47 +02:00
talwat
69ce498a05 feat: add --alternate flag 2024-10-02 00:27:18 +02:00
talwat
5a498b1c98 chore: minimize more of the dependencies for better compilation speeds 2024-10-02 00:10:38 +02:00
talwat
fd2d37d635 fix: fix issue #1 as well as several others
fix: split downloader into a seperate struct for readability
fix: use `lazy_static` to reduce MSRV
fix: reduce frame delta
2024-10-01 19:28:46 +02:00
talwat
d82f78981f feat: prevent border from being bold 2024-10-01 13:29:09 +02:00
talwat
f38e1a8a76 feat: make lowfi more resilient to network issues 2024-09-28 01:59:46 +02:00
Tal
672b0c5c98 feat: handle ctrl+c 2024-09-28 01:06:39 +02:00
Tal
4ee86ec4f2 fix: add exemptions for contractions when formatting song names 2024-09-28 00:50:44 +02:00
Tal
679e9ff005 chore: get ready for publishing 2024-09-28 00:06:22 +02:00