Add gap after block END when it doesn't chain to a same-track START
This commit is contained in:
@@ -177,6 +177,21 @@ func (b *timelineBuilder) findCell(blockID, event string) cellID {
|
|||||||
return cellID{-1, -1}
|
return cellID{-1, -1}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b *timelineBuilder) endChainsSameTrack(blockID string) bool {
|
||||||
|
trackID := b.getTrack(blockID)
|
||||||
|
for _, trigger := range b.show.Triggers {
|
||||||
|
if trigger.Source.Block != blockID || trigger.Source.Signal != "END" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
for _, target := range trigger.Targets {
|
||||||
|
if target.Hook == "START" && b.getTrack(target.Block) == trackID {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (b *timelineBuilder) buildCells() {
|
func (b *timelineBuilder) buildCells() {
|
||||||
for _, block := range b.show.Blocks {
|
for _, block := range b.show.Blocks {
|
||||||
trackID := b.getTrack(block.ID)
|
trackID := b.getTrack(block.ID)
|
||||||
@@ -192,6 +207,9 @@ func (b *timelineBuilder) buildCells() {
|
|||||||
cells = getBlockCells(block)
|
cells = getBlockCells(block)
|
||||||
}
|
}
|
||||||
b.trackCells[idx] = append(b.trackCells[idx], cells...)
|
b.trackCells[idx] = append(b.trackCells[idx], cells...)
|
||||||
|
if block.Type != "cue" && !b.endChainsSameTrack(block.ID) {
|
||||||
|
b.trackCells[idx] = append(b.trackCells[idx], TimelineCell{IsGap: true})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user