From 31ea8a546c9bf3f872a7b6ca088900bb9f646615 Mon Sep 17 00:00:00 2001 From: LoveEevee Date: Thu, 11 Oct 2018 19:15:28 +0300 Subject: [PATCH] PraseTja: Fix sub-measure bpm changes --- public/src/js/parsetja.js | 56 +++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/public/src/js/parsetja.js b/public/src/js/parsetja.js index ce1fc82..c475642 100644 --- a/public/src/js/parsetja.js +++ b/public/src/js/parsetja.js @@ -159,7 +159,7 @@ if(note.endDrumroll){ note.endDrumroll.endTime = ms } - var msPerMeasure = 60000 * measure / bpm + var msPerMeasure = 60000 * measure / note.bpm ms += msPerMeasure / currentMeasure.length } for(var i = 0; i < currentMeasure.length; i++){ @@ -196,19 +196,36 @@ var line = line.slice(1).toLowerCase() var [name, value] = this.split(line, " ") + if(!branch || branch && branchType === branchPreference){ + switch(name){ + case "gogostart": + gogo = true + break + case "gogoend": + gogo = false + break + case "bpmchange": + bpm = parseFloat(value) + break + case "scroll": + scroll = parseFloat(value) + break + case "measure": + var [numerator, denominator] = value.split("/") + measure = numerator / denominator * 4 + break + case "delay": + ms += (parseFloat(value) || 0) * 1000 + break + case "barlineon": + barLine = true + break + case "barlineoff": + barLine = false + break + } + } switch(name){ - case "gogostart": - gogo = true - break - case "gogoend": - gogo = false - break - case "bpmchange": - bpm = parseFloat(value) - break - case "scroll": - scroll = parseFloat(value) - break case "branchstart": branch = true branchType = "" @@ -229,19 +246,6 @@ case "n": case "e": case "m": branchType = name break - case "measure": - var [numerator, denominator] = value.split("/") - measure = numerator / denominator * 4 - break - case "delay": - ms += (parseFloat(value) || 0) * 1000 - break - case "barlineon": - barLine = true - break - case "barlineoff": - barLine = false - break } }else if(!branch || branch && branchType === branchPreference){