Эх сурвалжийг харах

cleanup, add ALIGN rnd for DELAY

micha 5 өдөр өмнө
parent
commit
682b775ea4
3 өөрчлөгдсөн 50 нэмэгдсэн , 38 устгасан
  1. 3 37
      _LibreLightDesk.py
  2. 46 0
      lib/execlib.py
  3. 1 1
      lib/meta.py

+ 3 - 37
_LibreLightDesk.py

@@ -1515,44 +1515,10 @@ class MASTER():
         #    #cprint("reshape_exec in:",row)
         #    line = {}
         #    line["DELAY"]=delay
-        for i in vcmd:
-            i["DELAY"] = round(0,3)
+
         
-        # ALIGN-DELAY
-        _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
-
-        for i in vcmd:
-            print("1-->",i)
+
+        execlib.calc_align_delay(meta,xdelay,vcmd)
 
         cmd = []
         for i,_ in enumerate(fcmd):

+ 46 - 0
lib/execlib.py

@@ -89,6 +89,52 @@ def reshape_exec(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
     #    print("reshape_exec",j)
     return out
 
+def calc_align_delay(meta,xdelay,vcmd):
+    for i in vcmd:
+        i["DELAY"] = round(0,3)
+    # ALIGN-DELAY
+    _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
+
+    for i in vcmd:
+        print("1-->",i)
 
 import lib.showlib as showlib
 

+ 1 - 1
lib/meta.py

@@ -236,7 +236,7 @@ DELAY.data["format"] = "DELAY:\n{val:0.2f}"
 DELAY.off()
 
 #class TextCycleBuffer():
-ALIGN = TextCycleBuffer(cycle=["<>","><",">","<"])
+ALIGN = TextCycleBuffer(cycle=["<>","><",">","<","rnd"])
 ALIGN.data["name"]   = "ALIGN"
 ALIGN.data["format"] = "ALIGN:\n{val:}"
 ALIGN.on()