Quellcode durchsuchen

add: show live data in ray-fix ... no dmx

micha vor 1 Tag
Ursprung
Commit
949f7774af
1 geänderte Dateien mit 86 neuen und 8 gelöschten Zeilen
  1. 86 8
      tkray/fix.py

+ 86 - 8
tkray/fix.py

@@ -113,7 +113,7 @@ class BUTTON():
         self.btn.btn2.color_on = [55,255,255,255]
         
         self.font = font14
-
+        self.val = 0
         self.btn.btn1.name=txt
         #x=btn.btn1.name
     def __repr__(self):
@@ -126,6 +126,9 @@ class BUTTON():
         c=self.btn.btn1.get_color()
         pyray.draw_rectangle(pos[1]+2,pos[0]+2,pos[3]-4,pos[2]-4,c)
 
+        c=self.btn.btn4.color  # color bar
+        pyray.draw_rectangle(pos[1]+2,pos[0]+2,1+int(110*self.val/255),3,c)
+
         c=self.btn.btn3.get_color()
         #pyray.draw_rectangle(pos[1]+1,pos[0]+1,pos[3]-2,pos[2]-2,c)
         pyray.draw_rectangle_lines_ex([pos[1]+1,pos[0]+1,pos[3]-2,pos[2]-2],1,c)
@@ -135,6 +138,8 @@ class BUTTON():
         font_size = self.font.baseSize
         pyray.draw_text_ex(self.font,str(x), [pos[1]+4,pos[0]+4], font_size, 0, [0,0,0,255])#pyray.YELLOW)#[0,255,0,255]) #pyray.YELLOW)
 
+
+
     def event(self,x,y,mouse):
         try:
             buttons = [0,0,0]
@@ -238,7 +243,7 @@ def check_area(pos,event_pos):
 
 _load_fix_DATA = {}
 _load_fix_host_list = {}
-_load_fix_last = 0
+_load_fix_last = time.time()
 _load_fix_keys = 0
 _load_fix_init = 0
 _load_fix_keys = []
@@ -247,11 +252,15 @@ def load_fix():
     global _load_fix_host_list 
     global _load_fix_keys 
     global _load_fix_init
+    global _load_fix_last
 
-    if _load_fix_last+0.1 < time.time() and _load_fix_init==1:
+    if not _load_fix_init: 
+        pass
+    elif _load_fix_last+1 > time.time():
         return _load_fix_keys.copy(), _load_fix_host_list.copy()
-    
-    _last = time.time()
+
+    print("load_fix update")
+    _load_fix_last = time.time()
     _load_fix_init = 1
 
     DATA=mc.get("fix")#cmd)
@@ -324,14 +333,83 @@ def check_buttons(buttons,host_list):
                         txt = kk+" "+str(VAL)
                         btn=BUTTON(None,txt,[ay2,ax2,H,W2])
                         btn.btn.btn1.color_on = [255,255,0,255]
+
+
+                        #self.btn4.increment = 4.4
+                        #self.btn4.type = "fader"
+                        #self.btn4.nr_on  = [4]
+                        #self.btn4.nr_off = [5]
+                        RGB = [255,255,255,255]
+                        if kk == "RED":
+                            RGB = [255,0,0,255]
+                        elif kk == "GREEN":
+                            RGB = [0,255,0,255]
+                        elif kk == "BLUE":
+                            RGB = [0,0,255,255]
+
+                        btn.btn.btn4.color = RGB
+                        #btn.btn.btn4.val._max = 100
+                        btn.val = 100
+                        #btn.btn.btn4.val.set(50)
+                        
                         buttons[key] = btn
                         add=1
                         ax2+=W2+3
 
         _y+=23
 
-    #for k in buttons:
-    #for i,k in enumerate(host_list): #.items():
+    for i,k in enumerate(host_list): #.items():
+        key = str(i)
+        v=host_list[k]
+
+        txt=v["NAME"]
+        btn = buttons[key] 
+        btn1 = buttons[key+".ID"] 
+
+        if v["ATTRIBUT"]["_ACTIVE"]["ACTIVE"]:
+            btn.btn.btn1.val.set(1)
+            btn1.btn.btn1.val.set(1)
+        else:
+            btn.btn.btn1.val.set(0)
+            btn1.btn.btn1.val.set(0)
+
+
+        if key in buttons: # insert 
+            #print(v)
+            txt="ID:"+str(v["ID"])
+            btn = buttons[key+".ID"] 
+
+            
+            key = str(i)+":rgb"
+            txt = ""
+            btn = buttons[key] 
+
+            if "ATTRIBUT" in v:
+                ATTR = v["ATTRIBUT"]
+                for kk,vv in v["ATTRIBUT"].items():
+                    if "-FINE" in kk or kk.startswith("_"):
+                        continue
+                    key = str(i)+":" +kk
+                    VAL = vv["VALUE"]
+
+                    txt = kk+" "+str(VAL)
+                    btn = buttons[key] 
+                    btn.val = VAL
+                    if kk in ["RED","GREEN","BLUE"]:
+                        _key = str(i)+":rgb"
+                        if kk == "RED":
+                            buttons[_key].btn.btn1.color[0] = VAL
+                        if kk == "GREEN":
+                            buttons[_key].btn.btn1.color[1] = VAL
+                        if kk == "BLUE":
+                            buttons[_key].btn.btn1.color[2] = VAL
+
+
+                    btn.btn.btn1.name = txt
+                    if vv["ACTIVE"]:
+                        btn.btn.btn1.val.set(1)
+                    else:
+                        btn.btn.btn1.val.set(0)
     if _last_v:
         print("init.button.ok",_last_v)
 
@@ -463,7 +541,7 @@ while not pyray.window_should_close():
         pyray.end_drawing()
         
         # frame tick speed, CPU LOAD. ------
-        delta = 1/10
+        delta = 1/5
         if delta > (time.time()-core_tick_t):
             delta -= (time.time()-core_tick_t)
         #print(delta)