Commit Graph
100 Commits
Author SHA1 Message Date
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 66f68aac0d version bump 2024-02-14 12:23:26 +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 3bb002b6b8 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-02-13 12:06:14 +11:00
jacqueline 786546653a include repeat, replay, and shuffle in persisted queue info 2024-02-13 12:05:12 +11:00
jacqueline cb379f4bc3 Cache pending nvs writes in memory
Includes refactoring nvs settings to be a bit less duplicated
2024-02-13 10:12:04 +11:00
jacqueline 79879fbfa0 version bump 2024-02-12 17:17:41 +11:00
jacqueline c5cef16c95 Remove some logging whoopsies 2024-02-12 17:16:38 +11:00
jacqueline 36f4c77fb2 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-02-12 17:10:03 +11:00
jacqueline 03c0968168 Let's try avoiding allocs in the bt stacks 2024-02-12 17:09:17 +11:00
jacqueline a37b517356 Improve handing of tracks with missing titles 2024-02-12 17:08:19 +11:00
jacqueline cb0c42060b more i2s/bt drain buffer size tweaks 2024-02-12 17:08:00 +11:00
jacqueline 26df5c4a7f Remember per-device bluetooth volume 2024-02-12 17:07:39 +11:00
jacqueline a7ac34eaa9 hack around deadlock during bt disable 2024-02-07 21:38:05 +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 18345a1c2c Silence chatty touchwheel log 2024-02-07 15:47:23 +11:00
jacqueline 02b897d536 smol version bump 2024-02-07 12:42:09 +11:00
jacqueline c0be3f863f Deliver AVRC events on a background thread
We don't currently do anything with them, so need to wait for the lock
on the bt thread
2024-02-07 11:17:20 +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 1b7821a474 improve the locking strategy of the bluetooth fsm 2024-02-06 21:47:28 +11:00
jacqueline d23435fab7 Retry bt device connections
i hate this janky-ass protocol
2024-02-06 21:27:43 +11:00
jacqueline aff28342d9 let the bluetooth stack handle its own discovery state 2024-02-06 17:56:17 +11:00
jacqueline a75adfc124 version bump 2024-02-06 13:48:16 +11:00
jacqueline 0bb12912bc Implement basic volume control for bt outputs 2024-02-06 13:37:20 +11:00
jacqueline 99c56641e9 fix various of bluetooth issues
connecting and disconnecting is a bit more consistent now!
2024-02-06 13:37:20 +11:00
jacqueline ab314b82e1 fix bt settings button initial state 2024-02-06 13:37:20 +11:00
jacqueline 7fbb2162ee Start keeping lock switch polarity in nvs
i will use this to do a sneaky trick; in-place upgrading brendan,
hailey, and erin's devices
2024-02-06 13:37:20 +11:00
jacqueline 2184b6c5f7 send a time=0 progress update after opening each file
this helps populate things like the now playing screen when a file is
opened without unpausing (e.g. when restoring a saved queue after boot)
2024-02-06 08:50:51 +11:00
jacqueline 177277334f focus the play/pause toggle when entering the now playing screen 2024-02-06 08:36:11 +11:00
jacqueline 5f6af82e8a luavgl: add a method to focus an object 2024-02-06 08:36:11 +11:00
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