MCPcopy
hub / github.com/stemdeckapp/stemdeck / loadMixIntoState

Function loadMixIntoState

static/js/mixer.js:20–34  ·  view source on GitHub ↗
(jobId, loadedStemNames = STEM_NAMES)

Source from the content-addressed store, hash-verified

18}
19
20export async function loadMixIntoState(jobId, loadedStemNames = STEM_NAMES) {
21 let stored = {};
22 try {
23 const data = await storeGet(`stemdeck:mix:${jobId}`, {});
24 if (data && typeof data === "object") stored = data;
25 } catch (e) { console.warn("[mixer] failed to load mix state:", e); }
26 for (const name of TRACK_NAMES) {
27 Object.assign(mixerState[name], defaultMixerEntry(), stored[name] || {});
28 }
29 // If all loaded stems are muted the session is unplayable -- unmute as recovery.
30 const loadedStems = loadedStemNames.filter((n) => mixerState[n]);
31 if (loadedStems.length > 0 && loadedStems.every((n) => mixerState[n].muted)) {
32 for (const name of loadedStems) mixerState[name].muted = false;
33 }
34}
35
36export function resetMixerState() {
37 for (const name of TRACK_NAMES) {

Callers 1

wireUpAudioFunction · 0.90

Calls 2

storeGetFunction · 0.90
defaultMixerEntryFunction · 0.85

Tested by

no test coverage detected