From 9aef3010689d876c30f7b7436ee279a0d5f5a892 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 25 Oct 2020 01:22:42 +0200 Subject: [PATCH] add a clittols mode --- libs/__pycache__/midix.cpython-38.pyc | Bin 19753 -> 20899 bytes libs/midix.py | 74 +++++++++++++++++++++----- miredis.py | 5 +- 3 files changed, 63 insertions(+), 16 deletions(-) diff --git a/libs/__pycache__/midix.cpython-38.pyc b/libs/__pycache__/midix.cpython-38.pyc index 6dce2c7f6bd739daf7bb96b59cf524808a91359b..0b452fc2bc9e812b24ce823980abd2f8417e8ba6 100644 GIT binary patch delta 7115 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 C{;R|Q delta 5929 zcmZuVYjl&>k>CCFv@BaTmLGs+OV}9856r`WF~)BLHnuS_4)`mp+_^J%=F^wH#BMyrQhQQT914D}HJ3<|OmyO>neU(j3*!5biZm$wv zW>)n2gN}z8f1fGz)f=>iUL~yVQ*?)(tf%Tpx>HZl?T~lXrZoZ^WRUMxv?fV;k!qf& zTEGV@pa2SCB^1FbC?2$H+rY1FhZ1cEutnb~e89=pMMH8L$J*wX*a@XjI;d*x3EYvu zo%0Lsf@h!%%Fi&Z3%&rWp#rJhum;wiQM7wt9jr&(4VAC~@gCR+n-KRv6>Oe@YS;ob zuoY^d4(g!+8lh>>soe|B(1J{RVH<2mybpFjE8<>ggPn*qXon8OpV14a6>YzS_W{!m zfLrU+b8+mmplSi=gk8wh4>QmOyV0m1T!(w08!6bXz#f?DIio<2u1}k^0UWp&_Tuy2 zX;mA9eb9@dL!iND5D&wCxDWCDZ~*!cA4KlYLIAk~$Q^=y2;%4n0O*LrFaU#yBQONR zh)3amIEeTVgkS_QhcHACN2g#E4j~Z(4pGEo5Q8zqhv6_BL3{+p;V9y9n1Ex5kHRDz zM?3*1U<&auI0>f^Pr_-KMtmI3z*)p6;2b=FcnZ$L1;i)eLAZ$c6kLMOAwCTc!DYmC z)9^4ng2WlP0s`?_coaU5_#8Y2k0X8no`5G2pNFU5X~Y-cDqKVSAgJAn|BJJ?%@<5! z+}@X4kHLM%j=*o{jA#i|qD-^DvDY(JDk>a)78bpZRjh3Gl%tcelj5I~^AVnMTolKg zYtxP(J0B;IP2i|_#hI5mN#tHe{7In5P_Uh_V?m*Ii5^%Nh%(2 z)QW_n+F6#$XJ@~g^O8B4gzn5B;N{|!M`PaK-_!yL@fdqX>7e#Lq{-WPg#IxR_tot52ZjPBJ%}bRT z%cOdpf#sme_lS01j#%TfWLxp+{9W@DJ;r=x`=LTmFh?Ando&rT!{I^x4OBnjh=jet zp+GpShh(b6O@UB|e;cRbN$r8LaByfe0DK0Y{Ym^qMCkh~D_Xkz7XAb=S%Q&Jg!5Z8 z^GzBsk4AWmFQ;b-d_?^Ng7457QPwCXJ9Dc}(-OAKv`qeRUZmG#h-V6tQb}t}iLq(c ztlamY_(s9n28gMXCfvAblHtY~ZWVB=G-8QaClyc!P1hMy4%sIem~qxV#}5|CZx+8V z@N`={Fl`CGV(+$Db-DU9xaqk*3i_;&*D5Qr1_4+3=7ezV;1!dCfv;%0S*=QW&r zi}sd^gkq+BW#PW)$6pf{3ePN&nQrF)h|~N%0+&So%ABP6XW=W#unmWYV|{&hgtl^Q zwG^=M|0LdV1o707VHggNj>V#f#`G~=YKfch8IR$%_{++z>PJk}6t&xaP9h&D;$~Zx zoBs?SenFN|aM_vN%6}$q6}^oKe0h~GgDmko;^uH*MCZRIx%b4Ys|r^B3dy)Fh!;jo z=Q0;?=eKG8Ljnm-+_{AoW1^t=Vj&rP!(^n(Z-|TX{DwJh3WlPZ8FUPxkHwqCE16Sx z*JcZsf2X?)Iq=G()%fp-o8eBv{^cxNJm~jr`UQ>OA@EBAG7+U_;^nk*JUJK&M57~m zY$yW!_cZ(`x$#`7^#5q%lxcR=%FL=gS!E6f|JAI!WIJPTi~Xf7Ino3-f1Q*i?HY?U z>xYMfItKWy(yA#L1{48WQe;#Q_sOuP!!S&y0Et_=V*w2IOEmgJ0u(@gljaH>4h)9^ z{UKe7MU7LJ?)!9N$Yq-%;ep}7TovtIf$|ta%+ADUnTMIhZyVhre`AvPN|`TPMupi} zUT#<3Qy+@|D)YPQNLt<@s#E1QaeZTz=q}GFo*{!4%Sa>W=<&GbX>Jt{mHRSVNQvwW zRWoy{4!ldbLp;>r5qmf75gS&!b4cBUYk-Q0cfnzQRYYKQrBQWkpoapn7&pv(nwD4j zhvNCwrL0SAt;$wYnRvOVN3>O3nj-&CxElaNd(hh&Hr(%B6ptjGvN-H;faem(L=d+a z$uJ*q{I@jqF##8zz6>iPfH6yGRBrg!M3Dzno=XWV!+1zU);yF<9_If|;D6){d3g*Y z_CU%Xkiv}^YDHaHwiSa73!C`6wR!5F6JbZQLGqy!rxIb8BE!xl{c(3DJFV5}5A6};!_b-JEQYOoQTLjjBi_Hj6 zWqJKy*t35nj7Dk~DH zGPryO*O*8((qt~K`BHLMvUq1xUapf!nY}4Q$))B~C8NrZKEqUD1)`^F-!f^Bm1BWZ zG)FKLi5iy*|3ne5SFKt40a;>{9=plG%*^=lLXo!lU+|3I-(0m!dh1o%I4W6G_xLSQ zSzXyGEs+I~u0sA-0`mHkRZtfF`BLaNYc?uIBhf)w3AH59qf{uc36S;B`Vxx&uPT02 zy@I`j&9qyvEhW9DanP^ElNyI2yfqB^cs#ia--u*SwXb)sw7!d6aW)=jNAGGN;z{$| zJ`?U&-gJ0H@e({TkGQraf0eNUFTx$hopam+1E}0&)a_z&wO{l#WM?IswpE`}RVLDE zcIU`;z#{v=`9=5j@|VQXn&oMR3erQC@;B&`$XtcbWu!?)5=*1Te3kIkxy9|8#`1(d zY9M$yNs@c`YN9F-pm7UI4Sl6Jy#6kIrBdJXwMpX9tt(56%P8(L^0QrsjzEkLkMl31 zYP{AL6h1))X3(;m7q*(qup7RPar}Jkh62B-lP@ESDC4mNCsaH^Lw+){mr37C74IN1~a^`!3PCyX^CoY(!=Zbc&LA zvT=0x3=a;)48thEOKDm*LbvRIT_!Lw@>!yTqFC z8t{mg#tz>)vYs4-bxbCEjnt)C`^RE2ynWvlvyCMgL6WDJ4@Gt38RM@w-;;phHrPuyw9bn78K z7(24SZe_e(eA0Zics|mwZC<$aXh~@)H#~x#_(4mFr2~hj#K$e!;-kh)aiTR{sIA3w zZL74k3_0+fx>MA)dR&(m)=Oi2w=6#=TFWvw5L3eAb%sC}6E}BcnK2H9INzLirOAxy z%iN1On+(ofVoO`D>+yNjRHeGbKwFjZPGRD^k&oX)pc{RVlerwpXNX;1M%ek{-j_>T zIh<{5!>1 zix#|u14h?7e{h_9#>obB%e!>>_)PflEEz;CgJMR5u&+$RuLGkCQ_LiM?Io_nIa1L< z$t^-_&r5lQq*Rhpd5<{TzAhzk#hYmnFCBRnzJ3nr!Gk|oa1ieIUh#3e*Lg8+>+6F^ zu&)naw>%w_1(_t~LUr6j6!nVuI({_D(}+?dQU0uWrNfsyK`h5;%ywAk(cwr~vkpi5 zMvt!JY2uF^1x+$?WPOwym!(nGOj+S`NcoGTBa5i_k=dJR!B(W{7RCa|4An_#=jr%uv3rwE)QaGtgVA?9u4WoxesPo0g?lN~5)>Q<&m5 z8gvk#zhI0`#!HlszzPBd1PTeryGmvoWe%sp$*I~Ig|U(-D&Mj&%3S1>Fh*)pLU8PF z72Zl150;$^)9A5abkkyobQO6fEg+d(B7$#zJ~6{lOB&m&MO_^@!hf?PpnH T*Y3Jxv)ydB+3of$yY>G8>}0zw diff --git a/libs/midix.py b/libs/midix.py index 9fa5ba6..fbae782 100644 --- a/libs/midix.py +++ b/libs/midix.py @@ -83,6 +83,11 @@ ccontinue = mido.Message(type ="continue") reset = mido.Message(type ="reset") songpos = mido.Message(type ="songpos") +nocolor = 64 +green = 16 +yellow = 127 +red = 3 + #mode = "maxwell" ''' @@ -463,6 +468,21 @@ def NoteOn(note, color, mididest, midichannel=0): elif mididest == "pads" and midiname[port].find("Launchpad") > -1: midiport[port].send_message([NOTE_ON+midichannel, note, color]) + if mode == "clitools": + x,y = PadIndex(note) + print("Y :",y) + if 0< y < 3: + ClsCli1() + if 2< y < 5: + ClsCli2() + if 4< y < 7: + ClsCli3() + if 6< y < 9: + ClsCli4() + + PadNoteOnXY(x,y,red) + + def NoteOff(note, mididest, midichannel=0): @@ -480,8 +500,8 @@ def NoteOff(note, mididest, midichannel=0): midiport[port].send_message([NOTE_OFF, note, 0]) - elif mididest == "pads" and midiname[port].find("Launchpad") > -1: - midiport[port].send_message([NOTE_OFF, note, 0]) + #elif mididest == "pads" and midiname[port].find("Launchpad") > -1: + # midiport[port].send_message([NOTE_OFF, note, 0]) # Generic call back : new msg forwarded to queue @@ -696,8 +716,8 @@ def InConfig(): #midinputs[port].set_callback(AddQueue(name)) #genericnumber += 1 InDevice[InObject.counter-1].rtmidi.set_callback(AddQueue(name,port)) - if name.find("Launch") > -1: - Cls() + #if name.find("Launch") > -1: + # Cls() except Exception: traceback.print_exc() @@ -908,6 +928,39 @@ def AllColorPad(color): PadTopOn(topled+1,color) #midiport[port].send_message([CONTROLLER_CHANGE, topled, color]) +def ClsCli1(): + + for x in range(8): + PadNoteOnXY(x,1,58) + PadNoteOnXY(x,2,58) + +def ClsCli2(): + + for x in range(8): + PadNoteOnXY(x,3,yellow) + PadNoteOnXY(x,4,yellow) + +def ClsCli3(): + + for x in range(8): + PadNoteOnXY(x,5,58) + PadNoteOnXY(x,6,58) + +def ClsCli4(): + + for x in range(8): + PadNoteOnXY(x,7,yellow) + PadNoteOnXY(x,8,yellow) + + +def ClsCli(): + + ClsCli1() + ClsCli2() + ClsCli3() + ClsCli4() + + def ClsMatrix(): for led in range(0,64,1): PadNoteOff(led) @@ -921,16 +974,12 @@ def ClsRight(): for rightled in range(8): PadRightOff(rightled+1) - - def Cls(): ClsMatrix() ClsTop() ClsRight() - - def Start(): #ClsPad(port) @@ -945,13 +994,12 @@ def Start(): PadNoteOn(color-64, color) #print("color", color) time.sleep(0.5) - AllColorPad(127) - time.sleep(0.5) Cls() - #time.sleep(0.3) - #UpdateDisplay() - + if mode == "clitools": + ClsCli() + for y in range(0,8,2): + PadNoteOnXY(1,y-1,red) def listdevice(number): diff --git a/miredis.py b/miredis.py index f4af80d..6b7a4ca 100644 --- a/miredis.py +++ b/miredis.py @@ -97,6 +97,7 @@ argsparser.add_argument("-p","--port",help="Port of the Redis server ",default=" argsparser.add_argument("-o","--oscip",help="IP address of the OSC server to forward midi events.",default="127.0.0.1",type=str) argsparser.add_argument("-q","--oscport",help="Port of the OSC server ",default="9000",type=str) argsparser.add_argument('-link',help="Enable Ableton Link (disabled by default)", dest='link', action='store_true') +argsparser.add_argument("-m","--mode",help="Mode choice : simplex, clitools",default="clitools",type=str) argsparser.set_defaults(link=False) args = argsparser.parse_args() @@ -105,6 +106,7 @@ redisPORT = args.port midix.oscIP = args.oscip midix.oscPORT = int(args.oscport) midix.debug = args.verbose +midix.mode = args.mode # with Ableton Link if args.link == True: @@ -151,9 +153,6 @@ def Osc(): #time.sleep(0.0) - - - if __name__ == '__main__':