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

Function stemsBody

static/mobile/app.js:389–419  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

387}
388
389function stemsBody() {
390 const c = state.current;
391 if (!c) return `<div class="lib-note">Pick a track from your Library to start mixing.</div>`;
392 if (c.loading) return `<div class="lib-note">Loading stems…</div>`;
393 if (c.error) return `<div class="lib-note">${esc(c.error)}</div>`;
394 const ll = lanes();
395 if (!ll.length) return `<div class="lib-note">No stems available.</div>`;
396 return `<div class="stems-grid">${ll.map((l, idx) => {
397 const vol = state.vols[l.name] ?? 1;
398 const muted = !!state.muted[l.name];
399 const soloed = !!state.solo[l.name];
400 const eff = !laneActive(l.name);
401 const pct = Math.round(vol * 100) + "%";
402 const mOn = muted ? `background:${l.color};color:#15100a;border-color:${l.color};` : "";
403 const sOn = soloed ? "background:#f5b417;color:#1a1206;border-color:#f5b417;" : "";
404 return `<div class="stem">
405 <div class="stem-top">
406 <div class="stem-dot" style="background:${l.color};box-shadow:0 0 8px ${l.color}88;opacity:${eff ? 0.4 : 1}"></div>
407 <div class="stem-name" style="color:${eff ? "#6a6a72" : l.color}">${esc(l.label)}</div>
408 <button class="ms-btn" style="${mOn}" data-action="mute" data-id="${l.name}">M</button>
409 <button class="ms-btn" style="${sOn}" data-action="solo" data-id="${l.name}">S</button>
410 </div>
411 <div class="stem-wave">${stemWave(idx, l.color, vol, eff)}</div>
412 <div class="fader" data-fader data-id="${l.name}">
413 <div class="fader-track"></div>
414 <div class="fader-fill" style="width:${pct};background:${eff ? "#46464e" : l.color}"></div>
415 <div class="fader-knob" style="left:${pct};background:${eff ? "#8a8a90" : "#fff"}"></div>
416 </div>
417 </div>`;
418 }).join("")}</div>`;
419}
420
421function analysisBody() {
422 const a = state.current?.detail?.analysis;

Callers 1

mixerScreenFunction · 0.85

Calls 4

lanesFunction · 0.85
laneActiveFunction · 0.85
stemWaveFunction · 0.85
escFunction · 0.70

Tested by

no test coverage detected