Stop putting ASS files in the SQLite database
While it's been proven that fetching ASS data from the database is fast and reliable, it has a few disadvantages
- It creates a big ass (heh) .sqlite3 file
- Generating the database takes some time, especially on network or slow drives where accessing a lot of small files (5000+ .ass files) can be tedious for the filesystem.
- When making some tests and modifications with ASS files, you have to regenerate the database each time.
The speed difference between filesystem and database wasn't exactly big (about 100ms or so I believe for filesystem, 5ms or less for database). ASS data is needed :
- When the player asks for a song
- When someone clicks on "Display lyrics" for a particuler song
We had planned some other uses but now that we don't modify ASS data before sending it to the player anymore, the main reason for having the ASS data in the database is runtime speed and nothing else.
Is the price for runtime speed too high? Wouldn't it be more convenient if people could just modify their ASS files and hit play? If generation could take less time? (that would make database testing faster during CI/CD too.)
See issue #116 (closed) on the matter.