execlib.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #/usr/bin/python3
  2. def reshape_preset(data ,value=None,xfade=0,flash=0,ptfade=0,DELAY=None):
  3. f=0 #fade
  4. out = []
  5. delay=0
  6. for row in data:
  7. #cprint("reshape_preset in:",row)
  8. line = {}
  9. line["DELAY"]=delay
  10. if type(value) is float:
  11. line["VALUE"] = value #round(value,3)
  12. else:
  13. line["VALUE"] = value
  14. if "FX" not in row:
  15. cprint("698 FX not in row...",row,color="red")
  16. row["FX"] = ""
  17. else:
  18. if type(row["FX"]) is not str:
  19. cprint("702 FX is not str...",row,color="red")
  20. row["FX"] = ""
  21. if value is not None:
  22. line["FX"] = row["FX"].split(":",1)[-1]
  23. else:
  24. line["FX"] = row["FX"]
  25. if row["FX2"]:
  26. line["FX2"] = row["FX2"]
  27. if row["FIX"]:
  28. line["FIX"] = row["FIX"]
  29. if row["ATTR"]:
  30. line["ATTR"] = row["ATTR"]
  31. if row["VALUE"] is not None:
  32. if value is None:
  33. v=row["VALUE"]
  34. if type(v) is float:
  35. line["VALUE"] = v #round(v,3)
  36. else:
  37. line["VALUE"] = v
  38. if row["ATTR"] in ["PAN","TILT"]:
  39. f = ptfade
  40. for a in ["DIM","ZOOM","FOCUS","RED","GREEN","BLUE","WHITE","AMBER","IRIS","BLADE"]:
  41. #FADE ATTRIBUTES
  42. if a in row["ATTR"]:
  43. f = xfade
  44. break
  45. if flash:
  46. xfade = 0
  47. if type( f ) is float:
  48. line["FADE"] = round(f,4)
  49. else:
  50. line["FADE"] = f
  51. if 0:
  52. cprint("reshape_preset j",line,color="red")
  53. #cprint("reshape_preset out:",line)
  54. out.append(line)
  55. if DELAY:
  56. if DELAY._is():
  57. delay+=DELAY.val()/100 #0.02
  58. return out