|
@@ -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()
|
|
|
|