feat: auto-scan soundfont for Synth instrument list

Background daemon (30s interval) tracks scanned files via
sf_scan_state.json (size+mtime). Only inspects new/changed SFs.
Catalog served from scanner cache, no full re-scan per request.
Upload/delete trigger immediate re-scan.
This commit is contained in:
2026-07-28 07:06:37 +07:00
parent e68fe27d7f
commit d0def4bf1e
6 changed files with 150 additions and 11 deletions
+2 -2
View File
@@ -104,8 +104,8 @@ class SoundFontInspector:
return self._catalog_cache
return self.generate_full_catalog()
def get_condensed_catalog_summary(self) -> dict:
catalog = self.get_catalog()
def get_condensed_catalog_summary(self, catalog: dict = None) -> dict:
catalog = catalog if catalog is not None else self.get_catalog()
condensed = {}
for sf_id, sf_info in catalog.items():
instruments = sf_info.get("instruments", [])