Robin Howard
18d90051c9
Annotates the kTag with maybe_unused; they're only used for logging.
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
f09ba5ffd5
Use bindey for databinding instead of hand rolling ui updates
2 years ago
jacqueline
8608f9367f
Tune buffer sizes and locations for I2S
2 years ago
jacqueline
0802b4e528
Unpin decoder task
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
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
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
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
c38754401b
Downscaling working!
2 years ago
jacqueline
60f7677132
Do our own resampling
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
97bd3be892
clang-format
2 years ago
jacqueline
10120f9a92
ux fixes
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
f94be3db2f
make event queue go faster
2 years ago
jacqueline
d8194135bb
Do time tracking without floats
2 years ago
jacqueline
80d7df9109
fuck off
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
cde8002df4
Fix (i think?) mysterious overly large reads in libmad
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
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
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
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
130009eb14
Pin audio pipeline to the app core
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
7a54ff0df9
WIP track down new pipeline memory issues
2 years ago