meta.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #!/usr/bin/python3
  2. class ValueBuffer():
  3. def __init__(self,val=2,_min=0,_max=255,_inc=1):
  4. self._value = val
  5. self._on = _inc
  6. self._inc = 0.1
  7. self._min=_min
  8. self._max=_max
  9. print(self,val)
  10. def check(self):
  11. print(":::",self,self._value,self._min,self._max)
  12. if self._value < self._min:
  13. self._value = self._min
  14. print(self,"MIN !")
  15. if self._value > self._max:
  16. self._value = self._max
  17. print(self,"MAX !")
  18. def dec(self,value=None):
  19. if value is None:
  20. value = self._inc
  21. if type(value) is float:
  22. value = round(value,4)
  23. self._value -= value
  24. self.check()
  25. return self._value
  26. def inc(self,value=None):
  27. if value is None:
  28. value = self._inc
  29. if type(value) is float:
  30. value = round(value,4)
  31. self._value += value
  32. self.check()
  33. return self._value
  34. def val(self,value=None):
  35. if value is None:
  36. return float(self._value)
  37. if type(value) is float:
  38. self._value = round(value,4)
  39. self._value = value
  40. self.check()
  41. return float(self._value)
  42. def on(self):
  43. self._on = 1
  44. def off(self):
  45. self._on = 0
  46. def _is(self):
  47. if self._on:
  48. return 1
  49. return 0
  50. FADE = ValueBuffer(val=2) #2 #0.1 #1.13
  51. DELAY = ValueBuffer(val=0.2,_min=-10,_max=10,_inc=0.1)
  52. DELAY.off()
  53. FADE_move = ValueBuffer(val=4.0) #2 #0.1 #1.13
  54. FADE_move_delay = ValueBuffer(val=0) #2 #0.1 #1.13
  55. class Elem_Container():
  56. def __init__(self):
  57. #self.commands = []
  58. self.labels = []
  59. self.val = {}
  60. self.elem = {}
  61. fx_prm_main = {}
  62. fx_prm_move = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
  63. fx_prm_3 = {"SIZE":40,"SPEED":8,"OFFSET":100,"BASE":"0","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":0,"WING":2,"WIDTH":100}
  64. #fx_color = {"A":"red","B":"blue"}
  65. fx_prm = {"SIZE":255,"SPEED":10,"OFFSET":100,"BASE":"-","START":0,"MODE":0,"MO":0,"DIR":1,"INVERT":1,"SHUFFLE":0,"WING":2,"WIDTH":25,"2D-X":1,"2D:MODE":0}
  66. fx_x_modes = ["spiral","left","right","up","down","left_right","up_down"]
  67. fx_modes = ["RED","GREEN","BLUE","MAG","YELLOW","CYAN"]
  68. fx_mo = ["fade","on","rnd","ramp","ramp2","cosinus","sinus","static"]
  69. # MASTER --------
  70. setup = Elem_Container()
  71. #setup.labels = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","DRAW\nGUI","PRO\nMODE"]
  72. setup.labels = ["SAVE\nSHOW","LOAD\nSHOW","NEW\nSHOW","SAVE\nSHOW AS","SAVE &\nRESTART","PRO\nMODE"]
  73. fx_main = Elem_Container()
  74. fx_main.labels =["REC-FX","FX OFF","\n"]
  75. fx_moves = Elem_Container()
  76. fx_moves.labels =[
  77. "FX:CIR","FX:PAN","FX:TILT", "WIDTH:\n100","DIR:\n0","INVERT:\n0","\n",
  78. "SHUFFLE:\n0","SIZE:\n","SPEED:\n","START:\n","OFFSET:\n","\n"
  79. ]
  80. fx_3 = Elem_Container()
  81. fx_3.labels =[
  82. "FX:ATTR","PAN","TILT","ATTR3","ATTR4","\n",
  83. "TYPE:","SIN","COS"," "," ","\n",
  84. "WIDTH:","25","25","25","25","\n",
  85. "SIZE:","255","255","255","255","\n",
  86. "SPEED:","10","10","10","10","\n",
  87. "OFFSET:","100","100","100","100","\n",
  88. "START:","0","0","0","0","\n",
  89. "SHUFFLE:","0","0","0","0","\n",
  90. "DIR:","1","1","1","1","\n",
  91. "INVERT:","1","1","1","1","\n",
  92. " ","\n",
  93. " ","PLAY","STOP","OFF","\n",
  94. " ","CIRCL","PAN","TILT","FLAY","\n",
  95. " ","RED","GREEN","BLUE","MAGENTA","\n",
  96. "\n",
  97. ]
  98. #, "FX:SIN","FX:COS","FX:RAMP","FX:RAMP2","FX:FD","FX:ON","BASE:\n-"] #,"FX:RND" ]
  99. fx_cfg = Elem_Container()
  100. fx_cfg.labels =[
  101. "FX:DIM"," ", "WIDTH:\n25","WING:\n2","DIR:\n1","INVERT:\n1","\n","SHUFFLE:\n0"
  102. ,"SIZE:\n","SPEED:\n","START:\n","OFFSET:\n","BASE:\n-","2D-X:\n-","2D:MODE"
  103. ]
  104. fx_generic = Elem_Container()
  105. fx_generic.labels =["FX:SIN","FX:COS","FX:RAMP","FX:RAMP2","FX:FD","FX:ON","FX:STATIC"]
  106. fx_color = Elem_Container()
  107. fx_color.labels =["FX:RED","FX-C:A","FX-C:B"]
  108. commands = Elem_Container()
  109. commands.labels =["\n","ESC","CFG-BTN","LABEL","-","DEL","-","\n"
  110. ,"SELECT","FLASH","GO","-","MOVE","S-KEY","\n"
  111. ,"BLIND","CLEAR","REC","EDIT","COPY",".","\n"
  112. ]