meta.py 4.6 KB

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