(track)
| 499 | } |
| 500 | |
| 501 | function applyStoredStemSelection(track) { |
| 502 | const stored = track.selectedStems || track.stems || []; |
| 503 | const next = stored.filter((name) => STEM_NAMES.includes(name)); |
| 504 | if (!next.length) return; |
| 505 | selectedStems.clear(); |
| 506 | for (const name of next) selectedStems.add(name); |
| 507 | saveSelectedStems(); |
| 508 | for (const btn of document.querySelectorAll(".stem-choice[data-stem]")) { |
| 509 | btn.setAttribute("aria-pressed", String(selectedStems.has(btn.dataset.stem))); |
| 510 | } |
| 511 | } |
| 512 | |
| 513 | async function loadTrackIntoStudio(trackId) { |
| 514 | let track = tracks[trackId]; |
no test coverage detected