added time offset per layer

This commit is contained in:
Askill 2021-02-06 15:49:46 +01:00
parent fb043a61d7
commit 19500fa3f5
2 changed files with 21 additions and 0 deletions

View File

@ -27,6 +27,7 @@ class Layer:
self.bounds = []
self.masks = []
self.stats = dict()
self.exportOffset = 0
self.bounds.append([data])
self.masks.append([mask])

View File

@ -34,6 +34,7 @@ class LayerManager:
print("Before deleting sparse layers ", len(self.layers))
self.deleteSparse()
print("after deleting sparse layers ", len(self.layers))
self.calcTimeOffset()
def deleteSparse(self):
toDelete = []
@ -101,3 +102,22 @@ class LayerManager:
def sortLayers(self):
self.layers.sort(key = lambda c:c.startFrame)
def calcTimeOffset(self):
for i, layer in enumerate(self.layers):
overlap = True
while overlap:
overlap = False
for l in self.layers[i:]:
if layer.timeOverlaps(l):
if layer.spaceOverlaps(l):
overlap = True
if overlap:
self.addDelay(i, 10)
if self.layers[i].exportOffset >= 180:
break
def addDelay(self, index, frames):
for layer in self.layers[index:]:
layer.exportOffset += frames