playlist importando sample track
Deploy / Deploy (push) Successful in 1m56s Details

This commit is contained in:
JotaChina 2025-12-25 18:04:20 -03:00
parent 95a9b5c4d7
commit 900d07db08
1 changed files with 15 additions and 6 deletions

View File

@ -416,16 +416,25 @@ export async function parseMmpContent(xmlString) {
// cada <sampletco> é um clip // cada <sampletco> é um clip
const clips = Array.from(node.querySelectorAll(":scope > sampletco")); const clips = Array.from(node.querySelectorAll(":scope > sampletco"));
clips.forEach((c, cidx) => { clips.forEach((c, cidx) => {
// resolve caminho via manifest; fallback para /samples
const src = c.getAttribute("src") || ""; const src = c.getAttribute("src") || "";
const fileName = src.split(/[\\/]/).pop(); // "#2.wav" const fileName = src.split(/[\\/]/).pop(); // "#2.wav"
const projectFolder = encodeURIComponent(lastFolder(src) || ""); // "210424"
const encodedFile = encodeURIComponent(fileName);
// resolve caminho via manifest; fallback para /samples // tenta pelo manifest primeiro
const resolvedUrl = let resolvedUrl = fileName ? pathMap[fileName] : null;
(fileName && pathMap[fileName]) ||
(fileName ? `${SAMPLE_SRC}/${fileName}` : null); // se o manifest não tiver ou não vier com /{project}/, monta no padrão do servidor
if (!resolvedUrl || (projectFolder && !resolvedUrl.includes(`/${projectFolder}/`))) {
resolvedUrl = projectFolder
? `${SAMPLE_SRC}/${projectFolder}/${encodedFile}` // ✅ SAMPLE_SRC/{project}/{file}
: null;
}
if (!resolvedUrl) return; if (!resolvedUrl) return;
const posTicks = Number(c.getAttribute("pos") || 0); const posTicks = Number(c.getAttribute("pos") || 0);
const lenTicks = Number(c.getAttribute("len") || 0); const lenTicks = Number(c.getAttribute("len") || 0);