jacqueline
|
62d51a304e
|
replace foxenflac with miniflac
it's better!
|
2023-12-19 18:11:23 +11:00 |
|
jacqueline
|
b5d86a9497
|
little a more stack for main
|
2023-12-19 17:34:01 +11:00 |
|
jacqueline
|
876db2e7eb
|
Add the touchwheel button to the AKS channel
|
2023-12-18 11:19:37 +11:00 |
|
jacqueline
|
414f139ae3
|
Audio fsm usability tweaks
- persist the current volume when the screen locks
- pause playback if headphones are removed
|
2023-12-18 11:05:44 +11:00 |
|
jacqueline
|
64b106c13e
|
add a cool lua repl
|
2023-12-13 16:10:08 +11:00 |
|
jacqueline
|
5a2f0b08e0
|
Centralise which level is 'locked'
|
2023-12-12 13:06:53 +11:00 |
|
jacqueline
|
01eb868373
|
Support more datatypes in track tags
|
2023-12-12 12:59:38 +11:00 |
|
jacqueline
|
bd730c82b0
|
Do db updates on the bg worker
|
2023-12-09 10:24:35 +11:00 |
|
jacqueline
|
ca5d7b867c
|
Add shuffle and repeat options for the playback queue
|
2023-12-08 11:11:57 +11:00 |
|
jacqueline
|
aaa949f718
|
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
|
2023-12-07 17:17:30 +11:00 |
|
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
|
2023-12-07 17:00:30 +11:00 |
|
jacqueline
|
852ce7b917
|
Add a back button gesture in clickwheel mode
|
2023-12-06 10:50:37 +11:00 |
|
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
|
2023-12-05 17:00:28 +11:00 |
|
jacqueline
|
4f5422e906
|
Rewrite the track queue to work directly with database iterators
|
2023-12-05 11:36:34 +11:00 |
|
jacqueline
|
5b272af545
|
Link to crowd supply
|
2023-12-01 20:00:43 +11:00 |
|
jacqueline
|
67f2f2de83
|
thank mr aisler
|
2023-11-25 10:16:42 +11:00 |
|
jacqueline
|
e6844a68b6
|
implement play/pause
|
2023-11-25 08:51:14 +11:00 |
|
jacqueline
|
f3e4210f24
|
Remove old unused battery icons
|
2023-11-25 08:23:32 +11:00 |
|
jacqueline
|
7c6eb2997c
|
Migrate 'now playing' screen to lua
|
2023-11-24 15:13:10 +11:00 |
|
jacqueline
|
230721cd62
|
Periodically check int lines instead of relying on interrupts
|
2023-11-24 07:41:48 +11:00 |
|
jacqueline
|
2b095948b8
|
Pull frertos funcs into iram, tweak wdt timeouts
|
2023-11-24 07:17:50 +11:00 |
|
jacqueline
|
09c0e1608f
|
Implement adding to the playback queue from lua
|
2023-11-23 14:08:46 +11:00 |
|
jacqueline
|
b07bfbc6c7
|
Add a second font, flesh out browser screen
|
2023-11-23 10:40:04 +11:00 |
|
jacqueline
|
9eb5ae6e94
|
Use protected mode for lua callbacks wherever possible
|
2023-11-22 15:46:46 +11:00 |
|
jacqueline
|
06aca259cb
|
Add basic lua browser screen
|
2023-11-22 14:38:52 +11:00 |
|
jacqueline
|
cd46d7bd20
|
Make lua db iterators async
|
2023-11-21 16:20:21 +11:00 |
|
jacqueline
|
d70ec9bf44
|
Add lua functions to get database content
|
2023-11-21 13:49:47 +11:00 |
|
jacqueline
|
f34b640588
|
Add 'btn' support to luavgl
|
2023-11-20 16:59:53 +11:00 |
|
jacqueline
|
5c7f07e638
|
Use a non-IRAM-safe interrupt for gpio changes
AFAICT this *should* be IRAM-safe, but there's an xQueueReceiveGeneric
within esp-idf that doesn't appear to be allocated internally
|
2023-11-20 16:05:53 +11:00 |
|
jacqueline
|
effac1917a
|
Use C functions for the backstack, instead of a lua module
Working with the default group and root kinda sucks if you have to do it
from lua!
|
2023-11-20 14:43:20 +11:00 |
|
jacqueline
|
b7f37f6426
|
Add a generic lua function binding, alongside properties
|
2023-11-20 13:02:29 +11:00 |
|
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
|
2023-11-20 11:04:20 +11:00 |
|
jacqueline
|
d36f314a57
|
ignore generated lua docs
|
2023-11-15 20:35:36 +11:00 |
|
jacqueline
|
fa57d8ed34
|
fix incorrect docstring
|
2023-11-15 20:35:02 +11:00 |
|
jacqueline
|
51d1cee3d7
|
Set up ldoc and lua-language-server, write some module stubs
|
2023-11-15 10:22:01 +11:00 |
|
jacqueline
|
0cae95a71e
|
lua statusbar styling tweaks
|
2023-11-14 14:25:42 +11:00 |
|
jacqueline
|
71ed09a6f7
|
Add two-way databinding for lua, and flesh out the lua statusbar
|
2023-11-14 13:20:04 +11:00 |
|
jacqueline
|
8a0a167adb
|
Convert the main menu screen to lua lol
|
2023-11-12 19:14:09 +11:00 |
|
jacqueline
|
8471046a95
|
one weird trick to reduce boot time
|
2023-11-10 14:18:05 +11:00 |
|
jacqueline
|
270bce7212
|
Fix display off on boot with new lock switch direction
|
2023-11-10 14:17:32 +11:00 |
|
jacqueline
|
0419def89b
|
Change lock switch direction to match r7 standby
|
2023-11-10 08:19:27 +11:00 |
|
jacqueline
|
c1db38ba42
|
Increase the size of the system fsm QueueSet
I added the samd to it but forgot to increase the set size.
|
2023-11-08 16:59:02 +11:00 |
|
jacqueline
|
0e661409b1
|
Fix missing licenses
Includes removing unused shared_string
This helps with #6, but there's still more work to do
|
2023-11-07 16:58:08 +11:00 |
|
jacqueline
|
3abf599c4f
|
Improve memory usage of mad codec
- fix leaks
- ensure the synth data is always in internal ram
|
2023-11-07 15:57:56 +11:00 |
|
jacqueline
|
b463ceaef4
|
use std::list instead of std::deque for events
std::deque loves to allocate 512 bytes in internal memory just for fun
|
2023-11-07 14:53:47 +11:00 |
|
jacqueline
|
2b19e57034
|
Ensure the GPIO ISR is in IRAM
The shared interrupt is flagged as IRAM-capable, so this handler should
be too.
|
2023-11-07 14:46:32 +11:00 |
|
jacqueline
|
19f0675b44
|
Make readahead a bit more robust for codecs with different io speeds
|
2023-11-07 13:38:18 +11:00 |
|
jacqueline
|
9dc8f5646c
|
Make foxenflac a little less memory hungry
We should really just use the xiph library :/
|
2023-11-07 13:37:58 +11:00 |
|
jacqueline
|
9b52fad86e
|
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
|
2023-11-07 10:40:18 +11:00 |
|
jacqueline
|
75a8f836d5
|
Wait for background readahead to finish before deleting its buffer
|
2023-11-07 10:39:43 +11:00 |
|
jacqueline
|
1f031f565a
|
Rename the db background task to be more generic
|
2023-11-07 10:37:12 +11:00 |
|
jacqueline
|
499d5a942f
|
Add a wrapper codec source that does readahead
|
2023-11-07 10:32:07 +11:00 |
|
jacqueline
|
d36fe9be6b
|
Use atomics for new file notification instead of a semaphore
|
2023-11-07 08:30:26 +11:00 |
|
jacqueline
|
05ce360c99
|
Flag off a few unused features
|
2023-11-06 17:11:52 +11:00 |
|
jacqueline
|
f9f8e141c2
|
Fix weird strncpy usage
|
2023-11-06 17:11:42 +11:00 |
|
jacqueline
|
8309e67a86
|
Read in larger chunks from SD at a time
This helps a little with the stuttering. Some kind of readahead is
probably the ideal tho.
|
2023-11-06 17:10:52 +11:00 |
|
jacqueline
|
c6f2b52331
|
Improve bt scanning responsiveness
|
2023-11-06 08:19:28 +11:00 |
|
jacqueline
|
2dd72320dd
|
Don't try to treat whe whole LC_COLLATE as one big string
it would be a bad idea
|
2023-10-31 14:54:30 +11:00 |
|
jacqueline
|
2ef022a2f9
|
Remove loading spinner for 'Coming up'
it's really slow!
|
2023-10-31 14:28:41 +11:00 |
|
jacqueline
|
81855a78f4
|
Revert "Improve representation of track numbers in indexes"
This reverts commit a3da259a37.
|
2023-10-31 10:33:42 +11:00 |
|
jacqueline
|
a3da259a37
|
Improve representation of track numbers in indexes
|
2023-10-31 09:45:29 +11:00 |
|
jacqueline
|
4cc5fa4c9c
|
Store the current collator in the database
|
2023-10-31 09:01:34 +11:00 |
|
jacqueline
|
b58c081508
|
add locale-aware colation to db indexes
|
2023-10-30 15:52:26 +11:00 |
|
jacqueline
|
6ef0fa2b1b
|
improve on clangd setup instructions
|
2023-10-28 09:23:12 +11:00 |
|
jacqueline
|
4e0aaa825b
|
Free up some IRAM
|
2023-10-26 16:56:22 +11:00 |
|
jacqueline
|
97d63c5553
|
Add a target that yells at you if your sdkconfig is out of date
|
2023-10-26 12:50:02 +11:00 |
|
jacqueline
|
2086ab09b8
|
Implement incremental updates of database indexes
This makes rescanning the library *so* much faster. Yay!
|
2023-10-24 16:29:46 +11:00 |
|
jacqueline
|
4f8c127da9
|
Use an mutable struct + const instead of an immutable class
|
2023-10-24 12:50:03 +11:00 |
|
jacqueline
|
5b5b792467
|
Skip old tracks when scanning the sd card
|
2023-10-24 11:50:06 +11:00 |
|
jacqueline
|
ddf0128496
|
Do not deafen people
|
2023-10-21 10:48:32 +11:00 |
|
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.
|
2023-10-20 12:44:52 +11:00 |
|
jacqueline
|
c27880282a
|
Bump esp-idf to v5.1.1
|
2023-10-20 10:23:32 +11:00 |
|
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
|
2023-10-19 13:01:28 +11:00 |
|
jacqueline
|
782e8dc8c2
|
Add better controls for queue manipulation
|
2023-10-18 14:35:28 +11:00 |
|
jacqueline
|
2eb7eaa2a6
|
Go straight to the playback screen after 'play now'
|
2023-10-18 09:41:01 +11:00 |
|
jacqueline
|
bb91724b94
|
Codec memory tweaks
- Ensure mad and ogg structs are allocated internally
- Free old codec before making a new one
|
2023-10-16 16:15:48 +11:00 |
|
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.
|
2023-10-16 13:52:43 +11:00 |
|
jacqueline
|
96ea6cef88
|
Fix incorrect track lengths
|
2023-10-16 13:07:52 +11:00 |
|
jacqueline
|
f03093e5c2
|
Remove early-exit when there's no battery
SAMD is currently returning incorrect states, so this is the cause of
the battery meter often reading 0 when not plugged in
|
2023-10-16 08:50:50 +11:00 |
|
jacqueline
|
f27670a112
|
acquire spi lock in the opus tag parser
|
2023-10-14 11:59:34 +11:00 |
|
jacqueline
|
ac320e376e
|
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
|
2023-10-14 11:47:00 +11:00 |
|
jacqueline
|
c2dddba30a
|
Add very basic db versioning
|
2023-10-14 11:46:42 +11:00 |
|
jacqueline
|
542e6f5d90
|
The tweaking of max internal alloc size will continue until performance improves
|
2023-10-14 11:30:34 +11:00 |
|
jacqueline
|
5a459ac6e9
|
Remove accidental debug thing
|
2023-10-13 20:41:31 +11:00 |
|
jacqueline
|
ceba508593
|
Add modified time to TrackData
|
2023-10-13 15:29:06 +11:00 |
|
jacqueline
|
afbf3c31f4
|
Use libcppbor for much much nicer db encoding
|
2023-10-13 15:05:49 +11:00 |
|
jacqueline
|
20d1c280a7
|
Remove templating of Continuation
|
2023-10-13 11:13:20 +11:00 |
|
jacqueline
|
53cf476876
|
Remove mV from top bar, now that we know it's not the issue
|
2023-10-12 11:51:14 +11:00 |
|
jacqueline
|
936e327974
|
Claw back a little more memory
|
2023-10-12 11:20:59 +11:00 |
|
jacqueline
|
f0d3a27dd9
|
Ensure StaticTask_t allocs are internal
|
2023-10-12 09:02:19 +11:00 |
|
jacqueline
|
ddcaa967fd
|
Update battery mV even with the samd doesn't respond
|
2023-10-12 08:42:51 +11:00 |
|
jacqueline
|
b0d85fc0d6
|
Skip ID3 tags in the mad decoder; mad itself sometimes chokes on them
|
2023-10-10 13:13:41 +11:00 |
|
jacqueline
|
6c20eafd05
|
First pass at having some kind of design and theming
|
2023-10-05 14:24:00 +11:00 |
|
jacqueline
|
bf1fc5a2a0
|
Guard audio pipeline file accesses
|
2023-10-05 14:23:48 +11:00 |
|
jacqueline
|
ee8e523456
|
Add a basic database reindex screen
|
2023-10-04 15:38:18 +11:00 |
|
jacqueline
|
28633e857f
|
Implement UI for enqueuing instead of replacing the current track
|
2023-10-04 14:47:30 +11:00 |
|
jacqueline
|
7a7fafdd92
|
Guard leveldb file access with the SPI lock too
Same freeze as was previously ocurring, only this one was a fair bit
rarer.
|
2023-10-04 13:43:43 +11:00 |
|
jacqueline
|
5c04e2ad8d
|
Neaten up the various kinds of inputs, and move volumes to The New Way
|
2023-10-04 10:18:31 +11:00 |
|
jacqueline
|
c851b789fa
|
Write up the new input modes to NVS and settings
|
2023-10-03 15:00:28 +11:00 |
|
jacqueline
|
09f129662e
|
Add scroll velocity + more input methods
|
2023-10-03 14:33:36 +11:00 |
|