diff --git a/src/_data/facets.json b/src/_data/facets.json index 629808d4..7d2cf1c5 100644 --- a/src/_data/facets.json +++ b/src/_data/facets.json @@ -41,7 +41,7 @@ "kind": "prelude", "category": "Data", "featured": true, - "desc": "Process all your audio inputs automatically when opening any interface." + "desc": "Process all your audio inputs automatically when opening any interface. Happens once every 10 minutes." }, { "url": "facets/misc/scrobble/index.html", diff --git a/src/facets/data/process-tracks/index.inline.js b/src/facets/data/process-tracks/index.inline.js index fb3ce22b..416dd6d3 100644 --- a/src/facets/data/process-tracks/index.inline.js +++ b/src/facets/data/process-tracks/index.inline.js @@ -1,5 +1,23 @@ import foundation from "~/common/foundation.js"; -foundation.orchestrator.processTracks({ - disableWhenReady: false, -}); +const KEY = "facets/data/process-tracks/timestamp"; +const lastTimestamp = localStorage.getItem(KEY); +const now = Date.now(); + +if (lastTimestamp) { + const diff = now - JSON.parse(lastTimestamp); + + if (diff >= 10 * 60 * 1000) { + foundation.orchestrator.processTracks({ + disableWhenReady: false, + }); + + localStorage.setItem(KEY, JSON.stringify(now)); + } +} else { + foundation.orchestrator.processTracks({ + disableWhenReady: false, + }); + + localStorage.setItem(KEY, JSON.stringify(now)); +}