Эх сурвалжийг харах

gui: change encoder increment's

micha 3 жил өмнө
parent
commit
355f483ce9
2 өөрчлөгдсөн 101 нэмэгдсэн , 69 устгасан
  1. 31 16
      _LibreLightDesk.py
  2. 70 53
      console.py

+ 31 - 16
_LibreLightDesk.py

@@ -545,14 +545,14 @@ class Xevent():
                             fx = "cosinus"
 
                         if fx:
-                            if fx_prm["SPEED"] < 0.1:
+                            if fx_prm["SPEED"] < 0:
                                 fx = "off"
                         else:
                             if ":DIM" in self.attr:
                                 base=""
                                 ffxb= fx_mo[fx_prm["MO"]] 
                                 if attr == "DIM":
-                                    if fx_prm["SPEED"] < 0.1:
+                                    if fx_prm["SPEED"] < 0:
                                         fx = "off"
                                     else:
                                         fx = ffxb #"fade"
@@ -561,14 +561,14 @@ class Xevent():
                                 if attr == "PAN":
                                     fx = "off"
                                 if attr == "TILT":
-                                    if fx_prm["SPEED"] < 0.1:
+                                    if fx_prm["SPEED"] < 0:
                                         fx = "off"
                                     else:
                                         fx = "sinus"
                             elif ":PAN" in self.attr:
                                 base=""
                                 if attr == "PAN":
-                                    if fx_prm["SPEED"] < 0.1:
+                                    if fx_prm["SPEED"] < 0:
                                         fx = "off"
                                     else:
                                         fx = "cosinus" 
@@ -577,13 +577,13 @@ class Xevent():
                             elif ":CIR" in self.attr:
                                 base=""
                                 if attr == "PAN":
-                                    if fx_prm["SPEED"] < 0.1:
+                                    if fx_prm["SPEED"] < 0:
                                         fx = "off"
                                     else:
 
                                         fx = "cosinus" 
                                 if attr == "TILT":
-                                    if fx_prm["SPEED"] < 0.1:
+                                    if fx_prm["SPEED"] < 0:
                                         fx = "off"
                                     else:
                                         fx = "sinus"
@@ -764,32 +764,40 @@ class Xevent():
                 if fx_prm[k] == 6: #bug
                     fx_prm[k] =5
                 self.data.elem_fx_commands[self.attr]["text"] = "SZ:\n{:0.0f}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("SP:"):#SIN":
                 #global fx_prm
                 k = "SPEED"
                 if event.num == 1:
-                    pass
-                elif event.num == 2:
-                    pass
+                    fx_prm[k] = 6
+                elif event.num == 3:
+                    fx_prm[k] = 60
                 elif event.num == 4:
                     if fx_prm[k] <= 0:
-                        fx_prm[k] = 0
-                    fx_prm[k] +=5 #1.1
+                        fx_prm[k] = 0.06
+                    elif fx_prm[k] < 5:
+                        fx_prm[k] *=1.2
+                    else:
+                        fx_prm[k] +=5 #1.1
                 elif event.num == 5:
-                    fx_prm[k] -= 5 #1.1
+                    if fx_prm[k] <= 5:
+                        fx_prm[k] *=0.8
+                    else:
+                        fx_prm[k] -= 5 #1.1
                 #fx_prm[k] =int(fx_prm[k])
                 
                 if fx_prm[k] > 4000:
                     fx_prm[k] = 4000
-                if fx_prm[k] < 0:
+                if fx_prm[k] < 0.05:
                     fx_prm[k] =0
-                if fx_prm[k] == 6: #bug
+                if fx_prm[k] > 5 and fx_prm[k] < 10: #bug
                     fx_prm[k] =5
 
-                if fx_prm[k] < 0.1:
+                if fx_prm[k] < 0:
                     self.data.elem_fx_commands[self.attr]["text"] = "SP:\noff".format(fx_prm[k])
                 else:
-                    self.data.elem_fx_commands[self.attr]["text"] = "SP:\n{:0.0f}".format(fx_prm[k])
+                    self.data.elem_fx_commands[self.attr]["text"] = "SP:\n{:0.02f}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("ST:"):#SIN":
                 #global fx_prm
                 k = "START"
@@ -813,6 +821,7 @@ class Xevent():
                     fx_prm[k] =5
 
                 self.data.elem_fx_commands[self.attr]["text"] = "ST:\n{:0.0f}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("MO:"):# on,sinus,bump
                 #global fx_prm
                 k = "MO"
@@ -830,6 +839,7 @@ class Xevent():
                         fx_prm[k] = 0
                 txt = fx_mo[fx_prm[k]] 
                 self.data.elem_fx_commands[self.attr]["text"] = "MO:\n{}".format(txt)
+                cprint(fx_prm)
             elif self.attr.startswith("WIDTH:"):#SIN":
                 #global fx_prm
                 k = "WIDTH"
@@ -853,6 +863,7 @@ class Xevent():
                     fx_prm[k] =5
 
                 self.data.elem_fx_commands[self.attr]["text"] = "WIDTH:\n{:0.0f}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("DIR:"):#SIN":
                 #global fx_prm
                 k = "DIR"
@@ -866,6 +877,7 @@ class Xevent():
                     fx_prm[k] =-1
                 txt = fx_prm[k] 
                 self.data.elem_fx_commands[self.attr]["text"] = "DIR:\n{}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("INVERT:"):#SIN":
                 #global fx_prm
                 k = "INVERT"
@@ -880,6 +892,7 @@ class Xevent():
                 if fx_prm[k] == 6: #bug ?
                     fx_prm[k] =5
                 self.data.elem_fx_commands[self.attr]["text"] = k+":\n{}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("WING:"):#SIN":
                 #global fx_prm
                 k = "WING"
@@ -898,6 +911,7 @@ class Xevent():
                     
                 txt = fx_prm[k] 
                 self.data.elem_fx_commands[self.attr]["text"] = "WING:\n{}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("OF:"):#SIN":
                 #global fx_prm
                 k = "OFFSET"
@@ -921,6 +935,7 @@ class Xevent():
                     fx_prm[k] =5
 
                 self.data.elem_fx_commands[self.attr]["text"] = "OF:\n{:0.0f}".format(fx_prm[k])
+                cprint(fx_prm)
             elif self.attr.startswith("BS:"):
                 k = "BASE"
                 if event.num == 1:

+ 70 - 53
console.py

@@ -232,6 +232,8 @@ class FX():
         self.__start = start
         if width > 200:
             width = 200
+        if width <= 0:
+            width = 1
         self.__width = width
         self.__invert = invert
         self.__base = base
@@ -252,91 +254,106 @@ class FX():
             self.__clock_curr = clock
         t = self.__clock_curr  * self.__speed / 60
         t += self.__offset / 1024 #255
-        t += self.__start / 1024 #255
+        t += self.__start  / 1024 #255
         tw = t%1
         t = t * (100/self.__width)
         if tw > self.__width/100:
-            t = 1 #self.__width/100
+            t = 1 
         
-        #self.__angel = t%1*360 #self.__clock_curr%1 #*360%360
-        self.__angel = t%1*360 #self.__clock_curr%1 #*360%360
+        self.__angel = t%1*360 
         t = t%1
         rad = math.radians(self.__angel)
 
+        v=0
+        out = 0
         base = 0
+        size = self.__size
+
         if self.__base == "+": # add
-            base = self.__size
+            base = size/2
         elif self.__base == "-": # sub
-            base = self.__size*-1
+            base = size/2*-1
 
-        # todo start angle 20°
-        # todo width angle 90°
-
-        #print("{:0.2f} {:0.2f} {:0.2f} {:0.2f}".format(self.__angel ,self.__clock_curr,self.__angel ,math.sin(rad) ) )
-        out = 0
         if self.__xtype == "sinus":
-            out = math.sin( rad ) * self.__size +base #/2 + base/2
+            v = math.sin( rad )
+            v/=2
         elif self.__xtype == "cosinus":
+            v = math.cos( rad )
             if self.__base == "+": # add
-                out = math.cos( rad ) * self.__size*-1 + base #*4 #/2
-            elif self.__base == "-": # add
-                out = math.cos( rad ) * self.__size + base #*4
-            else: 
-                out = math.cos( rad ) * self.__size #+ base/2
-
-        elif self.__xtype == "on2":
-            out = self.__size/2
-            if self.__angel > 90 and self.__angel <=270:
-                out *=-1
-            out += base/2
-            print("ON {:0.2f} {:0.2f} {:0.2f} {:0.2f}".format(out,t,0,self.__angel, base))
-            #return out 
+                size *= -1
+
+            v/=2
         elif self.__xtype == "on":
-            out = self.__size/2
+            #base = 0
             if self.__angel > 90 and self.__angel <=270:
-                pass
+                v=1
             else:
-                out *=-1
-            out += base/2
-            #return out 
+                v=0
+            base = 0
+            if self.__base == "-": # sub
+                if self.__invert:
+                    v = 1-v
+                    #base = -size
+                    size *=-1
+                v *=-1
+            elif self.__base == "+": # sub
+                if self.__invert:
+                    v = v-1
+            else:
+                v = (t%1-0.5)
         elif self.__xtype == "bump":
-            out = 0 
+            v = (t%1) 
+            base = 0
             if self.__base == "-": # sub
-                out = (t%1-1) * self.__size 
+                if self.__invert:
+                    v = 1-v
+                    #base = -size
+                    size *=-1
+                v *=-1
             elif self.__base == "+": # sub
-                out = (t%1) * self.__size 
+                if self.__invert:
+                    v = v-1
             else:
-                out = (t%1-0.5) * self.__size 
-            #print("bump",out)
-            #return out
+                v = (t%1-0.5)
+
+
         elif self.__xtype == "bump2":
-            out = 0 
-            if self.__base == "+": # sub
-                out = (t%1-1) * (self.__size *-1) 
-            elif self.__base == "-": # sub
-                out = (t%1) * (self.__size *-1)
+            v = (t%1) 
+            v = 1-v  
+            if v == 1:
+                v=0
+            base = 0
+            if self.__base == "-": # sub
+                if self.__invert:
+                    v = 1-v
+                    #base = -size
+                    size *=-1
+                v *=-1
+            elif self.__base == "+": # sub
+                if self.__invert:
+                    v = v-1
             else:
-                out = (t%1-0.5) * (self.__size *-1)
-            #print("bump",out)
-            #return out
+                v = (t%1-0.5)
+
         elif self.__xtype == "fade":
             x = t * 2 
             if x > 1:
                 x = 2-x 
             x -= 0.5
+            v = x*2
+            #base /= 2
+            #base *=2 
             if self.__base == "+": # add
-                base = self.__size
-                out = x * self.__size + base/2
+                pass#base /= 2
             else:
-                base = self.__size*-1
-                out = x * self.__size + base/2
-                out = self.__size*-1 -out
-            #if self.__base == "+": # sub
-            #    out = self.__size*-1 -out
+                v *= -1
+
+            v/=2
 
-        #if not self.__invert:
-        #    out = self.__size*-1 -out
+        if self.__invert:
+            v *=-1
 
+        out = v *size +base
         self.out = out
         return out