30 Commits

Author SHA1 Message Date
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
Tal
6fadfe6304 chore: restructure and clean up 2025-07-02 19:36:53 +02:00
talwat
1af976ad77 fix: begin work of improving error handling 2025-06-04 22:16:52 +02:00
talwat
315fa105bf fix: don't start lowfi's UI unless in terminal 2025-05-01 09:46:17 +02:00
talwat
d24c6b1a74 feat: implement basic bookmarking, still wip 2025-04-22 11:48:50 +02:00
talwat
34577efe8f feat: add buffer size option 2025-03-17 16:32:06 +01:00
talwat
2a36bc72f3 fix: import necessary functions & types in silent_get_output_stream() 2025-02-21 22:06:56 +01:00
talwat
ce8f8d2845 fix: drop stream before aborting ui to prevent flicker 2025-02-21 21:50:20 +01:00
talwat
f0123fd2bc chore: add actual reason for sendableoutputstream allowing non send fields 2025-02-21 21:46:41 +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
fe9429bfb3 chore: reintroduce clippy & fix a lot of errors 2024-10-18 23:37:45 +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
Timo Furrer
5eeee8069c
fix: properly trim volume content before stripping percentage sign (#18) 2024-10-08 16:11:50 +02:00
Timo Furrer
5b546ea2de
fix: trim whitespace from volume contents (#16) 2024-10-07 15:19:50 +02:00
talwat
c7d46e9872 feat: add --pause flag 2024-10-07 14:39:08 +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
0ef844a3f2 feat: improve slightly media key support 2024-10-04 00:09:39 +02:00
Tal
b85d8c0be2 feat: improve UI flexibility if resizing is implemented 2024-10-03 18:05:22 +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
talwat
69ce498a05 feat: add --alternate flag 2024-10-02 00:27:18 +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
f38e1a8a76 feat: make lowfi more resilient to network issues 2024-09-28 01:59:46 +02:00
Tal
65f7574765 chore: fix some more lints and make the code more compact 2024-09-27 14:58:59 +02:00
Tal
8110b8418a docs: added lots of new internal documentation 2024-09-27 14:21:49 +02:00
Tal
2102564d04 feat: add duration to tracks when possible 2024-09-25 22:32:16 +02:00
talwat
1d5af7dc3e feat: improve buffering so that filling the queue happens in the background 2024-09-24 10:32:42 +02:00
talwat
f0e56ea2aa feat: initial commit 2024-09-23 21:59:07 +02:00