jacqueline
2dc700b12f
Fix browser navigation crashes
2023-07-13 09:37:32 +10:00
jacqueline
8eabeedbb9
Make title bar a common component, some ui nits
2023-07-12 22:34:19 +10:00
jacqueline
50bb261f67
Make now playing screen interacting, including nice scrolling
2023-07-12 17:11:24 +10:00
jacqueline
9fb34e10d9
add logging to catch future index weirdness
2023-07-12 14:19:28 +10:00
jacqueline
23227d0986
clang format
2023-07-12 10:36:29 +10:00
jacqueline
df22bed072
Include title in indexes to avoid a per-record disk read
...
GOTTA GO FAST
2023-07-12 10:36:06 +10:00
jacqueline
67ab8bf515
Bundle our own complete ui font + symbol font
2023-07-12 09:59:54 +10:00
jacqueline
ae076936ae
Fix browser view jank
2023-07-11 17:28:56 +10:00
jacqueline
6d29b9f007
Hide unhelpful scrollbar
2023-07-11 15:46:55 +10:00
jacqueline
ec71647d4d
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-07-11 15:43:38 +10:00
jacqueline
031cd99ea1
add note on toc field
2023-07-07 21:16:40 +10:00
jacqueline
804aa38bff
clarify mp3 seek weirdness
2023-07-07 19:13:43 +10:00
jacqueline
8f8bc1f088
vbr-compatible mp3 duration :)
2023-07-07 18:26:10 +10:00
jacqueline
739f495fe2
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-07-07 15:30:49 +10:00
jacqueline
b6e0e0dd4a
Merge branch 'functional-playing'
2023-07-07 15:30:19 +10:00
jacqueline
39f7545cd5
wire up the playing screen with some real data
...
Includes implementing song duration calculation for CBR MP3 files
2023-07-07 15:29:47 +10:00
jacqueline
a48516221f
final(?) splash image
2023-07-06 13:40:40 +10:00
jacqueline
5af0ff2972
smaller, gayer.
2023-07-06 08:55:49 +10:00
jacqueline
161815a268
Merge branch 'splash'
2023-07-05 20:28:59 +10:00
jacqueline
06ce512ce9
Fix background color
2023-07-05 20:28:51 +10:00
jacqueline
2f16d23002
Start on wiring up playback screen to real data
2023-07-05 20:09:03 +10:00
jacqueline
8c02ed47b5
add gay splash screen
2023-07-05 19:33:53 +10:00
jacqueline
7eec2cc5b6
Comment out leveldb logging
...
It sometimes produces a weird format string that breaks everything
2023-07-05 17:13:19 +10:00
jacqueline
75955fc47c
Reset styles, flesh out playback and browser screens
2023-07-05 17:06:34 +10:00
jacqueline
191441ebe2
Add missing files >.<
2023-07-04 14:39:22 +10:00
jacqueline
80170642ea
Add basic browsing and playing ui
2023-07-04 13:06:33 +10:00
jacqueline
ec28b36a44
gpio expander pin change -> event!
2023-06-30 21:01:25 +10:00
jacqueline
371f0a20ca
Clean up gpios interface
2023-06-30 20:48:40 +10:00
jacqueline
0347555d5b
Start on converting gpio expander interupts to fsm events
2023-06-30 17:05:11 +10:00
jacqueline
9763cc955c
Improve encoder driver
...
It actually works and clicks now!
Still a bit rough though. Need to dive into lvgl internals to work out
what it's doing with enc_diff
2023-06-26 12:55:46 +10:00
jacqueline
c124c8f94d
support both files and ids in play
2023-06-26 10:39:20 +10:00
jacqueline
072c2c23e5
Parse and zero-pad track numbers
2023-06-23 21:33:14 +10:00
jacqueline
245d9ff4b9
add indexing to the database
...
idk man i wrote most of this in a fugue state whilst high on the couch
with my cat
2023-06-23 15:32:11 +10:00
jacqueline
aee0474191
Add a shared string library
2023-06-23 15:31:45 +10:00
jacqueline
cde8002df4
Fix (i think?) mysterious overly large reads in libmad
2023-06-22 09:40:46 +10:00
jacqueline
b58b072d2d
Add current playback timestamps
2023-06-21 15:33:51 +10:00
jacqueline
23ecff1011
Fix spurious stream starts
2023-06-21 13:37:50 +10:00
jacqueline
8fed966c96
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-06-19 15:47:04 +10:00
jacqueline
acccd822f0
back to back flac playback is working :)
2023-06-19 15:36:43 +10:00
jacqueline
0c81c3e1f6
paths with spaces? wow!!
2023-06-19 09:15:19 +10:00
jacqueline
6ff8b5886e
Support playing tracks by track id
2023-06-19 08:51:34 +10:00
jacqueline
4e5dba1583
Fix leveldb's alignment assumptions (we have 4 byte alignment)
2023-06-19 08:49:48 +10:00
jacqueline
5b7b88420b
Fix issues with importing my entire library
2023-06-16 13:14:45 +10:00
jacqueline
c6bb42cdd2
song -> track
2023-06-15 10:42:28 +10:00
jacqueline
0024bb1dbe
Remove chatty loggin
2023-06-15 10:34:41 +10:00
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.
2023-06-15 10:33:46 +10:00
jacqueline
1238437717
Add flac and ogg decoder deps
2023-06-08 08:02:37 +10:00
jacqueline
e12ac1d963
Do some prep cleanup for multiple filetypes
2023-06-07 15:39:28 +10:00
jacqueline
7e96482087
fix shared peripheral interrupts causing hangs
2023-06-07 13:45:27 +10:00
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2023-06-07 13:19:45 +10:00
jacqueline
2a568846bd
Cute brightness fade to avoid ugly startup :)
2023-06-07 10:30:33 +10:00
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
2023-06-07 09:50:25 +10:00
jacqueline
d2e5d2ab3c
Fix up screen brightness and transitions
2023-06-06 11:49:41 +10:00
jacqueline
8a2a2d2265
Get basic audio playback going again
2023-06-06 10:20:46 +10:00
jacqueline
ee5f662f9b
Fix missing service impl
2023-06-01 15:52:07 +10:00
jacqueline
56c1b5f93b
Fix include weirdness for lvgl
2023-06-01 15:42:39 +10:00
jacqueline
dd27c35304
convert lvgl from submodule to a plain old directory
2023-06-01 15:41:47 +10:00
jacqueline
6fd588e970
Add touchwheel -> encoder adapter
2023-06-01 15:28:54 +10:00
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
2023-06-01 15:28:10 +10:00
jacqueline
4b93bb22db
fish :)
2023-05-25 14:53:17 +10:00
jacqueline
65833649f4
Add some placeholder splash and menu screens
...
Includes a bunch of misc display fixes. Most significantly, our lvgl
tickers was busted.
2023-05-24 13:30:05 +10:00
jacqueline
3b371cfc54
reuse annotate new files
2023-05-24 07:42:03 +10:00
jacqueline
3041e48ca6
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-05-24 07:20:16 +10:00
jacqueline
876e5e70e9
Don't crash if there's no sd card
2023-05-24 07:17:42 +10:00
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2023-05-23 13:56:22 +10:00
jacqueline
ebcdf93930
Re-enable app console
2023-05-23 09:29:22 +10:00
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.
2023-05-23 09:13:22 +10:00
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
2023-05-23 09:00:06 +10:00
jacqueline
82830f995c
Fix some logging, add transition to missing storage
2023-05-22 16:52:50 +10:00
jacqueline
da977aaa3f
Merge branch 'main' into state-machines
2023-05-22 15:35:50 +10:00
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
2023-05-22 15:23:51 +10:00
jacqueline
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2023-05-19 21:21:27 +10:00
jacqueline
b320a6a863
Add basic samd class
2023-05-18 18:17:14 +10:00
jacqueline
d71f726c42
Add pagination to database queries
2023-05-16 14:11:38 +10:00
jacqueline
785349eb5b
Touchwheel works!!!!!!!
2023-05-12 15:24:56 +10:00
jacqueline
f3d0e8f98f
Slightly improve touchwheel not-working-ness
...
It still doesn't work tho
2023-05-12 14:12:23 +10:00
jacqueline
961c8014ad
Add some basic tests for the database
2023-05-12 10:30:07 +10:00
jacqueline
10eb120878
Add tests for record encoding
2023-05-09 13:50:04 +10:00
jacqueline
d739edef76
Fix tests!
...
Includes removing some that never passed and/or weren't quite a good
idea
2023-05-09 11:20:57 +10:00
jacqueline
16e6180ba7
Database init is now stable!
2023-05-08 17:47:29 +10:00
jacqueline
fe19478e0f
Output hash of song triple
2023-05-02 16:10:21 +10:00
jacqueline
86c44199b0
add komihash: the fast and fun hashing header!
2023-05-02 16:10:08 +10:00
jacqueline
ee559cd722
Give the touchwheel a little more juice for debugging
2023-05-02 16:01:41 +10:00
jacqueline
09ad66136d
clang-format
2023-04-28 13:54:46 +10:00
jacqueline
bdadc159c7
Add libtags for extracting info from files
2023-04-28 13:26:47 +10:00
jacqueline
cd520b9360
Make queries a little less copy-paste
2023-04-27 16:03:55 +10:00
jacqueline
5d7cbec34c
Move DB interactions to a background thread
2023-04-27 12:55:30 +10:00
jacqueline
fbe047a35f
Add some basic data and retrieval
2023-04-26 15:21:32 +10:00
jacqueline
083f4011aa
removed unused raw db stuff
2023-04-26 12:27:28 +10:00
jacqueline
2be4d4204c
Allow RenameFile to overwrite existing files
2023-04-26 10:20:53 +10:00
jacqueline
7972bd4567
Merge branch 'main' into leveldb
2023-04-26 08:49:02 +10:00
jacqueline
5575378c1c
fix use-after-move
2023-04-21 19:03:23 +10:00
jacqueline
464a4bf527
Add a RAII-friendly DI wrapper for driver instances
2023-04-21 18:42:49 +10:00
jacqueline
84f45e6045
Don't crash if there's no sd card :)
2023-04-21 18:42:37 +10:00
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
2023-04-21 15:27:57 +10:00
jacqueline
130009eb14
Pin audio pipeline to the app core
2023-04-21 10:35:39 +10:00
jacqueline
cc3fd9571e
split out lvgl task into its own component
2023-04-21 10:30:52 +10:00
jacqueline
f955804495
use a freertos timer for lvgl ticks
2023-04-21 10:00:05 +10:00
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
2023-04-20 21:25:22 +10:00
jacqueline
2d95b63727
Working without big distortion :)
2023-04-20 14:47:32 +10:00