|
@@ -16,17 +16,10 @@ def reshape_exec(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
|
|
f=0 #fade
|
|
f=0 #fade
|
|
|
|
|
|
out = []
|
|
out = []
|
|
- delay=0
|
|
|
|
- if DELAY is not None:
|
|
|
|
- if DELAY < 0:
|
|
|
|
- delay = (DELAY*-1)*len(data)
|
|
|
|
- delay += DELAY
|
|
|
|
- print("-"*20+" DELAY is MINUS !!!",DELAY,delay)
|
|
|
|
|
|
|
|
for row in data:
|
|
for row in data:
|
|
#cprint("reshape_exec in:",row)
|
|
#cprint("reshape_exec in:",row)
|
|
line = {}
|
|
line = {}
|
|
- line["DELAY"]=round(delay,3)
|
|
|
|
if type(value) is float:
|
|
if type(value) is float:
|
|
line["VALUE"] = value #round(value,3)
|
|
line["VALUE"] = value #round(value,3)
|
|
else:
|
|
else:
|
|
@@ -77,64 +70,91 @@ def reshape_exec(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
|
|
line["FADE"] = round(f,4)
|
|
line["FADE"] = round(f,4)
|
|
else:
|
|
else:
|
|
line["FADE"] = f
|
|
line["FADE"] = f
|
|
-
|
|
|
|
- if 0:
|
|
|
|
- cprint("reshape_exec j",line,color="red")
|
|
|
|
- #cprint("reshape_exec out:",line)
|
|
|
|
|
|
+
|
|
out.append(line)
|
|
out.append(line)
|
|
if DELAY is not None:
|
|
if DELAY is not None:
|
|
delay+=DELAY #0.02
|
|
delay+=DELAY #0.02
|
|
|
|
|
|
- #for j in out: # info
|
|
|
|
- # print("reshape_exec",j)
|
|
|
|
return out
|
|
return out
|
|
|
|
|
|
-def calc_align_delay(meta,xdelay,vcmd):
|
|
|
|
|
|
+def filter_fix(vcmd):
|
|
|
|
+ FIX = {}
|
|
|
|
+ for i in vcmd:
|
|
|
|
+ #if i.get("ATTR","").startswith("_"):
|
|
|
|
+ # continue
|
|
|
|
+ ID = i.get("FIX")
|
|
|
|
+ if ID:
|
|
|
|
+ FIX[ID] = {"DELAY":0}
|
|
|
|
+ return FIX
|
|
|
|
+
|
|
|
|
+def calc_align_delay(meta,_xdelay,xfade,vcmd):
|
|
for i in vcmd:
|
|
for i in vcmd:
|
|
- i["DELAY"] = round(0,3)
|
|
|
|
|
|
+ i["DELAY"] = round(0,3) # clean DELAY TIMING
|
|
|
|
+ print("calc_align_delay",xfade,_xdelay)
|
|
|
|
+ if type(xfade) not in [int,float]:
|
|
|
|
+ return
|
|
|
|
+ if type(_xdelay) not in [int,float]:
|
|
|
|
+ return
|
|
|
|
+
|
|
|
|
+ FIX = filter_fix(vcmd)
|
|
|
|
+ XX = list(FIX.keys())
|
|
|
|
+
|
|
|
|
+ _len = len(XX)
|
|
|
|
+ _len_h = int(len(XX)/2)
|
|
|
|
+ xdelay = xfade/(_len)*_xdelay
|
|
# ALIGN-DELAY
|
|
# ALIGN-DELAY
|
|
_xd = 0
|
|
_xd = 0
|
|
- if type(xdelay) in [int,float]:
|
|
|
|
- _align = meta.ALIGN.val()
|
|
|
|
- _len = len(vcmd)
|
|
|
|
- _len_h = int(len(vcmd)/2)
|
|
|
|
- if _align == ">":
|
|
|
|
- for i in vcmd:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- elif _align == "<":
|
|
|
|
- for i in vcmd[::-1]:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- elif _align == "><":
|
|
|
|
- xdelay *= 2
|
|
|
|
- for i in vcmd[:_len_h]:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- _xd = 0
|
|
|
|
- for i in vcmd[:_len_h-1:-1]:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- elif _align == "<>":
|
|
|
|
- xdelay *= 2
|
|
|
|
- for i in vcmd[:_len_h-1][::-1]:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- _xd = 0
|
|
|
|
- for i in vcmd[:_len_h:-1][::-1]:
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
- elif _align == "rnd":
|
|
|
|
- _rnd = list(range(len(vcmd)))
|
|
|
|
- import random
|
|
|
|
- random.shuffle(_rnd)
|
|
|
|
- for j in _rnd:
|
|
|
|
- i = vcmd[j]
|
|
|
|
- i["DELAY"] = round(_xd,3)
|
|
|
|
- _xd += xdelay
|
|
|
|
|
|
+
|
|
|
|
+ _align = meta.ALIGN.val()
|
|
|
|
+ if _align == ">":
|
|
|
|
+ for i in XX:
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ elif _align == "<":
|
|
|
|
+ for i in XX[::-1]:
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ elif _align == "><":
|
|
|
|
+ xdelay *= 2
|
|
|
|
+ for i in XX[:_len_h]:
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ _xd = 0
|
|
|
|
+ for i in XX[:_len_h-1:-1]:
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ elif _align == "<>":
|
|
|
|
+ xdelay *= 2
|
|
|
|
+ for i in XX[:_len_h-1][::-1]:
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ _xd = 0
|
|
|
|
+ for i in XX[:_len_h:-1][::-1]:
|
|
|
|
+ _xd += xdelay
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ elif _align == "rnd":
|
|
|
|
+ _rnd = list(range(len(FIX)))
|
|
|
|
+ import random
|
|
|
|
+ random.shuffle(_rnd)
|
|
|
|
+ for j in _rnd:
|
|
|
|
+ i = FIX[j]
|
|
|
|
+ FIX[i]["DELAY"] = round(_xd,3)
|
|
|
|
+ _xd += xdelay
|
|
|
|
+
|
|
|
|
+ sum_delay = 0
|
|
|
|
+ for i in FIX:
|
|
|
|
+ print("1-->",i,FIX[i])
|
|
|
|
+ sum_delay += FIX[i]["DELAY"]
|
|
|
|
+ print("###",round(sum_delay,4),round(_xd,4),round(xdelay,4),len(FIX))
|
|
|
|
|
|
for i in vcmd:
|
|
for i in vcmd:
|
|
- print("1-->",i)
|
|
|
|
|
|
+ ID = i["FIX"]
|
|
|
|
+ if ID in i["FIX"]:
|
|
|
|
+ i["DELAY"] = FIX[ID]["DELAY"]
|
|
|
|
+ #print("2-->",ID,i)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
import lib.showlib as showlib
|
|
import lib.showlib as showlib
|
|
|
|
|