Browse Source

change: tksdl/midi.py ... search apcmidi..

micha 1 year ago
parent
commit
5ec8208399
1 changed files with 71 additions and 71 deletions
  1. 71 71
      tksdl/midi.py

+ 71 - 71
tksdl/midi.py

@@ -40,7 +40,7 @@ import pygame.font
 
 pg = pygame
 main_size=(500,100)
-window = pygame.display.set_mode(main_size,pg.RESIZABLE,32)
+window = pygame.display.set_mode(main_size)#,pg.RESIZABLE,32)
 
 pg = pygame
 pygame.init()
@@ -134,13 +134,8 @@ fps_old = 0
 
 
 import _thread as thread
-try:
-    import remote.apcmini as apcmini
-    apc_main = apcmini.MAIN()
-    thread.start_new_thread(apc_main.loop,())
-    time.sleep(1)
-except Exception as e:
-    print("MIDI INI",e)
+
+apc_main = None
 
 
 #while 1:
@@ -174,8 +169,11 @@ def remap_midi_row(m,row_len=8):
             #print("btn2",btn2,val)
             return [btn2,val]
             break
-buf = []
+buf  = []
 buf2 = []
+msgs = []
+buf_exec =[] 
+
 while 1:
     fps +=1
     t = time.time()
@@ -199,7 +197,20 @@ while 1:
     fr = font15.render("SDL-MIDI "  ,1, (200,200,200))
     window.blit(fr,(100,2 ))
 
-
+    if apc_main is None:
+        try:
+            print("scan for apcmidi ...")
+            import remote.apcmini as apcmini
+            apc_main = apcmini.MAIN()
+            thread.start_new_thread(apc_main.loop,())
+            time.sleep(1)
+            buf  = []
+            buf2 = []
+            buf_exec =[]
+            msgs = []
+        except Exception as e:
+            time.sleep(1)
+            pass#print("MIDI INI",e)
 
     try:
         if apc_main.buf:
@@ -213,32 +224,38 @@ while 1:
                 #    continue
                 buf.insert(0,b)
                 buf_exec.append(b)
+        apc_main.buf = []
+    except Exception as e:
+        pass #print("midi",e)
 
-            apc_main.buf = []
-            msgs = []
 
+    msgs = []
+
+    try:
+        for m in buf_exec:
+            m[2]= "ignore"
+            if m[0] > 1000:
+                continue
+            btn,val = remap_midi_row(m[:2],row_len=10)
+            btn+=400
+            msg={"event":"EXEC","EXEC":str(btn),"VAL":str(val)}
+            msgs.append(msg)
+            m[2] = "ok"
+            #print("msg: ",msg)
+            buf2.append(["EXEC",str(btn),val,m[0],m[1]])
+            buf_exec = []
+
+        if msgs:
+            msgs = json.dumps(msgs).encode("utf-8")
+            print(msgs)
+            cmd_client.send(msgs)
+            e = time.time()
+            print("TIME:",int((e-s)*10000),int(e*100)/100)
+        msgs=[]        
 
-            for m in buf_exec:
-                m[2]= "ignore"
-                if m[0] > 1000:
-                    continue
-                btn,val = remap_midi_row(m[:2],row_len=10)
-                btn+=400
-                msg={"event":"EXEC","EXEC":str(btn),"VAL":str(val)}
-                msgs.append(msg)
-                m[2] = "ok"
-                #print("msg: ",msg)
-                buf2.append(["EXEC",str(btn),val,m[0],m[1]])
-
-            if msgs:
-                msgs = json.dumps(msgs).encode("utf-8")
-                print(msgs)
-                cmd_client.send(msgs)
-                e = time.time()
-                print("TIME:",int((e-s)*10000),int(e*100)/100)
-            msgs=[]        
     except Exception as e:
-        print("midi",e)
+        pass #print("midi",e)
+
 
     while 1:
         if len(buf2) < 7:
@@ -250,6 +267,8 @@ while 1:
             break
         buf.pop(len(buf)-1)
 
+
+
     r = 10
     fr = font15.render("MIDI: APCMINI"  ,1, (200,100,200))
     window.blit(fr,(270,10+r ))
@@ -282,18 +301,30 @@ while 1:
         r+=10
 
     r = 2
+    _blink =0 
+    _is_open  =0
     try:
         rgb = [10,10,10]
         if apc_main.blink:
             rgb = [110,110,110]
+        _blink = apc_main.blink
+        _is_open  = apc_main.is_open
+    
+    except Exception as e:
+        pass #print(e)
 
-        pygame.draw.rect(window,rgb,[200,r,60,25])
-        fr = font15.render("BLINK:"+str(apc_main.blink)  ,1, (200,200,200))
-        window.blit(fr,(200,r ))
-        r+=10
-        fr = font15.render("open:"+str(apc_main.is_open)  ,1, (200,200,200))
-        window.blit(fr,(200,r ))
-    except Exception as e:print(e)
+    if _is_open == 0:
+        buf  = []
+        buf2 =  ["connect to apcmini ..."]
+        buf_exec = []
+        msgs = []
+
+    pygame.draw.rect(window,rgb,[200,r,60,25])
+    fr = font15.render("BLINK:"+str(_blink)  ,1, (200,200,200))
+    window.blit(fr,(200,r ))
+    r+=10
+    fr = font15.render("open:"+str(_is_open)  ,1, (200,200,200))
+    window.blit(fr,(200,r ))
 
     r = 10
     fr = font15.render("EXEC:"  ,1, (200,100,200))
@@ -310,38 +341,7 @@ while 1:
         window.blit(fr,(10,10+r ))
         r+=10
 
-    if 0: #timer balken
-        pos = [160,110,70+80,20]
-        pygame.draw.rect(window,rgb,pos)
-        t=(time.time()-start)
-        if t > 15:
-            start = time.time()
-        b= 80-int(t*10)
-        pos = [160,110,70+(b),20]
-        rgb = (0x00,0xff,0xff,0)
-        pygame.draw.rect(window,rgb,pos)
-        rgb = (0x00,0x00,0x00,0)
-        fr = font22.render(str(round(t,1)) ,1, rgb) #(200,200,200))
-        window.blit(fr,pos[:2])
-        
-        pos = [160,200,80,20]
-        #fd = sdl_elm.Fader(window,pos)
-        #fd.draw()
-        
-        pos = [160,90,70+80,20]
-        pygame.draw.rect(window,rgb,pos)
-        b= int(t*10)
-        pos = [160,90,0+(b),20]
-        rgb = (0x00,0xff,0xff,0)
-        pygame.draw.rect(window,rgb,pos)
-        rgb = (0x00,0x00,0x00,0)
-        fr = font22.render(str(round(t,1)) ,1, rgb) #(200,200,200))
-        window.blit(fr,pos[:2])
-
-
-        rgb = (0xaa,0xaa,0xaa,0)
-        fr = font22.render(str(round(t,1)) ,1, rgb) #(200,200,200))
-        window.blit(fr,(500,500))
+
 
     for t in table:
         t.draw()