Răsfoiți Sursa

cleanup: akai apc-mini.py

micha 1 an în urmă
părinte
comite
a7bf567d38
1 a modificat fișierele cu 62 adăugiri și 236 ștergeri
  1. 62 236
      remote/apcmini.py

+ 62 - 236
remote/apcmini.py

@@ -10,6 +10,7 @@ import sys
 sys.stdout.write("\x1b]2;APCmini\x07")
 
 import os
+sys.path.append(os.getcwd() + '/..')
 import time
 import socket, struct
 import random
@@ -45,40 +46,59 @@ def send(msg):
     print("send",msg)
     c.send(msg)
 
-
+BLACK = 0
+YELLOW = 5
+YELLOW_BLINK = 6
+GREEN = 1
+GREEN_BLINK = 2
+RED = 3
+RED_BLINK = 4
 
 def main():
-    global send
-    global node
-    global toggel,toggel1,toggel2,toggel3
-    fader = 40
-    values = []
-    fader_value= [0]*9
-    firstfader = 48
-    fader_move_delay = 0
-    tog = 0
-    tog0 = 1
-    tog1 = 1
-    cmd = ""
-    release = 1
+    release = 0
+    if 0:
+        r = 225
+        for i in range(4):
+            for i in range(r):
+                print(i)
+                midi.write([144,40+i,GREEN])
+            time.sleep(0.2)
+            for i in range(r):
+                print(i)
+                midi.write([144,40+i,BLACK])
+            time.sleep(0.2)
+            for i in range(r):
+                print(i)
+                midi.write([144,40+i,RED])
+            time.sleep(1.52)
+        for i in range(r):
+            print(i)
+            midi.write([144,60+i,BLACK])
+    
+        time.sleep(0.5)
+
 
     while True:
         if release:
             release = 0
             for i in range(4):
-                midi.write([144,60+i,5])
-                midi.write([144,52+i,5])
-                midi.write([144,44+i,5])
-                midi.write([144,36+i,5])
+                midi.write([144,60+i,YELLOW])
+                midi.write([144,52+i,YELLOW])
+                midi.write([144,44+i,YELLOW])
+                midi.write([144,36+i,YELLOW])
 
-                midi.write([144,24+i,3])
-                midi.write([144,24+i+4,3])
+                midi.write([144,24+i,RED])
+                midi.write([144,24+i+4,RED])
 
 
-                midi.write([144,56+i,1])
+                midi.write([144,56+i,GREEN])
 
-                midi.write([144,8+i,1])
-                midi.write([144,12+i,1])
+                midi.write([144,8+i,GREEN])
+                midi.write([144,12+i,GREEN])
+
+        #midi.write([144,82,YELLOW])
+        #time.sleep(.5)
+        #midi.write([144,82,BLACK])
 
         rows = [56,48,40,32,24,16,8,0,64,48]
         midi_function = {
@@ -128,221 +148,27 @@ def main():
             _bin = _bin.rjust(8,"0")
             _bin = _bin[-3:] # 3 bit
 
-            print(row,"in:",FN,"ch",ch,"raw",midi_date,_bin,int(_bin,2),_bin2)
-
-            continue
-            if midi_date[0] == 176:
-                if midi_date[1] == 55:
-                    fader = midi_date[2]/127.*8
-
-                    print("LED:",[144,7,fader])
-                    midi.write([144,7,fader])
-
-
-                    print("setfadert to", fader)
-                if midi_date[1] >= firstfader and midi_date[1] <= firstfader+8:
-                    value = int(midi_date[2]*2.008)
-                    fader_id = midi_date[1] - firstfader
-                    fader_value[fader_id] = value
-                    print("FADER:",fader_id+1,value)
-                    if fader_id == 0:
-                        #msg = "group 33 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-                    elif fader_id == 1:
-                        msg = "group 34 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-                    elif fader_id == 2:
-                        msg = "group 35 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-                    elif fader_id == 3:
-                        msg = "group 36 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-                    elif fader_id == 4:
-                        msg = "group 37 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-                    elif fader_id == 5:
-                        msg = "group 38 level "+str(int(value))
-                        msg = "d{}:{}:0".format(fader_id+1,value)
-                        send(msg)
-
-                    elif fader_id == 6:
-                        #value = value*-1+255 #invert
-                        value2 = int(value/255.*100)*2
-                        #msg = "stack 2 indelay="+str(value2)+" ;EOB"
-                        msg = "effect 1 SIZE "+str(value2)+" ;EOB"
-                        send(msg)
-                    elif fader_id == 7:
-                        #value = value*-1+255 #invert
-                        value2 = int(value/255.*100)*2
-                        #msg = "stack 2 indelay="+str(value2)+" ;EOB"
-                        msg = "effect 7 SIZE "+str(value2)+" ;EOB"
-                        send(msg)
-                    elif fader_id == 8:
-                        if value <= 127:
-                            value2 = value  / 127.
-                        else:
-                            value2 = (value - 127) / 20.   +1.
-                        #value2 = value / 30.5
-                        msg = "preset time "+str(value2)+" ;EOB"
-                        send(msg)
-
-                        #value2 = value / 25.5
-                        #msg = "preset time_pt "+str(value2)+" ;EOB"
-                        #send(msg)
-
-            elif midi_date[0] == 144:
-
-                if midi_date[1] == 56:
-                    send("clear")
-                elif midi_date[1] == 57:
-                    send("store")
-                elif midi_date[1] == 58:
-                    send("edit")
-                elif midi_date[1] == 33:
-                    send("preview")
-                elif midi_date[1] == 34:
-                    send("set")
-                elif midi_date[1] == 35:
-                    send("next")
-                elif midi_date[1] >= 8 and midi_date[1] <= 15 :
-                    nr = midi_date[1]-8+25
-                    send("xpreset "+str(int( nr )) )
-                elif midi_date[1] >= 24 and midi_date[1] <= 31 :
-                    nr = midi_date[1]-24+33
-                    send("xpreset "+str(int( nr )) )
-
-                elif midi_date[1] == 20:
-                    pass#send("stack 1 on")
-                elif midi_date[1] == 12:
-                    pass#send("stack 1 go")
-                elif midi_date[1] == 4:
-                    pass#send("stack 1 run")
-                elif midi_date[1] == 68:
-                    pass#send("stack 1 stop")
-                elif midi_date[1] == 0:
-                    pass#msg = "sel 1"
-                    pass#send(msg)
-                elif midi_date[1] == 1:
-                    pass#msg = "sel 2"
-                    pass#send(msg)
-                elif midi_date[1] == 2:
-                    pass#msg = "sel 3"
-                    pass#send(msg)
-                elif midi_date[1] == 64:
-                    msg = "df{}:255:0".format(midi_date[1]-64+1)
-                    send(msg)
-                elif midi_date[1] == 65:
-                    msg = "df{}:255:0".format(midi_date[1]-64+1)
-                    send(msg)
-                    pass#msg = "group 25 sel 1 "
-                    pass#send(msg)
-                elif midi_date[1] == 66:
-                    msg = "df{}:255:0".format(midi_date[1]-64+1)
-                    send(msg)
-                    pass#msg = "group 17 sel 1 "
-                    pass#send(msg)
-                elif midi_date[1] == 86:
-                    msg = "df{}:255:0".format(midi_date[1]-64+1)
-                    send(msg)
-                    #msg = "group 25 sel 1 "
-                    #send(msg)
-                    #ipc = cli.ipc_write({"SDL-GUI":"VIEW:programmer"})
-                    pass
-
-                elif midi_date[1] == 85:
-                    msg = "df{}:255:0".format(midi_date[1]-64)
-                    send(msg)
-                    pass
-                    #msg = "group 25 sel 1 "
-                    #send(msg)
-                    #ipc = cli.ipc_write({"SDL-GUI":"VIEW:groups"})
-                elif midi_date[1] == 21:
-                    pass
-                    #send("stack 2 on")
-                elif midi_date[1] == 13:
-                    pass
-                    #send("stack 2 go")
-                elif midi_date[1] == 5:
-                    pass
-                    #send("stack 2 run")
-                elif midi_date[1] == 69:
-                    pass
-                    #send("stack 2 stop")
-
-                elif midi_date[1] == 22:
-                    pass
-                    #send("stack 2 mode ;")
-                elif midi_date[1] == 14:
-                    pass
-                    #send("stack 2 dir ;")
-                elif midi_date[1] == 6:
-                    #send("stack 2 dyn=rider,,1 ;")
-                    send("effect 1 DIR 0")
-                elif midi_date[1] == 7:
-                    pass
-                    send("effect 7 DIR 0")
-                    #send("stack 2 dyn=rnd,,1 ;")
-
-            if midi_date[0] == 128:
-                midi_date[2] = 0
-                midi_date[0] = 144
-                #print("release")
+            value = ""
+            btn = int(midi_date[1]) #btn_row*btn_col
+            if FN == "CC ":
+                _bin2 =str(int(_bin2)+1000)
+                value = midi_date[-1]
+                btn += 1000
+            if FN == "On ":
+                value = 1
+                midi.write([144,midi_date[1],YELLOW])
+            if FN == "Off":
+                value = 0
                 release = 1
+                midi.write([144,midi_date[1],BLACK])
+
+            btn_row = int(_bin2)+1 
+            btn_col =int(_bin,2)+1
+
+            #print(row,"in:",FN,"ch",ch,"raw",midi_date,_bin,btn_row,btn_col,[value])
+            #print([btn_row,btn_col,btn,value])
+            print([btn,value])
 
-                if midi_date[1] == 64:
-                    msg = "df{}:off:0".format(midi_date[1]-64+1)
-                    send(msg)
-                if midi_date[1] == 65:
-                    msg = "df{}:off:0".format(midi_date[1]-64+1)
-                    send(msg)
-                if midi_date[1] == 66:
-                    msg = "df{}:off:0".format(midi_date[1]-64+1)
-                    send(msg)
-                if midi_date[1] == 67:
-                    msg = "df{}:off:0".format(midi_date[1]-64+1)
-                    send(msg)
-                if midi_date[1] == 68:
-                    msg = "df{}:off:0".format(midi_date[1]-64+1)
-                    send(msg)
-
-
-            else:
-                midi_date[2]  = int(fader)
-            #if midi_date[1] <= 71:
-            #    midi_date[1]  = midi_date[1]+8
-
-
-
-            if midi_date[0] != 176:
-                print("write",midi_date)
-                midi.write(midi_date)
-
-
-            if midi_date[0] == 128:
-                for i in range(4):
-                    midi.write([144,60+i,5])
-                    midi.write([144,52+i,5])
-                    midi.write([144,44+i,5])
-                    midi.write([144,36+i,5])
-        time.sleep(0.0002)
-
-        if (int(time.time())) % 2 == 0:
-            if tog0:
-                tog0 = 0
-                tog1 = 1
-                midi.write([144,82,0])
-                #print("o")
-        else:
-            if tog1:
-                tog0 = 1
-                tog1 = 0
-                midi.write([144,82,3])
-                #print("oo")
 
 main()