Commit Graph
100 Commits
Author SHA1 Message Date
jacqueline 6d831fa7a8 Don't reuse iterators across page fetches
This was done for performance reasons, but performance seems okay
without it, and it introduces a bunch of memory management headaches.
2023-09-04 11:19:34 +10:00
jacqueline 697d231484 Fix incorrect settings submenu 2023-09-04 10:00:09 +10:00
jacqueline b90c08b536 enable the qr code lib for onboarding 2023-09-04 09:51:52 +10:00
jacqueline 25c2df57dd Fix some release build warnings 2023-09-04 09:51:38 +10:00
jacqueline cccee29c3a Turn the touchwheel back on after sleep 2023-09-04 09:47:22 +10:00
jacqueline 320fdeb9d8 Use a service locator instead of passing around subsets of drivers between FSMs 2023-08-30 16:48:10 +10:00
jacqueline 4247c9fe7d store the screen brightness in nvs 2023-08-29 16:07:56 +10:00
jacqueline 773f285767 Don't fade for brightness slider changes 2023-08-29 12:18:15 +10:00
jacqueline f2bb2e2528 Add a brightness slider to settings 2023-08-29 12:10:27 +10:00
jacqueline 8ee5e781e7 Use gamma correction for display brightness 2023-08-29 12:09:58 +10:00
jacqueline 1200479045 one weird trick to avoid 5khz tone 2023-08-28 20:54:02 +10:00
jacqueline c214d4b40e Add some more icons, and reflect play/pause in top bar 2023-08-28 20:36:31 +10:00
jacqueline fa7fa98dc1 Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw 2023-08-28 15:01:24 +10:00
jacqueline 85379b359c Add some cool battery icons 2023-08-28 15:01:09 +10:00
jacqueline 3a0c42f924 Move battery measurement to its own class 2023-08-28 13:26:53 +10:00
jacqueline a1327763ab Support play/pause toggling 2023-08-28 10:36:18 +10:00
jacqueline 8ff93f5467 Make idle state more robust + check playback state 2023-08-28 10:18:02 +10:00
jacqueline 0f5cf25e73 More performance and usability tweaks
- pin ui and decoder to opposite cores
 - disable touch wheel when controls are locked
2023-08-25 16:59:39 +10:00
jacqueline 485e9adfce Performance tweaks for smoother tunes
- Pin the decoder task to APP_CORE to reduce context switches
 - Increase sample buffer sizes
2023-08-25 15:58:54 +10:00
jacqueline 795f268737 Add placeholder settings UI 2023-08-25 15:13:25 +10:00
jacqueline 3b3bc64d19 Add modal dialog support 2023-08-25 10:13:37 +10:00
jacqueline 079b2b53d4 Improve DAC startup for r6 2023-08-24 19:18:57 +10:00
jacqueline 394e3e9466 Throttle framerate a little more 2023-08-24 19:17:56 +10:00
jacqueline 58854bc55d Improve centre button responsiveness 2023-08-24 19:17:37 +10:00
jacqueline ee949829d9 Add battery % with change events 2023-08-22 15:55:25 +10:00
jacqueline 9c105cf613 Good idea to commit all the files! 2023-08-22 13:39:49 +10:00
jacqueline 588857fef8 good idea to unmute the dac! 2023-08-22 13:39:40 +10:00
jacqueline 764b01e913 Add idle->standby support when locked and no music 2023-08-21 15:43:23 +10:00
jacqueline 27f329a9db Add an app console triggered shutdown 2023-08-20 21:10:05 +10:00
jacqueline 51cb168f79 sorry daniel 2023-08-18 16:05:06 +10:00
jacqueline cad7060540 Add interrupts for samd changes 2023-08-18 15:40:24 +10:00
jacqueline 697ec3c584 Fix no battery detection 2023-08-18 14:25:46 +10:00
jacqueline 65a1f09a90 Support app console commands for the samd 2023-08-18 12:32:18 +10:00
jacqueline d8533c42df Start on basic onboarding screens 2023-08-17 15:58:32 +10:00
jacqueline f3c5eec025 Rename the main audio tasks to be more sensible 2023-08-16 15:11:44 +10:00
jacqueline c635d5011c Put more audio pipeline wiring in control of the audio fsm 2023-08-16 11:40:49 +10:00
jacqueline 4e27de21e4 clean up a bunch of obselete audio code 2023-08-16 10:57:55 +10:00
jacqueline 62dce8d9fc Save current output mode to nvs 2023-08-16 10:22:30 +10:00
jacqueline 544b0013b1 persist preferred bluetooth device in nvs 2023-08-15 17:32:57 +10:00
jacqueline d6b83fcf4a Flesh out basic bluetooth support
No ui yet, and performance isn't great. It kinda works though!!
2023-08-15 13:53:30 +10:00
jacqueline 205e305350 Implement the easy seeks 2023-08-11 12:32:50 +10:00
jacqueline 9ddaca4fcb remove unused dithering stuff 2023-08-11 12:26:29 +10:00
jacqueline a4ba7350a7 Fix docs nits, avoid recalculating frame length 2023-08-11 08:39:52 +10:00
jacqueline 06283e0714 Fix issues with timing stereo streams 2023-08-10 22:24:47 +10:00
jacqueline c37ccb9851 Reintroduce track timer, now relying more on codecs 2023-08-10 21:35:16 +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 d8fc77101d Give codecs complete control of their input files 2023-08-10 15:33:00 +10:00
jacqueline 67caeb6e3c Use opusfile instead of working directly with ogg and opus 2023-08-09 12:00:02 +10:00
jacqueline 578c3737f8 Add vorbis support whilst we're here 2023-08-09 11:22:08 +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 6c3501dbcb Flesh out opus decoder. it doesn't work! i hate opus. 2023-08-08 22:16:31 +10:00
jacqueline e1181fbe59 Merge branch 'main' into opus 2023-08-08 20:25:42 +10:00
jacqueline 592f231627 Improve sd card errors 2023-08-08 17:11:13 +10:00
jacqueline 520ec6d98a Add skeleton of bluetooth FSM 2023-08-08 17:04:34 +10:00
jacqueline e2479ee7aa Update sdkconfig 2023-08-08 16:18:42 +10:00
jacqueline 93ccf11fc5 Investigate and improve core pinning for resampler 2023-08-08 13:47:08 +10:00
jacqueline 6c99f9f2fe Fix resampler issue, do a little performance tuning 2023-08-08 11:36:10 +10:00
jacqueline 49f82d2f3d Use a timer to keep framerate consistent 2023-08-07 20:47:59 +10:00
jacqueline d71682d26e Add a console command for task-level performance checks 2023-08-07 20:47:42 +10:00
jacqueline 40475b15e8 Remove unused pcmconv impls 2023-08-07 19:15:53 +10:00
jacqueline c38754401b Downscaling working! 2023-08-07 18:22:15 +10:00
jacqueline a66c342806 Resampling *basically* working? Just cleanup and buffering issues 2023-08-07 15:20:12 +10:00
jacqueline 4118d880c3 Fix dangle build issues, do some tweaks to investigate performance 2023-08-07 09:47:44 +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
jacqueline 31f6123b7b Tweak buffer size and placement 2023-08-03 16:04:27 +10:00
jacqueline 3511852f39 Add very limited resampling (it's slow as shit) 2023-08-03 15:32:28 +10:00
jacqueline fbebc52511 Add libsamplerate for resampling decoder output 2023-08-01 14:00:31 +10:00
jacqueline 55429fa623 Ignore helix config 2023-08-01 12:14:26 +10:00
jacqueline 955a8ce303 Basic nvs init + bluetooth in the build 2023-08-01 12:13:48 +10:00
jacqueline c3f40a8cc3 Start on opus decoder structure 2023-08-01 10:15:03 +10:00
jacqueline 23393312b7 checkin in opus reference decoder 2023-08-01 10:14:23 +10:00
jacqueline d41de537a0 fix libtags m4a issue 2023-07-31 12:19:04 +10:00
jacqueline 34a4207fb9 Log specifics of hash collisions 2023-07-31 11:33:58 +10:00
jacqueline 8f0b942cdd Return zeroes when the touchwheel isn't connected 2023-07-31 11:09:31 +10:00
jacqueline cdaa2ac97a Add duration for flacs 2023-07-31 11:06:27 +10:00
jacqueline 0a8d2fd12e fix flac playback. now it plays nice and smooth :) 2023-07-31 10:14:03 +10:00
jacqueline a5022ac6cb fix bsd-ish callback behaviour 2023-07-31 09:52:00 +10:00
jacqueline 485eed2890 use libtag duration where available 2023-07-31 09:41:49 +10:00
jacqueline 97bd3be892 clang-format 2023-07-28 15:25:44 +10:00
jacqueline 9d33c33c8d Lock button does that same thing always 2023-07-28 15:25:31 +10:00
jacqueline 10120f9a92 ux fixes 2023-07-28 15:21:18 +10:00
jacqueline 3670859d16 Volume control! Reasonable default volume! Hooray! 2023-07-28 13:01:18 +10:00
jacqueline 72fe82ebc4 apll go brr 2023-07-26 21:21:13 +10:00
jacqueline b05db70c14 Fix premature end of track 2023-07-26 17:36:10 +10:00
jacqueline 9b1b401dcb big cleanup of new encoder + stream buffer types 2023-07-26 17:11:23 +10:00
jacqueline f94be3db2f make event queue go faster 2023-07-26 11:23:36 +10:00
jacqueline d8194135bb Do time tracking without floats 2023-07-25 21:17:38 +10:00
jacqueline 80d7df9109 fuck off 2023-07-25 17:43:12 +10:00
jacqueline 7b72e5479e fork the esp-idf fatfs for f_forward and exfat support 2023-07-25 17:42:00 +10:00
jacqueline 9287c4eb8c 5.1 fixes 2023-07-20 22:12:17 +10:00
jacqueline 4c1f150cbf bump to v5.1 for i2s fixes 2023-07-20 22:02:55 +10:00
jacqueline 230af8e105 Initial r5 bringup 2023-07-20 21:57:55 +10:00
jacqueline 7197da21f6 Basic playlists for upcoming
Beware under-testing and bugs. Just getting something barebones in so
that I can do rN+1 bringup
2023-07-17 16:54:35 +10:00
jacqueline b6bc6b9e47 Ui polish and fleshing out 2023-07-13 10:58:06 +10:00
jacqueline 2dc700b12f Fix browser navigation crashes 2023-07-13 09:37:32 +10:00
jacqueline 8eabeedbb9 Make title bar a common component, some ui nits 2023-07-12 22:34:19 +10:00
jacqueline 50bb261f67 Make now playing screen interacting, including nice scrolling 2023-07-12 17:11:24 +10:00
jacqueline 9fb34e10d9 add logging to catch future index weirdness 2023-07-12 14:19:28 +10:00