jacqueline
5866513c53
Move the list of unexplored files into spiram
1 year ago
jacqueline
a37b517356
Improve handing of tracks with missing titles
1 year ago
Hailey Somerville
44d848ac66
define database::kCurrentDbVersion publicly
1 year ago
jacqueline
0f03efe868
Make db updates more robust again the sd card disappearing
...
Accidentally found a bug while live on youtube :)
1 year ago
jacqueline
32cee65809
Accept opus files that don't fully parse, remove opus-specific tag parser
...
The libtags change is a bit of a hack... I think we're running into
tracks that have long lyrics tags, which pushes the other tags out onto
the next ogg page?
1 year ago
jacqueline
c8bbd4d52c
Reduce leveldb cache sizes and worker stacks, increase number of workers
1 year ago
jacqueline
dad159dc3c
Use a single pool of bg workers instead of separate tasks per use case
...
Also: bump the number of workers tasks up to 3 from 2!
This makes bg db updates + playback work :)
1 year ago
jacqueline
eacea59e8a
Do more to avoid and recover from partial db updates
...
- do not power off in an update is in progress
- explicitly store last update time, rather than deriving it from
unchanged tracks.
1 year ago
jacqueline
04ff8bf492
Extract album artist from libtags-processed files
1 year ago
jacqueline
1f5249de6f
shift some long-lived allocs into spi ram
1 year ago
jacqueline
7cdcd44e0c
Begin migration of remaining screens to Lua
1 year ago
jacqueline
62d51a304e
replace foxenflac with miniflac
...
it's better!
1 year ago
jacqueline
01eb868373
Support more datatypes in track tags
1 year ago
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
1 year ago
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
1 year ago
jacqueline
4f5422e906
Rewrite the track queue to work directly with database iterators
1 year ago
jacqueline
7c6eb2997c
Migrate 'now playing' screen to lua
1 year ago
jacqueline
09c0e1608f
Implement adding to the playback queue from lua
1 year ago
jacqueline
06aca259cb
Add basic lua browser screen
1 year ago
jacqueline
cd46d7bd20
Make lua db iterators async
1 year ago
jacqueline
d70ec9bf44
Add lua functions to get database content
1 year ago
jacqueline
8a0a167adb
Convert the main menu screen to lua lol
1 year ago
jacqueline
499d5a942f
Add a wrapper codec source that does readahead
2 years ago
jacqueline
81855a78f4
Revert "Improve representation of track numbers in indexes"
...
This reverts commit a3da259a37
.
2 years ago
jacqueline
a3da259a37
Improve representation of track numbers in indexes
2 years ago
jacqueline
4cc5fa4c9c
Store the current collator in the database
2 years ago
jacqueline
b58c081508
add locale-aware colation to db indexes
2 years ago
Robin Howard
18d90051c9
Annotates the kTag with maybe_unused; they're only used for logging.
2 years ago
jacqueline
2086ab09b8
Implement incremental updates of database indexes
...
This makes rescanning the library *so* much faster. Yay!
2 years ago
jacqueline
4f8c127da9
Use an mutable struct + const instead of an immutable class
2 years ago
jacqueline
5b5b792467
Skip old tracks when scanning the sd card
2 years ago
jacqueline
f27670a112
acquire spi lock in the opus tag parser
2 years ago
jacqueline
c2dddba30a
Add very basic db versioning
2 years ago
jacqueline
ceba508593
Add modified time to TrackData
2 years ago
jacqueline
afbf3c31f4
Use libcppbor for much much nicer db encoding
2 years ago
jacqueline
20d1c280a7
Remove templating of Continuation
2 years ago
jacqueline
ee8e523456
Add a basic database reindex screen
2 years ago
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.
2 years ago
jacqueline
ba940baa0a
Add a lock around the SPI bus
...
This seems to have been the cause of recurring deadlocks that have been
difficult to repo.
2 years ago
jacqueline
f09ba5ffd5
Use bindey for databinding instead of hand rolling ui updates
2 years ago
jacqueline
4d99d22e10
std::string -> std::pmr::string in psram
2 years ago
jacqueline
64d9cec8b0
fix some leveldb errors on transition to standby
...
turns out you gotta free the iterators. wow!!
2 years ago
jacqueline
63215ccf16
Fix missing track number issues
2 years ago
jacqueline
dad14baa73
Add an opus-specific tag parser
2 years ago
jacqueline
b413b2f264
Add all albums index, do some locales prep
2 years ago
jacqueline
6d831fa7a8
Don't reuse iterators across page fetches
...
This was done for performance reasons, but performance seems okay
without it, and it introduces a bunch of memory management headaches.
2 years ago
jacqueline
320fdeb9d8
Use a service locator instead of passing around subsets of drivers between FSMs
2 years ago
jacqueline
d8533c42df
Start on basic onboarding screens
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