Commit Graph
100 Commits
Author SHA1 Message Date
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
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