From 36ea8604dfcad0fb7412186b8f90dc7286b907ee Mon Sep 17 00:00:00 2001 From: Carmine De Rosa Date: Sat, 16 May 2020 11:05:31 +0200 Subject: [PATCH 1/5] draw pattern --- C/draw.cpp | 36 ++++++++++++++++++++++++++++++++++++ C/inputs.cpp | 7 ++++++- C/loaders.cpp | 3 +++ C/main.cpp | 17 +++++++++-------- C/players.cpp | 1 + C/sonquencer | Bin 20088 -> 20352 bytes 6 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 C/draw.cpp diff --git a/C/draw.cpp b/C/draw.cpp new file mode 100644 index 0000000..d2f7cab --- /dev/null +++ b/C/draw.cpp @@ -0,0 +1,36 @@ +void drawRects(int step){ + + SDL_RenderClear(renderer); + + int cols = matrix[1]; + int rows = matrix[0]; + int colWidth = ((600-5)/cols)-5; + int rowHeight = ((300-5)/rows)-5; + + for(int i=0; i}-0Yf7UAPf-3jGCb)BmP4na|U_%SYeNUOLA2#ZSzFtA12LWha5HL zyfE#yt+sArc}n-}Zge>7LF>SnCc1T2X*bu}wx!H-hQ(Sms>#T=zwf>`h}7P5=DXkj z@4Mf3@8w-0`&j*cwktE$nd*^f7!b&u-Q!+OoIZ?rk~DqT?vLD7n?anh@l=*?^~4yY zhnF*V;vSRAwDPTNhbzHl2oqc$fkfvTgDutYv6d5Aqd+nI;_z!wMiQDxyfIvknadku zGg&`>D#pP&1&r`FfVT>`lOXSk$z%@*dYFJod_FWz2<`RU8|!9A21RO<>?~*gwIDv(L`Gr;yzar0Ba}gP*;#Y0=0NxnOEs|uH zGNe4O=LQqldck){hsti|=YXFgIV6v%pI}<8HudxPfw&_{3s$dPwR%J8hLxKZtbU-D zFNj}~y0Eljg~2XcQ&U6imc#Lzm@G-Kn+X?&m6 z#=`u#)xi&0Z3Slkgl1%xN6gfwkpeS7G*JXX%Pv`0uu&~a;=PuFoIy&Gxte(JMhxO7 z4C3du9I*Y(^0M9H*Kfa;FG&xPVz>ReuIsm7CHgj^CC~+5lm|PPtHICIz~{a57L|8| znsPjn+Hu??rjGI19!XDsX@Vs6CFhn(lG-@46Asiy`7bohh}5R5n*12#>h@5rRqsm9 zt*4|;7_*HG4hVy(FY<>|b66#BNS*KZ1nb^|-8Pa0JHm^Qi6*Cl3Mze?EDNN!bs@^V z_uIO@Kv)hcms{^ZsX_J%GTfo`Qy@+0FIIY!8>d3pp+pQ;q*&=oZp;EpQ!WQWa`Nj+ z1XEBsrzv3|elYq4GDj#b~MBSq;?pGgpUp@Yrtg>@j?Di(qH4tIGG067= ztkc`7BgoN70LKVxBa9Z|#3Fh|L+kY+TBIuv`E zjUVnb-2Cf%UEg))1b;uZXo5|+RKl9HJ(Rrt1q!60DpDZK5Rf)XwA`}mPChnmWLmT= zqtO6$kE+GKQ_YvBWei^guN1B4HQ~Xo$*0EihBVbr251PHWb{q`<#r&SyoY}p(UNj0~fF_YR)S>hb2fw~KlFR`7Rg?~>>ZSe)Qu`+}u zoK}N>rJP&7d$^OlONI`9UATp^oqo+obFXA{MJ+b0Hp{qSr zntayaSty$qiKl4tn+7k2csqz!pvkWpJh68+5N|~C5qT$=fnL@iZwJyL`~8?`^srsK zmPPk$&aUJE8RM*VI3`Zw&T{CVznm8rZYg7!C+J!kVG*v7zt*Cc0$&PPC#uj5UR) zAs|d&BL(PhGRQq9xf$k0iBhmk+%eCGwuNdFTj~6CXCo^^Sc!Jj*XdI7_OpnNJ=09S z-h?qsejRF1t{c*)Ax%D_T=%0++d{r4HKlnbT`skAW=crLSEeZ^1Cd*O!^2M4hI{(3 zziB<)&Ez(4IYIYz>AnlP@0{*Ct@}c{uT}RohcD4B7&z(aiAPx(>Wvt>2vOS*O~ySa zneOqAB7d~(U7YW2q2z5PAhpUq==L5vh_4Z2!@q*<)_n(O*;&izgwm2;MMiWv_xwBj zFwpR{XohD_JeZ%HyN!~S#2;Mmy%mi!=eW?ld&-07y^G6(UwapMgZ+!u#tGBGURW{q z2U<~>f5jipR;?>XOH#o%-CO%w-pVeGdCqC$qnuOt66bsV8o0FKm-%0#8ktvgy#e%p zFn3|z`IW9y5jP?iC+1tQQV-@;Xk|6#Em%f9=21A-O_-;nlOfD|FehM79m4FyOk=n) zNo>mkiEXyCTW#_Dx2|EVfgg6cV2L}Sg!toP00dY6kGhtr}o6(T3L$#KXeMyr2Sxb3R=FS);$=MjI zB;`FLm-0_Wj&apMtpRG3W^~wrYy+bn{G^tGQA-o8y{R4{4e`Aba#uP{?Wj@V5V~Rr z-7$ndKZNcYLVwA#@|`S)7v(Q!U3_nTF5AkF=Fh?x?RWXPDf1GIT<9Z|#sxms?Z#80 z%AL#Z=P8A0yxCU!@D*p0kvX}ypgIBHmo#F*cJNSvE6R|G@!TZ4 zHTr^@+mbbDHiOl&$@`GdwaL{ir)BAsS6QOz;$)8D+d0h@Wt{=*fUST(Ic*iP|8$x| zWR)HhFSQ~&2fF~69&456CGwKOvg~Lmk&y{vq+wDhhre8y&k}eiY&HX?^Xr9Mn4RyQ zo*sjTMa%B#@hoeexyGpVXdo6GwR-->3`bUIh_n(?hF6KoKb_%by*#C81-px{FLEQy zfug6`Ufy}PgL{hWSsp)Le1}!Vh33So$Ih=5yID1N-Q`9t=HKN`p>J~+3w*rKTxo78O9EJ;}6su0qYSd!9uJtp6nib={;f(1+AfnHNh zWrmKqU!-dCjMZK>*C|dj%-50?kIc+uyM_G$)4m>8APpR1F)FY=vXAxv-+*EqBCGOq zB(>o44u8r9kGIUITeA$lIHFMa2Su^`_>Fjxys>Wtd`v(z^==0nL2%_HMER+gVj1}K z;DA5eQ0AfcihQ2r#nttf+r-8DHu|&jrM8Ky6+#}-t5&E?Dv<#2X6E_vGV5S!dUO*%Tav+7&d%Z&OX^}b)~;U1 zpO~#DY!I*c)f-wKFKuUhYS~2=;#qUtDP3_!eqC`$4r42?0{4EaM^N|U*-m2~-#f=` zZ8f>AymL;W^@2&^%1{djF1~r#k~G4+O7&at$Lu3Df8c*U&QwGAQX7Cs-am+!8eWnDMTuxsWYRu)>FUW3}t TvwmKf*sd7V-HhK?cH92|gHxwL delta 3990 zcmZu!dr(x@89!&2*Wx0}%Uuv<*HA0xEr{7QG6xRptTB-T5Xa^T3KsNnI%~t zY&LYz&or9a29s1xrkz2F8FVs$@qzvki)NBy#+iU)rkA1y8y_1*Z@=%{yQ|Wknfsk{ ze&72$k3C!W9uMu~jgDlNEHP?2Wh^A`eCmMZkX3-}5G3)Go!3TL;`RBtcu3~CmOQgQ z&4W_zj;}XnU2*UR-|lj{bf(iKi9xup)?ro+*`|}}B*gKH!LME(L&JE&#zC}sA&-V- zW;^eL*O9gfdJzuec$c8-i9(Or!3)J)6|`B%Efl<0qa4tL-%_&!x}qHXlHh$WB=--Ac?VVN7W# z?9HVv`WxzIg=*52VDul6uWak6v1mPsS#=b`Nux*k!$N-g$JAv%R00Fai5o@AiI7?0 zXW+f$IQ}vmN?rzkPMtcc`JtvML0Jv5Z5@f*wxgX+d63Knqrc062dQHUE3ugV5ciG? z%7e-tB^Y&DLgbi+?KlZ4fivwiQ71moG`~E^`wybQ?w~Cg{bmlVN>j#@1=^7j%abtp zS@K}*vz>B?Oa!Ax<-obLOob%TT%1#4t;A3>2FYfK_n&U3Gox+^`}hE3Zdj@X&%Yh$J%Ul$SC<6x=@f2kVF33 z5c}OEbtTS}z~@-;%E>4;3vDWaPCdBc7>u6!hbYw^g?7}BBifTmJu{*{hSVz_SMMSv zQMq-4@Q)ELU)|%}85pzDAosNG)={+_fi@~5`d8~wH&{NXti7lNqQ0Vpo>(2+8QxJC z^Ug^q-ca7t_Riy`=b$nzRNqGQ-byCVoh(-Z@QQu7^(YGJ*}ZfR0`?hY=O5Sn+&!3isds@qCPjR8p zCwDRZfUIKXsyLf%w7sY>TXaqja(XL2T&PR-tMTEAL`uQ z$W8oIe&`?ITk-nYhSQ+jR7kf)jjybbVJzN-LHQGZXrwn)wWGdzFrD zsH?r}V~Ja53z_on;GzK(y{zx!FR>ndPUIN37v29Areaw( zfwBBMeJ|W;`7E=<{DG8U+U2y4$QjbcS3Ad7$HOq^bSQFuv6@zP7!~V#O>4%kX8=>f z{>V*DqwTiiKbjW8e(n#N=D?!AeM{43V!t0_t-zitz8QNb9-%$h*J0m-eIxcE4!?0t z;1#gf<&IHq5ChJ;#`rFxkFU@s^9;9bHx(zun7XX7_)APbr4-K&^nLUReshGs74b}r zX$AU-=$n^w5+MB#@hitzt#tUp_RX=TF#i-|#msYC(>5VLB4GM;#KBdB-$8!N69%|2 zP=dTDO7bpT9P^B;42OF#e+nhs=#fy3KqKPA@fUqbJV*(dmab$;NHoFToUE#QhICjl z$ryy^6Nb$951BU)nI9iAKMU!(PM!g?b64|b*qfWhSHZE|BHju==4K@gSoBz8jVLxl zw%d)Xw8EXmt>7w1!H8?#&*L!9WCLe@9%ryDzcMaE*NOs<$qrrlt}qZS0NWIsCH%CV z)RH}=n4{XuQ}nBHA>VC?46<1zjR&g^<5V z)-d0274aD$+Ik`L7A$+(&VLUV=GvjV(82#C&_Y4~F6ie(tNw{r{@-)DA8~q?vmyC} z46i5blJF)DA&#!&XT$mqeXgfcU3s>kg@P_8TD5_)#pqY1>UP9!fHpQEPIiX=9eBf# zrw25(p9{*^E(5=4thcz8karOBC42r!gG;Y(YQ`yJUmEz)G#wXr4f3yw2!9}&o*bn| zcrZnm5%(F&xZtK_=Xpde3s8otSJ{%}>En=4{4@AN@zj)cYhQY0<1Zv>ep%@=#cQVI zPRX4PcZzG_a&ZRV0KYBKT6}UF2Wfr}Zv>a(PHK+PeKgbm4s5HS3Q?{)Ov QDX<(b(RojUYjM_p0pC}?DgXcg From 4a45a0ce217694c0b2f0bdfdfcd1c5bfd10aedd5 Mon Sep 17 00:00:00 2001 From: Carmine De Rosa Date: Sat, 16 May 2020 11:17:00 +0200 Subject: [PATCH 2/5] add action erease --- C/actions.cpp | 3 +++ C/inputs.cpp | 3 +++ C/main.cpp | 5 ++--- C/players.cpp | 17 ++++++++++++----- C/sonquencer | Bin 20352 -> 20424 bytes README.md | 17 ++++++++++++++++- 6 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 C/actions.cpp diff --git a/C/actions.cpp b/C/actions.cpp new file mode 100644 index 0000000..f8980d5 --- /dev/null +++ b/C/actions.cpp @@ -0,0 +1,3 @@ +void erease() { + +} diff --git a/C/inputs.cpp b/C/inputs.cpp index afd941c..b61a955 100644 --- a/C/inputs.cpp +++ b/C/inputs.cpp @@ -17,6 +17,9 @@ void inputActions(SDL_Event e) { play = !play; step = 0; break; + case SDLK_e: + setErease = true; + break; default: break; } diff --git a/C/main.cpp b/C/main.cpp index 2fbc4fa..3f1e82f 100644 --- a/C/main.cpp +++ b/C/main.cpp @@ -19,12 +19,14 @@ SDL_Renderer* renderer; int pattern[PATTERN_ROWS][PATTERN_COLS]; int matrix[] = {PATTERN_ROWS, PATTERN_COLS}; bool play = false; +bool setErease = false; int step = 0; #include "draw.cpp" #include "players.cpp" #include "loaders.cpp" #include "inputs.cpp" +#include "actions.cpp" int main(int argc, char** argv) { @@ -67,8 +69,6 @@ int main(int argc, char** argv) { break; default: break; - - } if( !done ) { gotEvent = SDL_PollEvent(&event); } @@ -80,7 +80,6 @@ int main(int argc, char** argv) { } } - for( int i = 0; i < NUM_WAVEFORMS; i++ ) { Mix_FreeChunk(samples[i]); } diff --git a/C/players.cpp b/C/players.cpp index b3ac490..cc40ead 100644 --- a/C/players.cpp +++ b/C/players.cpp @@ -15,11 +15,18 @@ void playPattern(int *timer, int duration, int *step) { } void setSample(int sample, int step) { - pattern[sample-1][step-1] = 1; - for(int i=0; iCB zd*6H8yq6B_rJeay?J78DDvKv#l*O|oT4>x5r7t(I#q^BPr7wufS70zEm=n?+MD0Iz zz`{j;x6hfRMy)h|D<#?pY3+4Y_A6sNz$>|D5K^X$HRgJiYwgt`uQI0YR@eTl9=jl^ z^i+TJ_K%zn?n&Ir7!924lTH+4apet6%#%EAdXU?^QmUW{HrDhjqdH;|$Y^7+R~c1z zduxO2Z1My0?K`26TN$N+pZq5HX)pZ4*FhGaVr}xnb~qDg4`=W{g~Zy@yP?qc#6ZYl z{76qiGYpkqAg~4oj}mk@2FXh^v~^gio*z`N^zwALWo2U9p8i9eN6SYFe+WbCftNp; zW5@4{&K1#C9zLIkJMIm?%7a9BGdqz|lu?W-)pq54&#StZwh}-O1uHUYpD>G@D}P>q zReSCEo~C=5YS}8ekgjKKa;3dKC|C~k42D^%Iju)ItGXM{lC35`C)A$cptts{+P=IO zIR{kF37%vfGo=nqmT!k}Tq7Ro&pe!fGU}18*zb;St<;E-SrLVJ5G6zUxOu~zk5@+vv*;B)3y1`4ipd?l0y zbL*b4(xEF&C9XB@V2Qb-L*TPr;7-D;8?Xtrt-6op(Q%gJuvehw6n-Pevm_cKSuO%D!{agpIc_)f zkMl=Ul0`1TVdA|G3x!=2kb}fS?CY#FsS?^Db~>vf{Y_}6&E%SKzs|yA+e4bK*mL?hENM^X$Nn#U(%oEn! zXl{)skwU{pq6mf>F*mTTa(T)|&O_qJjU+uU?-Cy`3ZI=~{(#R@K8Gi-uo+(#K5z%b zsApEYOb-grOYC90Z0ieio}S_m9^!bR4TtePQ*~UND)4Kp1q?yK5X(D*h9M&h+AZv& zeKK9d5*Nty30AP6D3O1+c@_L&O_qtEU!BV1L+?>VJSI-`UeCx~I6L zh&Ty60Sx)!eQ*{&ehd5auRb4jV#fO~jPIK45Xhx4PS|yaY_srABMbk_z(?fV9t`70 zWE~fe0PN+g%OTTce70?Z58q2$xROXmUE$bQlJ!{e_#xKKGt!-6{=#Q;MjMP<8eGce zhWafHEUx03arK-AvDoIjRk0+>SH9?XgJDuE%UV)sirfU;fkrby0X+5U8S$=%(^1ue}~=={Qv*} delta 2094 zcmY*aeN0nV6u%1}XXgx9JIQtQbS!u7f?qf8uw=VY!1 zvplvKM+l6>Pq$1kJGc0179oZ9iH7F~?S2)h=7_&xE*y+af`WudscbwDaN7OU_nlXR zHp;~(Y&`)lC72tdaIepVXg_0nYiu%6jv@9n5eVtShxF^4aHI5NB%Z(xm)-Ad@RMCx ziU(H?*S8M0I6Mo@EGEpmpm?y3<-+p+o# zSd@X)w~x8Rf($53Dr?l@hSUBF^$n>tK7g^Dc7^&*dC@812|L^v3SH@09&Ys9JW!|Q z69f$iy6t|P9hnFO+K10qIb3(#_H?IzYh42h-Jy2$orzG}C4S;YjF%`t}A-QrmlV;4|qVVKn|o>Vd3 zvTY1Y)_ox!M9_JUwu;R-85A2)vf-oc?dw>kaB^CD#P}m@b&Xyo$_ltXEj{PbLsnjK zYz8*QE&h(GkCFP>yJUAI+LxE|V8*<2GnmX0la8Q5hli9whO`_FR$w-?&*>2cjGhJAJ3_(-@H@vwDA)uEu2@as7lMe$ z5RZPIpQ15na@PwNjGoQ8AJB+N4qBp3Jj~5AMNG1W5wk{GJqPmAIqyt<8Lfv~`SG5p zf^7m_1bY{JN#BKA#S*Mo*h3xgc;Qi+1&0@9!Dk_H5fqCTEhLacn+%4~>C_0%g-A)W z5RDPEq&Jva6i*o&%XXuqL)mU5nM{j-ttb^eGv-?6k4U7eOy(Rc1|KzWu1KO=m<_gw z$-`Wp0CTaFv=m>57`z~+7@1q+2cC}}W@Ej=b_M*f$M~{ zLFN|K!K3w|2R(You&FrTL~)U2joGmu8yoAmB;wZq;)mgu=BJAv%w3_$NC_5PrS_6{7t~w7TAE?1}=|! z3T>eRlrQ#qib@?Jp4ReFK{&2~*Op{!CVP!H^Svc4v=%ZebE50bs Date: Sat, 16 May 2020 11:28:13 +0200 Subject: [PATCH 3/5] select pattern --- C/inputs.cpp | 4 ++++ C/main.cpp | 3 ++- C/players.cpp | 3 +++ C/sonquencer | Bin 20424 -> 20456 bytes README.md | 22 +++++++++++----------- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/C/inputs.cpp b/C/inputs.cpp index b61a955..625e0a6 100644 --- a/C/inputs.cpp +++ b/C/inputs.cpp @@ -20,6 +20,10 @@ void inputActions(SDL_Event e) { case SDLK_e: setErease = true; break; + case SDLK_o: + selectPattern = true; + break; + default: break; } diff --git a/C/main.cpp b/C/main.cpp index 3f1e82f..dee72c5 100644 --- a/C/main.cpp +++ b/C/main.cpp @@ -20,11 +20,12 @@ int pattern[PATTERN_ROWS][PATTERN_COLS]; int matrix[] = {PATTERN_ROWS, PATTERN_COLS}; bool play = false; bool setErease = false; +bool selectPattern = false; int step = 0; #include "draw.cpp" -#include "players.cpp" #include "loaders.cpp" +#include "players.cpp" #include "inputs.cpp" #include "actions.cpp" diff --git a/C/players.cpp b/C/players.cpp index cc40ead..206c7ae 100644 --- a/C/players.cpp +++ b/C/players.cpp @@ -20,6 +20,9 @@ void setSample(int sample, int step) { pattern[sample-1][i] = 0; } setErease = false; + } else if(selectPattern) { + loadPattern(sample); + selectPattern = false; } else { pattern[sample-1][step-1] = 1; for(int i=0; i7d(V$CC<}6Hd+E`+X0V?VdCD z-tXuB{{EPmGl#f#i1!rnM-CKUu(YKzL2Z!EOD&BiebopxJd$p9>npR{BNTJkAvtW; z`gtDa9~!*sBr!A`_RifR?FqG?SAFM0rz6QO4||8)HT7m9(dR;~pO%qEuZL+$Jdt>p zNsRU3hxOZ@LBs0T(K!zdAzv)m9%F5bwK81!Lnr;Jyk-fyiv zhT6e69LTILc}4fqRJL!xy6+`SLh&jKY8;&oVE!RroN}x3Uy9)S%-YOLH>hTuNB<-| zZK}MX2sUSxWxQI#SjRwM^>jdH5gf`YEqDNNHhK)1^@Mz{?qpYemoY!!@tu~dOW>2N zipN|K+z-dxA&*s?Yzm=q1LZf9Uz}RD(ZsN%buV z##*f%f5Zf&bpK5#E!GY?#bB((+N~?i){a*M(roR1O(+$C2ZFH*Yxm1ywKT9Y7+Y%X zevYv{7*`&c6^z{$ut%R(<+XSV@o9*&-TOl#5#6TBOLa`bSnXGYZBXU;I!2FB+ep}5 zsys)>#5MO3R*HKvhBq*Hm3PXcs0_&?$cdsEr{ynDpT(oIPs<-KhJ!hkb9}f1kw%+` zX|-@RXMV*Eyc?SRI=v9N`W8Apc{z$cO3+X5imt-h31KhP?Jg+JbyjSnL>e}y?WJf{ z9$TnCiYQ{@~?gZDb6-bowp5 z1&oz{JNoH(c*(qj(hII+NO6^c$MxQxg%7#d`j+jFKiRzf!R8&9n&+BsZ$(L8oX#tW z#QP+#B@)l0{08MklrLaUW<2gF4zmCy$6L1=<-burgz_7Fl^rNQ$G3D8<$07JpuCI^ z|02pdyyZ*qYHW_1F;If1-TAx|j<`$t{qT2pp(I^{Nq3&Ke+)L|=Ood{k#X3K>QPkR zx(+${Ik$X(>TW!;WX#9BX}0~+U8zYX6Hl3y%$x{OpTD>PRTyPPm*N=o<>yJZ82l3j zn}o^yHS@CZW)(`DF_@rKv3CX85X7;k%G$h0~Vr zkoacUTSahh)o=Lw@YN~>>Tf@omCh9Q>KZ-!RJQ=VCdIK0Z>x*hna!(PsXoy$NWVjI zyp7HjOTSD+F2QjxMeIkyYG*FPnrv7<7uFH9&SfcVIL9OKBznk5ny}t9G9UR-S2EmV zQsy|&H(j!`Y_A9AtXu>QrVPiOh|QH!SfjBYX?i+VLlKS&Gg(vF)E*i}ww|oKQTRMT zS#g@fKdQM423IP4zwkUP_;JDC1@|h&(SkcfbGYVuL{j6Mgbk2S%{W;l{Ncc_kD2rt zb&FAB4jup6FkUh6e;B(m%fKh0ca_4E=)|}~@ZX9a77N`YcmsH=6}}ZVR+l=S!n!oe zQDYVyU(m0GXOG}V1%Hot(L6b)*Uqq*XQ_~+HBBKbaGVm)|I&Q~ZAgYBykHR+*FK6O zYsCJ?s3=}5#vY)G_?1Y!FTBG0d!G74^JC2q2I`vvf#x0C!=K&xhB@51c39#+gROU$ zPCu_!ICA$|F2N{b(|_E+U0Z3{<@QilY*)CccF4qIP`s|v@`zVp>?CYmSIHN_k#&Xt E1yiL_F#rGn delta 2646 zcmZ8jeNa@_6~Ff_i@O9^K;Z4_QWsItfMHh|H>l{Y^6C<3K_dN1ooa#(ljfsZY}%$2 z=$gizEx~$CW|GFSA5J8bq?K;QK~q^sQWmC}#Qf3LY3&3$aeRifRYT&6#Mj@sZ{0%g z%${@Z?|j~K&)r@9I3GLC53l5*pRfABUX#P*suB6T%HD1gyWWPdJ#PPc>IHjIQeOD<7sX{C6?*-*ISmSKdo zSw3|#6xA+7^P<+#3h^hWcVWJdv4g`Mb!mrig~)YPDerp4E?0G-vx2c2E!o+U(5B6R zSrww+Rn}$m1lS-U`i+|udYVuDF`h;HCuFK5pZd+=@wZw-kxQZQ$KFWi#i({MG8)fL z`^DjR)&q|rd{}%}Fu?SN8N)ck6voct!-n#@p{RQmL0h1RXvuJAlKr4UZ=2~dj8Npw zP}KUvyJ5E!K|_&*S6Zo!kx1g zM_(9`qS|b4h(}x3UJUhW6GQEDUA;JvM1N$WdJ}*l4lmTE|9VFJvS_*Ul~vgGwoVLn z&2?>^5&tME%RUCoJjC9l$Sz*jczUkU?xc)=YG^zaznKz7v>9BDWT64syn_FPF6em`Xs!zqc)se>*(u|J733waB@vY@zeoadL?6+C3#*A z*FE)M)Vi0j*3q~EYu!iSm!sAe(~w@3UP9RVsCAQx$+@r-w!(4Rx*TBmDnDd(Lr7SQ zL1|58jasuR#rZ}4t{yZazAG=l^leBHJVWZ>U?ple^ECix88en(l8q(tTj;Ug@+sYo z^~n{u?x?i`3>FwR8ZGKqfvJDU)PEB!IB3A&OdH5qB11&T^dx28t>X~-Ir55H?;$T} zZkyXBsjV>$L)nzenBAv_9Y=@pw6g{&=aofJn94HTOn0Zj98bMR8G5x-6l;sPym)=) zNrce%i*k24e?v66%Zg3|K%{4f4{5irJdQwUR*QJrU83Bb6fe1#H?D?3Si^JwK)?P8 zoX>&C86JOYuVYCa&h^#C-rB!Nj$mZAHPpL$4DkJpt3Jn9giSB| zL@X`|*{_u`=KJhQ!F24AlB0?Uz+>ocJNP(;`w;lEct8E% zFM^MO_hUqKa2vYj#YH>8LrMlBGV#6ArMz1_Us}bR#dv9X*UVMJI00K0%+33$vNb2u za-3%`urW6vy3HS7H;hZ*X}vN*YNdGU9o0!zMfr+^Ou*Wh`+GcQ3Rogf2&FG0Uxu6~PD%L11{PtQAZUVJX&*TJWbXD~K+ zQ(RyA#gg-A9@TkgAnjyNApK2R{!6?M%NtU@OYmBiJH>X3Dx9??g-SN_q)JCR zxi*l}wE{T{lpJ>FxG5#mNXuI!-6KY7RoBC~07`znARvw8#6kMLv^gT_FNnHcfn`2Z zS$EL1#Hh)&TWsH?^509#OQL6!T0feK`M%4vltTjB$rOGpbx=7Rz(1zQN- Date: Sat, 16 May 2020 11:35:23 +0200 Subject: [PATCH 4/5] load banks --- C/actions.cpp | 28 +++++++++++++++++++++++++++- C/inputs.cpp | 3 +++ C/main.cpp | 3 ++- C/patterns/pattern2 | 8 ++++---- C/players.cpp | 20 -------------------- C/sonquencer | Bin 20456 -> 20456 bytes 6 files changed, 36 insertions(+), 26 deletions(-) diff --git a/C/actions.cpp b/C/actions.cpp index f8980d5..edd7a80 100644 --- a/C/actions.cpp +++ b/C/actions.cpp @@ -1,3 +1,29 @@ -void erease() { +void setSample(int sample, int step) { + if(setErease) { + for(int i=0; icXkbHJGRkw>s)6C+hDYtnXrvLZlT5Q5gjs=`7DkZ0?imYf-#Z> z#;dt(5~VHgP52QPtx-{ z=lA`-$33r9+DD~*^ss>@H>VJ#HA5=(7|VEdR>nge9dx?XncgKRgGmgjGzmotxnzsE zI9nir=*e##45G&)-sxv}hcmo!G`wCif68xn6S8Hf!x!~WFh7wWhZK9U&xbS_IgK4^ z%2mw_(LWlFN-y7*QTTGyLL(pED-cUeDxj(+~v8aCx#h9SF0Q&56 zGw0ltWZt&%>h*SH?R?py!^U9sWBbYtfONCD`uB<_=B30msax=_pY4{8#D6Yv|mIT|ZVz zPJjM_+nlq74T(92c%NwKuKLW0-}QKH_AzN^Xo?jjYMu!-0_E-0i&CNgm7;FdQL^HGERTHVp^vDR$z1+|vaA5+C#b zuLZFDi2@GaWhLId3;$nN?w}TLbEcr=Crj71ty|yP*3$YSUeGMvf>l`5H2gXKl;uwt zUXo>Y>@Fhygt+^PEVG9(c2$-gc zvfMny-juMjBBNN`3=IB{e=0ZW-;4BdyiSEv{PPn2Ul7tshVlMgKw%;PcaHfh1)N7( z#IOBeiv9hBU5|k?a21lK6hM^%eCU&hb_2fY&oKXmCd+GFt;yD-^P8OAdcUb)C+`E3 zYgTRuWlof_GAEk_2V0P^A#aMTaJ3j<*W5nZ7%6ve(9uRXQc^>kB3DYR98Qu;gE(1T zdVnT3W(!J)CO9%b4H`K;6wh-eH)(9M!s25P**PzdvM}?DVN*pKuOk-H&PI`GWgQ$> zIukZmc&H0LuGmJ8z;D%7Xk0KvgOFPJCOr;^Di2ZtmQ;B#!ltTk=t@{p?V%EEs?I4) z(~g_6W?0H4T$@yG1}X5Wg(=lxcMF#2tkk5$w$#|Dla1&@thd+U+nh?QM9_S2JCyb; ztgG?RHSk`Im9{JTtxCUF=?^Qur_gsgp655x1;s}>JUIFeN(5`gFPfG86<|%-8N`cP z#{G*0Mw7{{7}xY}JFFJmv>5gZ8lZm(Q z%%GJ)-?fN)(oZ71WXTf_Jcc@pRr+*PRr@?+Y*JV}o(cObl~Zm#Qq_QGj7E=m!=69F z=CHUj6GkkKbZ=n57TPfo+N4M)#ILdm3HJEQp3j~FnW=LfH7Jw*qi8T^xt5b0_6&sj z6c|(0Ua>SAzDUiV(wafYJWp)L>wTUPZT0OLa5FW#>79pc^${BVvD<_J0ajI>?kq(KUvjFUEv_@v+guK1+3!<^*%YXY%+sqHiF<@t*P zu{^2m6Yk~u#|2_9`kRuYABDxma|j9bc2kTf%}-S|S|1kkG)-XIdrVsy7SlD2os6=I zX^X<*cumtY&BHVoc4BxoZg!Biiv39X#2aYYh)(Vme@9NEre5(9Bc>>AZ(qYd6uQ!8 zjrU+Xx@*lcQ7YkHT6)tX8`9(ls_G4ir85cfhQ*f=x>&W-Dh@Ap`tk^mXJ~O7g8QV3 z3E!_n)5XkbW>{)HtFPb(D9x;BSR9_A1jjktRbOJY9?G4X0lRd@DCdwcNsO()r! z{b|@Kty@#^LVdhLCDP7IY=zyPV{DZKI6t*0p&n}}1)#TP&@W+*)sep)1+28Mr`7Yc zzX1zjr;=x}dnE-Iq8om71S<@7b-W^z(9f*UnkNvj&Zru?&n^jGimS>Aq)IaycIf27 zx%D|xdXQ1#Ub$p<@qQbU73HDJ?&|W;1NU-wXsp`1JG&L-WlOUD#Vc)4ZVbZ{tJl!! zASCx;|F4nCY5Rmdwnt6N8aBMY$+zKc-$txPr|RZ6BCcGgL;MGE9pYW=ToCcM$EwY{%0yU?Jk3Xl@Y} zB_`-}biz0Tv7*E__!e&DHsbTR@HY$dxE|+a;ReV3KfaKMdEAL{a}2(9rX`fIB}U<* zbD@0~(o{TiraT*FBpoap^@)+(88wE8oOp#od-hS<7@3!|MMoQrf$JK3Il@o1|T?J0c$`sDE#D9T&THNS}nQXO3 zMhja6x*D!yrM*Sds2z?Mwa`;=y(9&y=J(KgNLsL;UW0EI9HF(awAh6On~N{e23T6+ zqW7V>Bt2``BJ-NOZOHE7`Ai}c$e(GN&fA6hD0G&j&;(YSTF|=aY|dqFtHE8GLf?f| zr7p{6d~Hc2g|J)AhMrqOKIED0+;(vL1Gm2bl~aoT!dYgVmFbq_`5N@2&i2E8@ocQ& zmXODBT}*{KIfquk=kgZgom82J4H1jGRA+p%z_-!2_5 Date: Sat, 16 May 2020 11:58:37 +0200 Subject: [PATCH 5/5] optimize erease --- C/actions.cpp | 8 +++----- C/inputs.cpp | 8 ++++---- C/main.cpp | 3 ++- C/players.cpp | 16 ++++++++++++---- C/sonquencer | Bin 20456 -> 20496 bytes README.md | 22 +++++++++++----------- 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/C/actions.cpp b/C/actions.cpp index edd7a80..14e1d82 100644 --- a/C/actions.cpp +++ b/C/actions.cpp @@ -1,10 +1,8 @@ -void setSample(int sample, int step) { +void setSample(int sample) { if(setErease) { - for(int i=0; i= duration ? 0 : *timer+1; usleep(1000); if(*timer == 0) { - drawRects(*step-1); + drawRects(step-1); for(int i=0; iOA8l&!(Ov>o5g%(sZ@-znkUnD4G%=lobIzQ{ zcg~zMcNT3YZQ4bf(r8mlx=e!=iHN1J0-8k=SsiVNvLyL+mLx?87LV1`V5SE>&4D{Z z=^2kb`fF)L#OKn+CkR>RtqfNkeQv21o1W9~hoRhWh~vDscS?()BR%{54s-tE zkTu91a)rZ2I3R4ZOIM{#XxM=`+qgj}i7LIFMo6|}uzF6H!{^sj3XQM&Nw#IAHQU|U zHjt>0R&LXZZ|i!!!$*5hw1x0}w~y}!Y47f)lgH;d-Ity9eThzYwdP)XiP^2G*`L6{ zsX8>3toKH&mnhG;EQ64Gjp7g=-qH0ghf&D!RDU6}R7uGotl64ZbL*A?|FIgg3T9R6 z8xN;rZ-uJT1xWQ?+AFmJl(?mH*sIc)ps4uvaK&>0f#w~69$lTOO8a=6kFK3EeBMza zv9CH^mE17$E;)S8?aq>#bI$e)l9Qh8GOyodSC9sw{Pd?grA6>0#-UY5a=n&W@5_6w z!tHgc<`ZPBLiC^8cwyRh461ign~BStxa?{R;BqaOr?#27T*>8$C^L{3ca1hm_Z}yt zD^a=&##gVcQ|g6Gdq;Lk7ljbgDgD4a@tL77;e>5VBNd|Mva9h4H3Sz-OS_4_yQQK> z32~~@46wr-=ctb5MCY{|!k+E7KLuuQ)#32Pa*)HE9OZ<&R&#s}HEWE6s*;%p!SIcL zdo#tq{T7foauyu>F?G!Q9WPoQ(#mu8#Go1ehGhJ%>$TN7iCBM%XV~mG$id=R$LL9s z)xgl4AmY09>}TP&F{YsVEW6U>YhMijemjVOKY6^#bJmt>u1VoX<*OuK5q!15-!OQC!B0ID zUPH*k0sfb`$p60bTl`*oeaQx~u6x(!$P4lY#=cptujMc_Gj7~cdx2L3*H2VS-#;K{h`W_Lyz)?bY(YmJ`| zj8m*_tZ1@KuW+A&SdkUKr+CBvyi9m=c^0S9B{5q#jDbGN6ids%xDYK-3}7X9OEIcryBS|R8* z)(?4yh}tJ;ho{JXnMN;Jn3=g|W%28-;>ya>@>Q;~GWKl#3QK8uX>mpA+~QZ(tSn_a z@)N_BEX=Mbt@JC(Jcsl5Qf3-qW6Uw14Frz#giYH)nadRD**kq{01aiqg%g5@|7&CR u!mQw`Bt=wJ<*6&|qI8X?U?#q-$WS(8_H)6tc3~r@nR|8?eSx*lPW=Opp45Z@ delta 2631 zcmc&$4NR3)7(VB6KLk`R7lg~js~6-ZKN>%+;wQm-m5W#L2P2nKDU>+wGDEv=xWz~T z>Fyg2Jc4Dn)e(?CUw_`(VlD+S*)a<9*M0 z-{*bb=e*~9=hA+JDu-!%I<4)>u+YeSiHMQUmeV|%$ad3KvoTe(8B?8NVhmUftw!1r zI2wL{+){HGpRL;kmf#L$$)#DLuF|+osa_ec*A_zeXFfpmEGekCCR#R zoCYuVOC>;)n}ZMtEzm*}0Q3(i_4ib@UvdaQhX%0T2l#7@1B?RD%1i0_l_rIvL|hJq zaljpd1dWw~MyTQG0r!YzDHfKIh8)>F;(1$M7h=7Mb8{B_p{h;p5gNR7HVQc9qYz(* zXz*D3;DvP_|B$EYR*uKtp!j#*@c7qVW7Di@MLvK$vRjc!OP{IbAmXsPCKE8hPHIP0 zb+R4)G_4)0ClPFaToP-srZk@ZotHvmP6%I&EM;-<`G)Blwym57r5?U3zV^rHgk-m) zNy%*rEjG0>`22ky*?1|G>?G=SS=zb~mj1ImNI8d&27R)$Ub7jv?PG4MlBJS`ih$%JXzQ287Z5^&asASWm_+qUx7fv` z-08L0*x9NWCs9@(m~C$i&BLtVH?+(zy*QumMtTmaho?ECVtCNB(GlTaq4}3WxlXA7 zbZ>^};o=Mz9J-IESHN63&XdYgJP(3nNLz;M%b$=EoyY^wfFr?Cz14@S8g+`-yqSa^ zX?-gGQ&rz+P>HGKGOy6)?&Qfb*wxvEG5e51*#L10E^@Pz*==(SH}0`w+dTRntG2~C z3NrZzU}|21r1Gi}gx~EsUg{+NFL;)d<0zHJm@OrJ7P5$&^}X`VugH2FLS!AhuqDf6 zZ{`Jv$xZ@SY-z?u@>r5nSW0zWsq1aJ?tZAc5uJai1^y*J>i@3PHNoe${5`wy`H z*Up{L^X*A;vaxw{HrRev)lb30c1KnD^|%fFE%bq5Rpqa3@E29J;Tlui`$f>1_%NP_ zHsMWs9l9I(UFgqo`%gnJ#6>sa8Cb-&r>4<%b|^KQRG5F~k)ev)8b6W_Xx`&X^WKY%pEKUq5d15cH(qaGkq_{|3x5IDL4Z|AR@t5qaam zHJm?5lliHE14>|WP+}kv>`TWoYcgJ1&SGN3VA2djVj%aCO%bfz5D{p9v^L(!>!mkML7`$d;AxBG{B4&b^#MUC#irttE2_#X^EFci`xfgsmW(hE{h8e^; zN6QecgO=-U2L&##=FROkQ}R3 zz{@N~AIB``uV$0_M);&5>N^}Z@_^vS9&(^vu6lVz86Y#o*D63w&W$r3( z{iZc_HQQV}H+x?t)xMf~ua8uetlU&mv$cBHCnX&;wlX)j4)gMApRZ=ewsNnxf~nzl zcG10lW@W)^HNJ}KSL(Lbc)e^mJU)soF98^vk8xBvhE diff --git a/README.md b/README.md index fa7d92a..ccfba27 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,15 @@ #### Keys (C version) -| Key | Key + | Action | Description | -| ------- | ------- | ------------- | ---------------------------------------- | -| 1,2,3,4 | | Play sample n | Set the sample when sequencer is playing | -| P | | Play/Stop | Play/Stop Sequencer | -| E | 1,2,3,4 | Erease | Erease the sample line | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | -| | | | | +| Key | Options | Action | Description | +| ------- | ------- | ------------- | ------------------------------------------------------- | +| 1,2,3,4 | | Play sample n | Set the sample when sequencer is playing or set options | +| P | | Play/Stop | Play/Stop Sequencer | +| E | 1,2,3,4 | Erease | Erease the sample line | +| O | 1,2,3,4 | Open pattern | Open the pattern by number | +| B | 1,2,3,4 | Open bank | Open the bank by number | +| | | | | +| | | | | +| | | | | +| | | | |