Commit Graph
100 Commits
Author SHA1 Message Date
jacqueline f2df12836f tweak pipeline buffers rather than i2s dma buffer
this maintains the bluetooth changes to buffer sizes, but keeps the most
important i2s buffer the same size
2024-02-05 20:30:20 +11:00
jacqueline f4d8b2b04a hey i found 40KiB SRAM behind the couch! 2024-02-05 14:58:53 +11:00
jacqueline e073309907 Properly persist bluetooth mode changes 2024-02-05 14:58:40 +11:00
jacqueline 0f03efe868 Make db updates more robust again the sd card disappearing
Accidentally found a bug while live on youtube :)
2024-02-05 11:27:09 +11:00
jacqueline 299f3cc48f Preserve the queue when going into standby 2024-02-05 11:03:52 +11:00
jacqueline 71280f93bd sorry the tests dont work 2024-02-03 08:58:25 +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 ee867f2dbc add an indicator for database updates 2024-02-01 11:43:01 +11:00
jacqueline 2626c0cffc Do a db update after every mount 2024-02-01 11:22:26 +11:00
jacqueline c8bbd4d52c Reduce leveldb cache sizes and worker stacks, increase number of workers 2024-02-01 11:15:25 +11:00
jacqueline dad159dc3c Use a single pool of bg workers instead of separate tasks per use case
Also: bump the number of workers tasks up to 3 from 2!
This makes bg db updates + playback work :)
2024-02-01 10:54:20 +11:00
jacqueline fde45dba39 Explicitly specify C++23 2024-01-31 20:04:30 +11:00
jacqueline d5d1f2247a version bump 2024-01-31 17:03:22 +11:00
jacqueline 587c585ba6 Don't unmount the sd card as aggressively 2024-01-31 16:54:24 +11:00
jacqueline 816c30afb5 Panic on task WDT
deadlocks should probably not free the device!
2024-01-31 15:48:38 +11:00
jacqueline 1494e08ea2 Handle read errors properly 2024-01-31 15:36:32 +11:00
jacqueline 968d545d67 hand off the sd card to the samd properly, and remount when it's finished 2024-01-30 12:10:23 +11:00
jacqueline eacea59e8a Do more to avoid and recover from partial db updates
- do not power off in an update is in progress
 - explicitly store last update time, rather than deriving it from
   unchanged tracks.
2024-01-30 11:03:31 +11:00
jacqueline c399199bfc Improve handling of sd card changes during runtime
- mount if an sd card is inserted
 - unmount if it's removed
2024-01-30 09:55:31 +11:00
jacqueline 9039a97ab4 version bump due to schema version bump 2024-01-29 21:32:28 +11:00
jacqueline 04ff8bf492 Extract album artist from libtags-processed files 2024-01-29 19:11:10 +11:00
jacqueline 9b63f14cb8 Flesh out contributing section of README.md 2024-01-23 10:27:04 +11:00
jacqueline d7ba9420fe bump to 0.1.3 2024-01-19 12:57:09 +11:00
jacqueline cd650b30bd fix some lua stack leaks + add a console func to help debug 2024-01-19 12:52:41 +11:00
jacqueline 1525afe8aa fix issue with unclipped dither 2024-01-19 08:47:37 +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 442c45d461 bump to 0.1.2 2024-01-18 14:53:03 +11:00
jacqueline e8bcbdeff6 make the default sdkconfig more release build-y 2024-01-18 14:52:51 +11:00
jacqueline 2d7f9fc775 calculate length for CBR mp3 files 2024-01-18 14:50:05 +11:00
jacqueline 200a43fad3 fix issues with some song info not appearing 2024-01-18 14:49:07 +11:00
jacqueline 52f5e95acb wrap long artist names and titles 2024-01-18 14:48:28 +11:00
jacqueline c1b7a0c9f2 move lua ui-related data to spi ram 2024-01-17 17:50:57 +11:00
jacqueline ea8a7b0f93 allocate lua properties in spi ram 2024-01-17 17:31:45 +11:00
jacqueline c0ec19c496 fix some properties that got copied wrong 2024-01-17 15:57:12 +11:00
jacqueline a81c7a8a86 split out track pushing 2024-01-17 15:47:50 +11:00
jacqueline 1f5249de6f shift some long-lived allocs into spi ram 2024-01-17 15:31:23 +11:00
jacqueline 08d16e8580 whoops 2024-01-17 12:09:33 +11:00
jacqueline a4d03fc704 Make reindex button work; no feedback yet 2024-01-17 12:09:14 +11:00
jacqueline 71b4673039 all screens basically working, but bluetooth is rough 2024-01-17 11:48:40 +11:00
jacqueline 7cdcd44e0c Begin migration of remaining screens to Lua 2024-01-15 12:31:20 +11:00
jacqueline 55bde70b96 add accurate esp and samd versions + expose this info to lua 2024-01-10 20:34:36 +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 44fdf69674 tweak wheel sensitivity, improve AKS for centre button 2024-01-09 15:06:14 +11:00
jacqueline 09eacb71f0 bringup r8 muting 2024-01-09 14:17:58 +11:00
jacqueline 0db85f5e9e move default theme into styles, for easier lua overrides 2024-01-06 09:55:38 +11:00
jacqueline e12a68a74d split lua stubs into one set for ldoc, and one set for lua-ls 2024-01-05 17:15:47 +11:00
jacqueline aa1dd3d522 fix issues with luavgl type annotations 2024-01-05 16:37:05 +11:00
jacqueline 34cae4e6e4 add an alerts module for lua, and implement a volume indicator with it 2024-01-05 10:38:35 +11:00
jacqueline 938ba62f57 refactor handling of volume steps; improve controls 2024-01-04 15:57:58 +11:00
jacqueline 42a98a3799 disable group wrapping by default 2024-01-04 10:43:40 +11:00
jacqueline 44e6aee722 fix yet more mono i2s issues 2024-01-03 19:33:24 +11:00
jacqueline b6d16a20a4 fix issues with leftover bytes in audio converter 2024-01-03 17:04:48 +11:00
jacqueline 5f0e16e97a Support changing the usb msc state 2023-12-22 16:48:24 +11:00
jacqueline d4a0085753 Fix some dither clipping issues 2023-12-20 10:57:24 +11:00
jacqueline 2ccaaf5724 Add dither when requantising >16 bit samples 2023-12-19 23:41:52 +11:00
jacqueline 8a260dad05 Fix sample::FromSigned to not shift by a negative amount 2023-12-19 21:50:33 +11:00
jacqueline 62d51a304e replace foxenflac with miniflac
it's better!
2023-12-19 18:11:23 +11:00
jacqueline b5d86a9497 little a more stack for main 2023-12-19 17:34:01 +11:00
jacqueline 876db2e7eb Add the touchwheel button to the AKS channel 2023-12-18 11:19:37 +11:00
jacqueline 414f139ae3 Audio fsm usability tweaks
- persist the current volume when the screen locks
 - pause playback if headphones are removed
2023-12-18 11:05:44 +11:00
jacqueline 64b106c13e add a cool lua repl 2023-12-13 16:10:08 +11:00
jacqueline 5a2f0b08e0 Centralise which level is 'locked' 2023-12-12 13:06:53 +11:00
jacqueline 01eb868373 Support more datatypes in track tags 2023-12-12 12:59:38 +11:00
jacqueline bd730c82b0 Do db updates on the bg worker 2023-12-09 10:24:35 +11:00
jacqueline ca5d7b867c Add shuffle and repeat options for the playback queue 2023-12-08 11:11:57 +11:00
jacqueline aaa949f718 Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw 2023-12-07 17:17:30 +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 852ce7b917 Add a back button gesture in clickwheel mode 2023-12-06 10:50:37 +11:00
jacqueline 009f69c929 Add basic track queue save/load support
Not wired up yet; I need to do a bunch of cleanup before i wire it in
2023-12-05 17:00:28 +11:00
jacqueline 4f5422e906 Rewrite the track queue to work directly with database iterators 2023-12-05 11:36:34 +11:00
jacqueline 5b272af545 Link to crowd supply 2023-12-01 20:00:43 +11:00
jacqueline 67f2f2de83 thank mr aisler 2023-11-25 10:16:42 +11:00
jacqueline e6844a68b6 implement play/pause 2023-11-25 08:51:14 +11:00
jacqueline f3e4210f24 Remove old unused battery icons 2023-11-25 08:23:32 +11:00
jacqueline 7c6eb2997c Migrate 'now playing' screen to lua 2023-11-24 15:13:10 +11:00
jacqueline 230721cd62 Periodically check int lines instead of relying on interrupts 2023-11-24 07:41:48 +11:00
jacqueline 2b095948b8 Pull frertos funcs into iram, tweak wdt timeouts 2023-11-24 07:17:50 +11:00
jacqueline 09c0e1608f Implement adding to the playback queue from lua 2023-11-23 14:08:46 +11:00
jacqueline b07bfbc6c7 Add a second font, flesh out browser screen 2023-11-23 10:40:04 +11:00
jacqueline 9eb5ae6e94 Use protected mode for lua callbacks wherever possible 2023-11-22 15:46:46 +11:00
jacqueline 06aca259cb Add basic lua browser screen 2023-11-22 14:38:52 +11:00
jacqueline cd46d7bd20 Make lua db iterators async 2023-11-21 16:20:21 +11:00
jacqueline d70ec9bf44 Add lua functions to get database content 2023-11-21 13:49:47 +11:00
jacqueline f34b640588 Add 'btn' support to luavgl 2023-11-20 16:59:53 +11:00
jacqueline 5c7f07e638 Use a non-IRAM-safe interrupt for gpio changes
AFAICT this *should* be IRAM-safe, but there's an xQueueReceiveGeneric
within esp-idf that doesn't appear to be allocated internally
2023-11-20 16:05:53 +11:00
jacqueline effac1917a Use C functions for the backstack, instead of a lua module
Working with the default group and root kinda sucks if you have to do it
from lua!
2023-11-20 14:43:20 +11:00
jacqueline b7f37f6426 Add a generic lua function binding, alongside properties 2023-11-20 13:02:29 +11:00
jacqueline b3b512f10e Don't start readahead until parsing the stream's header is finished
...but also disable readahead for now anyway, since it's unstable
2023-11-20 11:04:20 +11:00
jacqueline d36f314a57 ignore generated lua docs 2023-11-15 20:35:36 +11:00
jacqueline fa57d8ed34 fix incorrect docstring 2023-11-15 20:35:02 +11:00
jacqueline 51d1cee3d7 Set up ldoc and lua-language-server, write some module stubs 2023-11-15 10:22:01 +11:00
jacqueline 0cae95a71e lua statusbar styling tweaks 2023-11-14 14:25:42 +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 8471046a95 one weird trick to reduce boot time 2023-11-10 14:18:05 +11:00
jacqueline 270bce7212 Fix display off on boot with new lock switch direction 2023-11-10 14:17:32 +11:00
jacqueline 0419def89b Change lock switch direction to match r7 standby 2023-11-10 08:19:27 +11:00
jacqueline c1db38ba42 Increase the size of the system fsm QueueSet
I added the samd to it but forgot to increase the set size.
2023-11-08 16:59:02 +11:00