jacqueline
26fc53b18b
fix bad copypaste in docs
2024-02-27 13:25:49 +11:00
jacqueline
f9aec8b690
split the lua thread registry into its own files
2024-02-22 14:16:33 +11:00
jacqueline
4b2003c78a
Make property bindings shared amongst all lua threads
2024-02-22 12:37:01 +11:00
jacqueline
2a25085503
version bump
2024-02-21 14:17:25 +11:00
jacqueline
28651fa7e1
Wait for the sink buffer to drain before stopping playback
2024-02-21 14:13:19 +11:00
jacqueline
29a246a733
Make the drain buffer very large, and move it into PSRAM
...
the i2s handler and streambuffer metadata are both still in iram for
good performance. otherwise, this seems to be enough to make gapless
playback work.
2024-02-21 14:12:23 +11:00
jacqueline
79be8a8e6e
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-02-20 11:56:24 +11:00
jacqueline
403bd4672c
Update to latest libtags
...
Mostly for wav fixes
2024-02-20 09:29:58 +11:00
jacqueline
3f6256f9e6
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2024-02-19 09:41:47 +11:00
jacqueline
c035ed2b4d
Don't mark the current track as changed when falling off the end of the queue
2024-02-19 09:35:19 +11:00
jacqueline
5866513c53
Move the list of unexplored files into spiram
2024-02-16 15:13:58 +11:00
jacqueline
4509ab8d6e
version bump
2024-02-15 09:38:02 +11:00
jacqueline
c5917658e6
Cram one of the flac samples buffers into internal ram
...
Can't quite fit the second... yet. Just one is a pretty reasonable
speedup, though! Probably bc we're not hammering the spiram cache so
hard.
2024-02-14 17:48:13 +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
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