Hi all – writing a plugin for Archive.org’s Live Music Archive. It includes a ton of great (and legally posted) live music. The full list includes over 6,000 artists(!). Currently, I’m getting the artist list from the Advanced Search API via cURL and querying it with jq from the command line with nodejs’s child_process.spawn.
I can return the results from the API and build a “response” object for handleBrowseUri in less than 4 seconds for the whole list of artists (doing this for short lists takes a few milliseconds). The first time after a restart, Volumio loads this response to the web UI in a second or two more than it takes to build the “response” object for handleBrowseUri (5-8 seconds total). But subsequent loads, this can take a long time, as much as 20-30 seconds. Then after a restart it’s fast again.
So, why is this fast the first time and then slow later? Is there any way I can speed up loading this long list? (I’m planning on implementing a favorites list so you can only load a much shorter subset of this list if you want, but I’m like to be able to load the full list if possible).
My code is here: https://github.com/lostmyshape/volumio-livemusicarchive.
Thanks!
Noah