Browse Source

add: sdl-fixture mouse-encoder

micha 1 năm trước cách đây
mục cha
commit
a543d3ab56
3 tập tin đã thay đổi với 32 bổ sung15 xóa
  1. 12 7
      _LibreLightDesk.py
  2. 17 6
      tksdl/fix.py
  3. 3 2
      tool/sdl_elm.py

+ 12 - 7
_LibreLightDesk.py

@@ -408,20 +408,25 @@ def JSCB(x,sock=None):
                     if "event" in msg:
                         if "FIXTURES" == msg["event"]:
                             FIX=0
-                            enum=-1
+                            VAL=""
                             ATTR=""
                             if "FIX" in msg:
                                 FIX=msg["FIX"]
-                            if "E-NUM" in msg:
-                                enum=msg["E-NUM"]
+                            if "VAL" in msg:
+                                VAL=msg["VAL"]
                             if "ATTR" in msg:
                                 ATTR=msg["ATTR"]
-                            print("  Xevent",FIX,enum,ATTR)
+                            print("  Xevent",FIX,VAL,ATTR)
                             #cb = Xevent(fix=FIX,elem=None,attr=ATTR,mode="ENCODER",data=[]) #data)
-                            FIXTURES.encoder(str(FIX),ATTR,xval="click",xfade=0,xdelay=0)#,blind=0)
+                            #FIXTURES.encoder(str(FIX),ATTR,xval="click",xfade=0,xdelay=0)#,blind=0)
+                            FIXTURES.encoder(str(FIX),ATTR,xval=VAL,xfade=0,xdelay=0)#,blind=0)
+
                             #print(dir(cb))
-                            event =  DEVENT()
-                            event.num = enum
+                            #event =  DEVENT()
+                            #event.num = enum
+
+                            #master.refresh_fix() # delayed
+                            #refresher_fix.reset() # = Refresher()
                             #cb.cb(event)
             #bounce msg
             #if sock:

+ 17 - 6
tksdl/fix.py

@@ -499,12 +499,23 @@ while 1:
                 data = table_grid[t].data
                 FIX = table_grid[t].ID
                 ATTR = table_grid[t].ATTR
-
-                if "BUTTON" in change:
-                    if "press" in change["BUTTON"]:
-                        print(" ATTR:",FIX,ATTR,data)
-                        print("  CHANGE",change)
-                        msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"E-NUM":1,"ATTR":ATTR}]).encode("utf-8")
+                print("change",change)
+
+                key = "MOUSE ENCODER"
+                if key in change:
+                    if "press" in change[key]:
+                        msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"VAL":"++","ATTR":ATTR}]).encode("utf-8")
+                    if "release" in change[key]:
+                        msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"VAL":"--","ATTR":ATTR}]).encode("utf-8")
+                    print("   ",msg)
+                    cmd_client.send(msg)
+
+                key = "BUTTON"
+                if key in change:
+                    if "press" in change[key]:
+                        #print(" ATTR:",FIX,ATTR,data)
+                        #print("  CHANGE",change)
+                        msg = json.dumps([{"event":"FIXTURES","TYPE":"ENCODERS","FIX":str(FIX),"VAL":"click","ATTR":ATTR}]).encode("utf-8")
                         print("   ",msg)
                         cmd_client.send(msg)
                 

+ 3 - 2
tool/sdl_elm.py

@@ -125,7 +125,6 @@ class ELEM_BUF():
     def release(self):
         if self.type == "fader":
             self.inc(-self.increment)
-            return
         if self.type == "flash":
             self.val.set(0)
         self.events.append("release")
@@ -244,7 +243,7 @@ class Button():
         self.btn3.color_on = WHITHE
 
         self.btn4 = ELEM_BUF() 
-        self.btn4.name = "MOUSE ECODER"
+        self.btn4.name = "MOUSE ENCODER"
         self.btn4.increment = 4.4
         self.btn4.type = "fader"
         self.btn4.nr_on  = [4]
@@ -400,6 +399,8 @@ class Button():
                         print("----------------",btn.name,re)
                         r_event[btn.name] = re
         return r_event
+
+
 def draw_mouse_box(window,pos1,pos2,color=[128,128,128],text=1):
     color = [200,0,0,127]