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)
|
1 year ago |
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
|
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
|
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 :)
|
1 year ago |
Robin Howard
|
429abd1237
|
Fix bug where calling TrackQueue's next() repeatedly would increase the position despite running off the end of the queue.
|
1 year ago |
jacqueline
|
2d7f9fc775
|
calculate length for CBR mp3 files
|
1 year ago |
jacqueline
|
200a43fad3
|
fix issues with some song info not appearing
|
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 |
ailurux
|
0e04eb918e
|
wav-codec (#13)
here is a wav decoder, enjoy!
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/13
Reviewed-by: cooljqln <cooljqln@noreply.codeberg.org>
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
|
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
|
b6d16a20a4
|
fix issues with leftover bytes in audio converter
|
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
|
ca5d7b867c
|
Add shuffle and repeat options for the playback queue
|
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
|
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
|
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 |
ailurux
|
5afdb89f9a
|
Remove delay from read ahead
|
1 year ago |
jacqueline
|
b3b512f10e
|
Don't start readahead until parsing the stream's header is finished
...but also disable readahead for now anyway, since it's unstable
|
1 year ago |
jacqueline
|
19f0675b44
|
Make readahead a bit more robust for codecs with different io speeds
|
1 year ago |
jacqueline
|
75a8f836d5
|
Wait for background readahead to finish before deleting its buffer
|
1 year ago |
jacqueline
|
499d5a942f
|
Add a wrapper codec source that does readahead
|
1 year ago |
jacqueline
|
d36fe9be6b
|
Use atomics for new file notification instead of a semaphore
|
1 year ago |
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 |