jacqueline
b242ba9986
Improve decoder's interface to accept streams
12 months ago
jacqueline
344a46d066
Respond to sd card mounts and unmounts within lua
...
Includes no longer blocking the main menu on an sd card being inserted!!
12 months ago
jacqueline
26eb580043
move driver includes into a subdir as well
12 months ago
jacqueline
7d7f7755d1
start moving include files into subdirs
12 months ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
12 months ago
jacqueline
531475e351
Enable bluetooth after boot, not during boot
...
This avoids some bluetooth-related devices being delivered before
BootComplete
1 year ago
jacqueline
f580928cba
Remember the source of the previous track when opening a new one
1 year ago
jacqueline
239e6d8950
bump esp-idf to 5.2.1
1 year ago
jacqueline
4cec85af2d
implement handling of stream/playback ending
1 year ago
jacqueline
078b77d0f7
pass stream start/update/end events through the whole pipeline
1 year ago
jacqueline
175bfc4e3e
WIP rewrie audio pipeline+fsm guts for more reliability
1 year ago
jacqueline
1455288190
Restore the previous track position when booting
1 year ago
ailurux
6586819171
WIP Commit- Lua setters for volume, bluetooth todo
1 year ago
jacqueline
b2f0e6d3a4
Clear the drain buffer also when seeking
1 year ago
jacqueline
173b09b015
Clear the drain buffer when skipping between tracks
1 year ago
jacqueline
28651fa7e1
Wait for the sink buffer to drain before stopping playback
1 year ago
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.
1 year ago
ailurux
c60bb9ee42
Fix issue with seeking whilst paused
1 year ago
ailurux
665679b885
WIP: seeking in lua example
1 year ago
ailurux
a49d754da6
Seeking working with hardcoded event, wav only
1 year ago
ailurux
62f6179abe
Added offset for track seeking, wav impl. only rn
1 year ago
jacqueline
cb379f4bc3
Cache pending nvs writes in memory
...
Includes refactoring nvs settings to be a bit less duplicated
1 year ago
jacqueline
cb0c42060b
more i2s/bt drain buffer size tweaks
1 year ago
jacqueline
26df5c4a7f
Remember per-device bluetooth volume
1 year ago
ailurux
9512bd97bb
Add buttons for shuffle + repeat track
1 year ago
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.
1 year ago
jacqueline
0bb12912bc
Implement basic volume control for bt outputs
1 year ago
jacqueline
99c56641e9
fix various of bluetooth issues
...
connecting and disconnecting is a bit more consistent now!
1 year ago
jacqueline
e073309907
Properly persist bluetooth mode changes
1 year ago
jacqueline
299f3cc48f
Preserve the queue when going into standby
1 year ago
jacqueline
71b4673039
all screens basically working, but bluetooth is rough
1 year ago
jacqueline
7cdcd44e0c
Begin migration of remaining screens to Lua
1 year ago
jacqueline
34cae4e6e4
add an alerts module for lua, and implement a volume indicator with it
1 year ago
jacqueline
938ba62f57
refactor handling of volume steps; improve controls
1 year ago
jacqueline
414f139ae3
Audio fsm usability tweaks
...
- persist the current volume when the screen locks
- pause playback if headphones are removed
1 year ago
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
1 year ago
jacqueline
4f5422e906
Rewrite the track queue to work directly with database iterators
1 year ago
jacqueline
7c6eb2997c
Migrate 'now playing' screen to lua
1 year ago
jacqueline
499d5a942f
Add a wrapper codec source that does readahead
1 year ago
Robin Howard
18d90051c9
Annotates the kTag with maybe_unused; they're only used for logging.
2 years ago
jacqueline
912f9c0757
Free the i2s dma channel when it's not in use
...
It turns out this is why bluetooth playback keeps running out of memory
/facepalm
2 years ago
jacqueline
7523772886
Decouple play/pause from output on/off
...
I think this was the cause of toggling play/pause making audio go away.
Or at least I can't repro that bug anymore, anyway.
2 years ago
jacqueline
5c04e2ad8d
Neaten up the various kinds of inputs, and move volumes to The New Way
2 years ago
jacqueline
252f685ef1
Make NVS access synchronous again
...
Everything relevant is back in internal ram, and likely to stay there.
2 years ago
jacqueline
8608f9367f
Tune buffer sizes and locations for I2S
2 years ago
jacqueline
b192975cb1
make bluetooth pairing ui functional
2 years ago
jacqueline
0032896251
Move UI task to priority 0 during playback
...
Also other misc task cleanup
2 years ago
jacqueline
d5d6e3993c
Support changing max volume, persisted to nvs
2 years ago
jacqueline
320fdeb9d8
Use a service locator instead of passing around subsets of drivers between FSMs
2 years ago
jacqueline
a1327763ab
Support play/pause toggling
2 years ago