Robin Howard
|
18d90051c9
|
Annotates the kTag with maybe_unused; they're only used for logging.
|
2 years ago |
jacqueline
|
ddf0128496
|
Do not deafen people
|
2 years ago |
jacqueline
|
a8b866aafe
|
Don't crash if the current track source encounters a record with no id
This *shouldn't* normally happen, but it's not worth crashing over.
|
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
|
bb91724b94
|
Codec memory tweaks
- Ensure mad and ogg structs are allocated internally
- Free old codec before making a new one
|
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
|
bf1fc5a2a0
|
Guard audio pipeline file accesses
|
2 years ago |
jacqueline
|
5c04e2ad8d
|
Neaten up the various kinds of inputs, and move volumes to The New Way
|
2 years ago |
jacqueline
|
ba940baa0a
|
Add a lock around the SPI bus
This seems to have been the cause of recurring deadlocks that have been
difficult to repo.
|
2 years ago |
jacqueline
|
f09ba5ffd5
|
Use bindey for databinding instead of hand rolling ui updates
|
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
|
4d99d22e10
|
std::string -> std::pmr::string in psram
|
2 years ago |
jacqueline
|
0802b4e528
|
Unpin decoder task
|
2 years ago |
jacqueline
|
b192975cb1
|
make bluetooth pairing ui functional
|
2 years ago |
jacqueline
|
cbd99b2134
|
Increase sample buffer sizes
|
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 |
jacqueline
|
8ff93f5467
|
Make idle state more robust + check playback state
|
2 years ago |
jacqueline
|
485e9adfce
|
Performance tweaks for smoother tunes
- Pin the decoder task to APP_CORE to reduce context switches
- Increase sample buffer sizes
|
2 years ago |
jacqueline
|
f3c5eec025
|
Rename the main audio tasks to be more sensible
|
2 years ago |
jacqueline
|
c635d5011c
|
Put more audio pipeline wiring in control of the audio fsm
|
2 years ago |
jacqueline
|
4e27de21e4
|
clean up a bunch of obselete audio code
|
2 years ago |
jacqueline
|
544b0013b1
|
persist preferred bluetooth device in nvs
|
2 years ago |
jacqueline
|
d6b83fcf4a
|
Flesh out basic bluetooth support
No ui yet, and performance isn't great. It kinda works though!!
|
2 years ago |
jacqueline
|
9ddaca4fcb
|
remove unused dithering stuff
|
2 years ago |
jacqueline
|
a4ba7350a7
|
Fix docs nits, avoid recalculating frame length
|
2 years ago |
jacqueline
|
06283e0714
|
Fix issues with timing stereo streams
|
2 years ago |
jacqueline
|
c37ccb9851
|
Reintroduce track timer, now relying more on codecs
|
2 years ago |
jacqueline
|
958160aa54
|
Use the libspeexdsp resampler
AFAICT it runs a little slower? but it's fixed point, and has much
better understood audio characteristics.
|
2 years ago |
jacqueline
|
d8fc77101d
|
Give codecs complete control of their input files
|
2 years ago |
jacqueline
|
578c3737f8
|
Add vorbis support whilst we're here
|
2 years ago |
jacqueline
|
6c3501dbcb
|
Flesh out opus decoder. it doesn't work! i hate opus.
|
2 years ago |
jacqueline
|
93ccf11fc5
|
Investigate and improve core pinning for resampler
|
2 years ago |
jacqueline
|
6c99f9f2fe
|
Fix resampler issue, do a little performance tuning
|
2 years ago |
jacqueline
|
c38754401b
|
Downscaling working!
|
2 years ago |
jacqueline
|
a66c342806
|
Resampling *basically* working? Just cleanup and buffering issues
|
2 years ago |
jacqueline
|
4118d880c3
|
Fix dangle build issues, do some tweaks to investigate performance
|
2 years ago |
jacqueline
|
60f7677132
|
Do our own resampling
|
2 years ago |
jacqueline
|
31f6123b7b
|
Tweak buffer size and placement
|
2 years ago |
jacqueline
|
3511852f39
|
Add very limited resampling (it's slow as shit)
|
2 years ago |
jacqueline
|
fbebc52511
|
Add libsamplerate for resampling decoder output
|
2 years ago |
jacqueline
|
cdaa2ac97a
|
Add duration for flacs
|
2 years ago |
jacqueline
|
0a8d2fd12e
|
fix flac playback. now it plays nice and smooth :)
|
2 years ago |
jacqueline
|
485eed2890
|
use libtag duration where available
|
2 years ago |
jacqueline
|
97bd3be892
|
clang-format
|
2 years ago |
jacqueline
|
10120f9a92
|
ux fixes
|
2 years ago |
jacqueline
|
3670859d16
|
Volume control! Reasonable default volume! Hooray!
|
2 years ago |