jacqueline
faddb229fc
Record play_count in TrackData, incrementing it when tracks finish
7 months ago
ailurux
e96dcde085
Fix commented issues
7 months ago
ailurux
c479d699d0
Implements seeking to saved position for tracks
7 months ago
ailurux
f58679983e
Save positions over 5 minutes, every minute
8 months ago
ailurux
d4bad11130
WIP: Fixed errors, cleanup
8 months ago
ailurux
4353779810
WIP: Add last_position field to track data and start on implementation
8 months ago
jacqueline
c51709f99f
Pause and unpause the current audio output in response to TTS
8 months ago
jacqueline
d0b739c66e
Play basic wav files in response to tts prompts
...
It's currently quite limited (no stereo or sample rate conversion,
multiple messages clobber each other, only plays if music is playing),
but we're getting there!
8 months ago
jacqueline
32869129ff
clang-format
8 months ago
jacqueline
9ec8d6dafc
Handle the loading state whilst appending many tracks better
...
1) Update the queue length periodically so that the user can see we're
working
2) Clear any previous track and display "loading..." instead
8 months ago
jacqueline
f253d2ee75
Timeout when writing output samples throughout the audio pipeline
...
This allows the audio pipeline to remain responsive even when the drain
buffer has completely filled. This in turn means that you now see the
track info in the 'now playing' screen change if the current track
changes whilst you are paused.
Since I was fucking around a lot in the audio processor anyway, I also
added mono->stereo expansion so that playing mono tracks on Bluetooth no
longer destroys your ears.
8 months ago
ailurux
e6c77f17b8
Switch output mode to headphones when plugged in
8 months ago
jacqueline
28cf749951
Make FileGatherer shaped more like a normal iterator
9 months ago
jacqueline
649cb74f03
Advance the queue when the current track fails to start
9 months ago
jacqueline
9475d10d10
WIP initial tts player wiring
9 months ago
ailurux
0a271d786b
daniel/playlist-queue ( #83 )
...
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/83
Reviewed-by: cooljqln <cooljqln@noreply.codeberg.org>
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
10 months ago
jacqueline
a3eb2dd9dc
WIP improve bluetooth api and settings screen
10 months ago
jacqueline
a9d2335e1d
Break FatfsStreamFactory's dep on ServiceLocator
10 months ago
jacqueline
370d1853b5
Break FatfsStreamFactory's dep on ServiceLocator
10 months ago
jacqueline
41e0605f17
Give PcmBuffer pairs a name, and wire them up in the audio stack
10 months ago
ailurux
8de07fe8fa
daniel/bluetooth-avrc ( #80 )
...
Have a squizzy and lemme know if any issues @cooljqln 🐝
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/80
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
11 months ago
jacqueline
f84474d94d
Introduce a PcmBuffer abstraction for handling source draining
11 months ago
jacqueline
51bbb6a495
Add a stream source that generates a sine wave
12 months ago
jacqueline
690c64c151
Fix playback after restoring queue on boot
12 months ago
jacqueline
265049c519
Count samples going in and out of the drain buffer
...
This is a more accurate way of knowing which track is playing when, and
also simplifies a lot of fragile logic in audio_fsm
12 months ago
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!!
1 year ago
jacqueline
26eb580043
move driver includes into a subdir as well
1 year ago
jacqueline
7d7f7755d1
start moving include files into subdirs
1 year ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
1 year 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