Commit Graph
136 Commits
Author SHA1 Message Date
jacqueline 7d3ddac0ea Merge branch 'main' into seek-support 2024-02-29 12:10:44 +11:00
jacqueline d41f9f7033 Use drflac instead of miniflac
This one is fast as hell! Does seeking really good too. Thank u Doctor
Flac.
2024-02-29 12:08:12 +11:00
jacqueline 403bd4672c Update to latest libtags
Mostly for wav fixes
2024-02-20 09:29:58 +11:00
ailurux 19f60e33c4 Merge branch 'main' into seek-support 2024-02-16 17:02:54 +11:00
ailurux d25e5860c7 Only update scrubber if not currently dragging 2024-02-16 15:10:45 +11:00
jacqueline 10770e0f54 Use -Ofast for all codecs that don't break with it 2024-02-14 17:47:46 +11:00
jacqueline 4bc77f901b Tweak opus build flags and allocs
This gets us to ~40% of one core cpu usage during playback. Good enough
for a while I reckon!

Paid for the internal ram usage by reclaiming some stack size headroom.
2024-02-14 16:56:49 +11:00
jacqueline f772ab9f20 put the big opus alloc back into spiram
it's not clear to me that it helps *that* much, since the ogg allocs are
in internal ram anyway, and the memory pressure is just a bit much
2024-02-14 13:28:05 +11:00
jacqueline 7ec0ff2589 Switch to the lowmem tremor branch
in addition to using slightly less memory, this branch also doesn't seem
to have the same issues with `-O2` builds that the main branch has.
2024-02-14 12:21:33 +11:00
jacqueline b31bc07555 fix (improve?) libtremor strangeness
something fucky
2024-02-13 16:39:56 +11:00
jacqueline c1b03c151e put opus' allocations into internal ram
it's a pretty chonky codec, but this seems like the best way to tame its
performance.
2024-02-07 21:38:05 +11:00
jacqueline a67cd1dec6 Ensure the resampler is allocated in internal ram
It's quite small!
2024-02-07 10:25:09 +11:00
jacqueline 5f6af82e8a luavgl: add a method to focus an object 2024-02-06 08:36:11 +11:00
jacqueline 32cee65809 Accept opus files that don't fully parse, remove opus-specific tag parser
The libtags change is a bit of a hack... I think we're running into
tracks that have long lyrics tags, which pushes the other tags out onto
the next ogg page?
2024-02-01 15:59:53 +11:00
jacqueline 79a6dc1a3e Use a cache for lvgl images 2024-02-01 15:20:59 +11:00
jacqueline 04ff8bf492 Extract album artist from libtags-processed files 2024-01-29 19:11:10 +11:00
jacqueline d1ae1a4230 on second thought, let's not violate patents. 'tis a silly system. 2024-01-18 14:55:27 +11:00
jacqueline c1b7a0c9f2 move lua ui-related data to spi ram 2024-01-17 17:50:57 +11:00
jacqueline 7cdcd44e0c Begin migration of remaining screens to Lua 2024-01-15 12:31:20 +11:00
jacqueline 1b2d791a05 Use doubles instead of floats for lua numbers (this unpins the ui task) 2024-01-10 16:59:07 +11:00
jacqueline abdc00fd2d Add faad2 for aac decoding 2024-01-10 14:32:22 +11:00
jacqueline aa1dd3d522 fix issues with luavgl type annotations 2024-01-05 16:37:05 +11:00
jacqueline 62d51a304e replace foxenflac with miniflac
it's better!
2023-12-19 18:11:23 +11:00
jacqueline 64b106c13e add a cool lua repl 2023-12-13 16:10:08 +11:00
jacqueline ca5d7b867c Add shuffle and repeat options for the playback queue 2023-12-08 11:11:57 +11:00
jacqueline 3f7f199cb9 Remove pre-iterator concepts
- No more IndexRecord/Result/dbGetPage nonsense
 - Queue is just track ids
 - i am so tired and have so much to do
2023-12-07 17:00:30 +11:00
jacqueline 7c6eb2997c Migrate 'now playing' screen to lua 2023-11-24 15:13:10 +11:00
jacqueline b07bfbc6c7 Add a second font, flesh out browser screen 2023-11-23 10:40:04 +11:00
jacqueline 06aca259cb Add basic lua browser screen 2023-11-22 14:38:52 +11:00
jacqueline f34b640588 Add 'btn' support to luavgl 2023-11-20 16:59:53 +11:00
jacqueline 71ed09a6f7 Add two-way databinding for lua, and flesh out the lua statusbar 2023-11-14 13:20:04 +11:00
jacqueline 8a0a167adb Convert the main menu screen to lua lol 2023-11-12 19:14:09 +11:00
jacqueline 0e661409b1 Fix missing licenses
Includes removing unused shared_string

This helps with #6, but there's still more work to do
2023-11-07 16:58:08 +11:00
jacqueline 9dc8f5646c Make foxenflac a little less memory hungry
We should really just use the xiph library :/
2023-11-07 13:37:58 +11:00
Robin Howard 4ec1cccf4d Bump to latest 5.1 changes since 5.1.1 release. 2023-11-06 17:22:47 +11:00
jacqueline c27880282a Bump esp-idf to v5.1.1 2023-10-20 10:23:32 +11:00
jacqueline bb91724b94 Codec memory tweaks
- Ensure mad and ogg structs are allocated internally
 - Free old codec before making a new one
2023-10-16 16:15:48 +11:00
jacqueline afbf3c31f4 Use libcppbor for much much nicer db encoding 2023-10-13 15:05:49 +11:00
jacqueline f09ba5ffd5 Use bindey for databinding instead of hand rolling ui updates 2023-09-28 08:29:55 +10:00
jacqueline a2eb0e8961 Fix incorrect default theme 2023-09-25 22:37:46 +10:00
jacqueline dd13a234d2 Place LVGL's memory pool into PSRAM 2023-09-25 15:26:05 +10:00
jacqueline 25c2df57dd Fix some release build warnings 2023-09-04 09:51:38 +10:00
jacqueline 51cb168f79 sorry daniel 2023-08-18 16:05:06 +10:00
jacqueline 958160aa54 Use the libspeexdsp resampler
AFAICT it runs a little slower? but it's fixed point, and has much
better understood audio characteristics.
2023-08-10 19:12:38 +10:00
jacqueline 67caeb6e3c Use opusfile instead of working directly with ogg and opus 2023-08-09 12:00:02 +10:00
jacqueline f277bd5d0c Add tremor, add new ogg rules to make tremor deps happy 2023-08-08 23:34:02 +10:00
jacqueline 1b6811663c Add libogg for handling opus streams reasonably 2023-08-08 23:14:42 +10:00
jacqueline e1181fbe59 Merge branch 'main' into opus 2023-08-08 20:25:42 +10:00
jacqueline 60f7677132 Do our own resampling 2023-08-04 20:07:44 +10:00
jacqueline 3b240d1cd5 remove stb_vorbis
it doesnt work very well
2023-08-03 16:16:46 +10:00