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
cdaa2ac97a
Add duration for flacs
2 years ago
jacqueline
485eed2890
use libtag duration where available
2 years ago
jacqueline
3670859d16
Volume control! Reasonable default volume! Hooray!
2 years ago
jacqueline
b05db70c14
Fix premature end of track
2 years ago
jacqueline
9b1b401dcb
big cleanup of new encoder + stream buffer types
2 years ago
jacqueline
d8194135bb
Do time tracking without floats
2 years ago
jacqueline
80d7df9109
fuck off
2 years ago
jacqueline
7197da21f6
Basic playlists for upcoming
...
Beware under-testing and bugs. Just getting something barebones in so
that I can do rN+1 bringup
2 years ago
jacqueline
39f7545cd5
wire up the playing screen with some real data
...
Includes implementing song duration calculation for CBR MP3 files
2 years ago
jacqueline
ec28b36a44
gpio expander pin change -> event!
2 years ago
jacqueline
371f0a20ca
Clean up gpios interface
2 years ago
jacqueline
0347555d5b
Start on converting gpio expander interupts to fsm events
2 years ago
jacqueline
b58b072d2d
Add current playback timestamps
2 years ago
jacqueline
acccd822f0
back to back flac playback is working :)
2 years ago
jacqueline
6ff8b5886e
Support playing tracks by track id
2 years ago
jacqueline
c6bb42cdd2
song -> track
2 years ago
jacqueline
a2c1dfbabd
Add vorbis and flac decoders, flesh out codec interface
...
vorbis doesn't quite work yet, not sure why. will pick it up again
later.
2 years ago
jacqueline
e12ac1d963
Do some prep cleanup for multiple filetypes
2 years ago
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2 years ago
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
2 years ago
jacqueline
8a2a2d2265
Get basic audio playback going again
2 years ago
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
2 years ago
jacqueline
3b371cfc54
reuse annotate new files
2 years ago
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2 years ago
jacqueline
4bff06c76c
Drop himem audio buffers (for now?)
...
For some reason the spinlocks required now block forever? Very odd.
On the plus side, this turned out to be the issue that was stopping the
audio pipeline from running on the app core.
2 years ago
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
2 years ago
jacqueline
5ac4d3949c
Generalise worker tasks, and centralise task priorities + stacks
...
Includes making the display driver use a worker task for flushes, so
that our double buffering actually does something useful /facepalm
2 years ago
jacqueline
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2 years ago
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
2 years ago
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
2 years ago
jacqueline
731b2cfa77
working isr-based sink, but still grainy
2 years ago
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
2 years ago
jacqueline
561f9d2a07
Ensure the sink buffer is large enough to not fully drain during
...
playback
2 years ago
jacqueline
25c5896dc5
add some bounds checking asserts
2 years ago
jacqueline
3836768bb8
new pipeline working(?), but the dac eludes me
2 years ago
jacqueline
7c6fd654f5
New pipeline building, still needs proper control
2 years ago
jacqueline
a9531c86a4
mostly single task pipeline
2 years ago
jacqueline
47ae601d41
Tidy up pipeline and use arena capacity to test for overruns
2 years ago
jacqueline
941bafca17
Add a memory arena for the audio pipeline
2 years ago
jacqueline
12d2ffdab7
Add logging to the DAC
2 years ago
jacqueline
a65d996583
Use the sync apis for I2S output
2 years ago
jacqueline
61c91b3cdb
Mostly working pipeline, including proper EOF signalling
2 years ago
jacqueline
cabfd4b75e
fix pipeline heap corruption and chunk ignores
2 years ago
jacqueline
ef8d404b15
Continue ironing out i2s pipeline
...
still at least one heap corruption issue, plus the i2s write method
seems to block forever :/
2 years ago
jacqueline
2cc0a38a1a
pipeline memory management fixes + logging
2 years ago