Fix empty measures being ignored
This commit is contained in:
parent
39655fc534
commit
4b986c62ec
@ -123,43 +123,6 @@
|
|||||||
var circleID = 0
|
var circleID = 0
|
||||||
|
|
||||||
var pushMeasure = () => {
|
var pushMeasure = () => {
|
||||||
for(var i = 0; i < currentMeasure.length; i++){
|
|
||||||
var note = currentMeasure[i]
|
|
||||||
if(firstNote && note.type){
|
|
||||||
firstNote = false
|
|
||||||
if(ms < 0){
|
|
||||||
this.soundOffset = ms
|
|
||||||
ms = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
note.start = ms
|
|
||||||
if(note.endDrumroll){
|
|
||||||
note.endDrumroll.endTime = ms
|
|
||||||
}
|
|
||||||
var msPerMeasure = 60000 * measure / bpm
|
|
||||||
ms += msPerMeasure / currentMeasure.length
|
|
||||||
}
|
|
||||||
for(var i = 0; i < currentMeasure.length; i++){
|
|
||||||
var note = currentMeasure[i]
|
|
||||||
if(note.type){
|
|
||||||
circleID++
|
|
||||||
var circleObj = new Circle({
|
|
||||||
id: circleID,
|
|
||||||
start: note.start,
|
|
||||||
type: note.type,
|
|
||||||
txt: note.txt,
|
|
||||||
speed: note.bpm * note.scroll / 60,
|
|
||||||
gogoTime: note.gogo,
|
|
||||||
endTime: note.endTime,
|
|
||||||
requiredHits: note.requiredHits
|
|
||||||
})
|
|
||||||
if(lastDrumroll === note){
|
|
||||||
lastDrumroll = circleObj
|
|
||||||
}
|
|
||||||
|
|
||||||
circles.push(circleObj)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(barLine){
|
if(barLine){
|
||||||
var note = currentMeasure[0]
|
var note = currentMeasure[0]
|
||||||
if(note){
|
if(note){
|
||||||
@ -182,6 +145,48 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(currentMeasure.length){
|
||||||
|
for(var i = 0; i < currentMeasure.length; i++){
|
||||||
|
var note = currentMeasure[i]
|
||||||
|
if(firstNote && note.type){
|
||||||
|
firstNote = false
|
||||||
|
if(ms < 0){
|
||||||
|
this.soundOffset = ms
|
||||||
|
ms = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
note.start = ms
|
||||||
|
if(note.endDrumroll){
|
||||||
|
note.endDrumroll.endTime = ms
|
||||||
|
}
|
||||||
|
var msPerMeasure = 60000 * measure / bpm
|
||||||
|
ms += msPerMeasure / currentMeasure.length
|
||||||
|
}
|
||||||
|
for(var i = 0; i < currentMeasure.length; i++){
|
||||||
|
var note = currentMeasure[i]
|
||||||
|
if(note.type){
|
||||||
|
circleID++
|
||||||
|
var circleObj = new Circle({
|
||||||
|
id: circleID,
|
||||||
|
start: note.start,
|
||||||
|
type: note.type,
|
||||||
|
txt: note.txt,
|
||||||
|
speed: note.bpm * note.scroll / 60,
|
||||||
|
gogoTime: note.gogo,
|
||||||
|
endTime: note.endTime,
|
||||||
|
requiredHits: note.requiredHits
|
||||||
|
})
|
||||||
|
if(lastDrumroll === note){
|
||||||
|
lastDrumroll = circleObj
|
||||||
|
}
|
||||||
|
|
||||||
|
circles.push(circleObj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var msPerMeasure = 60000 * measure / bpm
|
||||||
|
ms += msPerMeasure
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var lineNum = meta.start; lineNum < meta.end; lineNum++){
|
for(var lineNum = meta.start; lineNum < meta.end; lineNum++){
|
||||||
@ -231,6 +236,9 @@
|
|||||||
case "delay":
|
case "delay":
|
||||||
ms += (parseFloat(value) || 0) * 1000
|
ms += (parseFloat(value) || 0) * 1000
|
||||||
break
|
break
|
||||||
|
case "barlineon":
|
||||||
|
barLine = true
|
||||||
|
break
|
||||||
case "barlineoff":
|
case "barlineoff":
|
||||||
barLine = false
|
barLine = false
|
||||||
break
|
break
|
||||||
|
Loading…
Reference in New Issue
Block a user