snix/users/Profpatsch/lyric
Profpatsch b865618291 feat(users/Profpatsch/lyric): read lyric sqlite from squashfs
The unpacked lrclib dump is 40GB at this point, but compresses very
well (to about 10GB give or take). So I thought about how to store it
in a compressed on disk, but still allow sqlite to query
efficiently (i.e. use a compression format that has arbitrary seek
indices).

Squashfs! with zstd compression!

```
mksquashfs ~/.cache/lyric-bak/ \
  ~/tmp/squashtest \
  -comp zstd \
  -Xcompression-level 5
```

Still need to write a helper that does the download & compression for
me to update the database once in a blue moon.

Unfortunately, sqlite-utils does not allow URL connection strings yet,
so I had to do a horrible SQL interpolation bit.
Issue tracker: https://mastodon.xyz/@Profpatsch/114083481108799334

This also changes the query to filter out every track that has neither
plain nor synched lyrics (yeah those exist for some reason?).

Change-Id: Ief0519ae8d9e5f14b66f6df6e3bcecae911ea142
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13208
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2025-03-06 13:16:46 +00:00
..
extension fix(users/Profpatsch/lyric/ext): print upload message to log 2024-10-05 13:49:38 +00:00
src chore(users/Profpatsch/lyric): add typescript linting rules 2024-10-05 13:49:38 +00:00
.gitignore feat(users/Profpatsch/lyric): add vscode extension & helpers 2024-10-05 13:49:38 +00:00
.prettierrc feat(users/Profpatsch): move eslint & prettier to toplevel 2024-10-05 13:49:38 +00:00
build.ninja feat(users/Profpatsch/lyric): add vscode extension & helpers 2024-10-05 13:49:38 +00:00
default.nix feat(users/Profpatsch/lyric): read lyric sqlite from squashfs 2025-03-06 13:16:46 +00:00
eslint.config.mjs feat(users/Profpatsch): move eslint & prettier to toplevel 2024-10-05 13:49:38 +00:00
lyric-mpv-script.lua fix(users/Profpatsch/lyrics): remove special chars from search 2024-10-05 13:49:38 +00:00
lyric-timing-mpv-script.lua fix(users/Profpatsch/lyric): create new lyric file if not exists 2024-10-05 13:49:38 +00:00
package.json feat(users/Profpatsch/lyric): add vscode extension & helpers 2024-10-05 13:49:38 +00:00
tsconfig.json chore(users/Profpatsch/lyric): add typescript linting rules 2024-10-05 13:49:38 +00:00