73 Commits

Author SHA1 Message Date
Tal
5102ae032c fix: change default progress to 0
why it was ever -1.0 is a mystery to me, it doesn't make any logical
sense...
2025-08-31 21:41:45 +02:00
talwat
f6ec3bb1fe feat: switch to chillhop by default
feat: add special noheader exception for legibility of tracklists
feat: add small muted display
docs: fix macos instructions
2025-08-21 23:56:32 +02:00
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
talwat
6f15f9226f feat: add archive scraper
feat: add more information to errors
2025-08-09 23:38:00 +02:00
talwat
19ca315509 fix: make lowfi compile on non-linux 2025-08-08 20:12:13 +02:00
Tal
620b568926 fix(bookmarks): don't write to the bookmarks file on every bookmark 2025-08-07 00:08:11 +02:00
Tal
1884d2ebed chore: even more error handling improvements 2025-08-06 15:34:44 +02:00
Tal
9f7c895154 fix: add byte len to prevent unknown track duration when decoding 2025-08-05 22:07:38 +02:00
Tal
2c9a8229da chore: make track list error more explicit 2025-08-05 21:31:23 +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
Tal
0b15ce8e1b chore: give better names to track structs 2025-07-02 19:46:17 +02:00
Tal
6fadfe6304 chore: restructure and clean up 2025-07-02 19:36:53 +02:00
talwat
b6a81c9634 chore: refactor track error to use thiserror 2025-07-02 18:32:38 +02:00
talwat
1af976ad77 fix: begin work of improving error handling 2025-06-04 22:16:52 +02:00
talwat
1a76699afc fix: improve bookmarks
my computer broke so this commit is probably of a below average quality,
since i'm just backing stuff up.
2025-05-08 17:46:40 +02:00
talwat
7cdd2e7694 feat: add star indicator for bookmarking 2025-04-23 14:14:49 +02:00
talwat
d24c6b1a74 feat: implement basic bookmarking, still wip 2025-04-22 11:48:50 +02:00
talwat
d05f36a0bb chore: minor changes to internal docs 2025-03-17 16:54:16 +01:00
talwat
34577efe8f feat: add buffer size option 2025-03-17 16:32:06 +01:00
talwat
968c1ee670 chore: formatting fix 2025-03-12 14:28:29 +01:00
talwat
bbdcfdd6f2 chore: bump version 2025-03-12 14:28:05 +01:00
talwat
adcb20f2d0 fix: reform errors for track fetching 2025-03-12 14:21:37 +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
2a36bc72f3 fix: import necessary functions & types in silent_get_output_stream() 2025-02-21 22:06:56 +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
talwat
1e3c66679c fix: bug where text after ! in custom names wouldn't show up 2025-02-18 21:48:30 +02:00
Tal
1e491bb36f fix: make wiser use of the cfg macro 2025-02-09 15:58:08 +01:00
talwat
3db0623a72 fix: fix potential dangling pointer 2025-01-14 11:10:58 +01:00
talwat
6ff41e0e34 chore: update dependencies 2024-12-03 14:16:31 +01:00
Tal
56b03290d0 feat: make MPRIS bus suffixes unique 2024-10-27 14:17:30 +01:00
Tal
e7ac0c9214 docs: add more internal docs for mpris 2024-10-24 19:04:14 +02:00
Tal
fe9429bfb3 chore: reintroduce clippy & fix a lot of errors 2024-10-18 23:37:45 +02:00
talwat
04d5ed335d fix(mpris): handle edge case when paused 2024-10-17 23:58:20 +02:00
talwat
083d6c473c fix(mpris): fix initial playback status when there's a new track 2024-10-17 23:18:11 +02:00
talwat
cefb95e556 fix: only import mpris_server with the feature 2024-10-17 22:46:45 +02:00
talwat
978dfbc5e2 feat(mpris): wip implementation of propertieschanged signal 2024-10-17 22:33:00 +02:00
talwat
ddc572b405 fix: refine loading indicator 2024-10-16 12:54:03 +02:00
talwat
6f9dab6aa8 docs: again go into more depth in internal documentation 2024-10-15 23:46:10 +02:00
Tal
301b831737 docs: improve internal documentation 2024-10-15 15:06:52 +02:00
Tal
10a3263c82 fix: use CString instead of new rust syntax to fix older versions of rust throwing compilation errors 2024-10-15 14:28:26 +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
danielwerg
8d9d003dc9
feat: add play and pause messages (#24) 2024-10-12 10:54:32 +02:00
Tal
e47ed1da94 feat: add -d flag 2024-10-07 21:32:57 +02:00
Tal
cc73fa5a37 feat: also clamp volume in mpris 2024-10-07 21:24:22 +02:00
Tal
6f7c2dbcba chore: improve readability of code relating to downloader thread 2024-10-07 17:09:22 +02:00
Tal
d9ba0c3b3b fix: make autoplay actually function properly 2024-10-07 15:17:13 +02:00
talwat
c7d46e9872 feat: add --pause flag 2024-10-07 14:39:08 +02:00