fixed layer overlay check and increasing layer backoff over time

This commit is contained in:
Askill 2022-01-05 13:25:49 +01:00
parent bd2f4afa9a
commit cb20c6cb70
2 changed files with 7 additions and 4 deletions

View File

@ -100,7 +100,7 @@ class Layer:
'''Checks for overlap in time between current and given layer''' '''Checks for overlap in time between current and given layer'''
s1 = self.exportOffset s1 = self.exportOffset
e1 = self.lastFrame - self.startFrame + self.exportOffset e1 = self.lastFrame - self.startFrame + self.exportOffset
s2 = self.exportOffset s2 = layer2.exportOffset
e2 = layer2.lastFrame - layer2.startFrame + self.exportOffset e2 = layer2.lastFrame - layer2.startFrame + self.exportOffset
if s2 >= s1 and s2 <= e1: if s2 >= s1 and s2 <= e1:

View File

@ -107,10 +107,12 @@ class LayerManager:
def calcTimeOffset(self): def calcTimeOffset(self):
lenL = len(self.layers) lenL = len(self.layers)
for i, layer in enumerate(self.layers): for i in range(1, len(self.layers)):
layer = self.layers[i]
print( print(
f"\r {i}/{lenL}", end='\r') f"\r {i}/{lenL}", end='\r')
overlap = True overlap = True
tries = 1
while overlap: while overlap:
overlap = False overlap = False
for l in self.layers[:i:-1]: for l in self.layers[:i:-1]:
@ -118,7 +120,8 @@ class LayerManager:
overlap = True overlap = True
break break
if overlap: if overlap:
self.layers[i].exportOffset += 20 self.layers[i].exportOffset += 20 * tries
tries += 1
if self.layers[i].exportOffset >= 30000: if self.layers[i].exportOffset >= 300000:
break break