From 91baff3cce059d56fc993ea54d87ae6ee79529a6 Mon Sep 17 00:00:00 2001 From: Macoy Madson Date: Fri, 25 May 2018 18:57:25 -0700 Subject: [PATCH] Added some MIDI testing and added RtMidi --- .clang_format | 17 ++++ .gitignore | 3 + .gitmodules | 3 + Jamfile | 10 ++- Jamrules | 15 ++-- ThirdParty/rtmidi | 1 + bin/liveMusicMachine | Bin 22392 -> 286664 bytes notes.txt | 2 + src/Main.cpp | 3 + src/Midi.cpp | 205 +++++++++++++++++++++++++++++++++++++++++++ src/Midi.hpp | 3 + 11 files changed, 254 insertions(+), 8 deletions(-) create mode 100644 .clang_format create mode 100644 .gitmodules create mode 160000 ThirdParty/rtmidi create mode 100644 notes.txt create mode 100644 src/Midi.cpp create mode 100644 src/Midi.hpp diff --git a/.clang_format b/.clang_format new file mode 100644 index 0000000..6b05891 --- /dev/null +++ b/.clang_format @@ -0,0 +1,17 @@ +// Remove me and name file '.clang-format', put in top level source +BasedOnStyle: Google +AllowShortBlocksOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: false +ColumnLimit: 100 +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +IndentWidth: 4 +Standard: Cpp03 +TabWidth: 4 +UseTab: ForIndentation +DerivePointerAlignment: false +PointerAlignment: Left \ No newline at end of file diff --git a/.gitignore b/.gitignore index 259148f..a3d1123 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ *.exe *.out *.app + +bin/ +lib/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d48dde3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "ThirdParty/rtmidi"] + path = ThirdParty/rtmidi + url = https://github.com/thestk/rtmidi diff --git a/Jamfile b/Jamfile index 6c5213f..968d41a 100644 --- a/Jamfile +++ b/Jamfile @@ -7,7 +7,15 @@ if $(WINDOWS) SUFEXE = .exe ; } -Main liveMusicMachine : src/Main.cpp ; +Library libRtMidi : #ThirdParty/rtmidi/midiprobe.cpp + ThirdParty/rtmidi/RtMidi.cpp ; + +MakeLocate libRtMidi.a : lib ; + +LinkLibraries liveMusicMachine : libRtMidi ; + +Main liveMusicMachine : src/Main.cpp + src/Midi.cpp ; MakeLocate liveMusicMachine : bin ; diff --git a/Jamrules b/Jamrules index 7be2d54..0adf0e2 100644 --- a/Jamrules +++ b/Jamrules @@ -35,17 +35,18 @@ LINK = clang++ ; # -Wno-unused-parameter = I should probably get rid of this at some point # Arguments used on all projects, regardless of any variables -C++FLAGS = -std=c++11 -Wall -Wextra -Wno-unused-parameter ; +# Define ALSA for RtMidi (http://www.music.mcgill.ca/~gary/rtmidi/) +C++FLAGS = -std=c++11 -Wall -Wextra -Wno-unused-parameter -D__LINUX_ALSA__ ; ALLLIBSC++FLAGS = -g ; # Required arguments for linux LINUXC++FLAGS = -g ; # Required arguments for Windows -#WINDOWSC++FLAGS = -g -stdlib=libc++ -fPIC ; -#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-win32 ; -#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-w64-mingw32 ; +#WINDOWSC++FLAGS = -g -stdlib=libc++ -fPIC -D__WINDOWS_MM__; +#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-win32 -D__WINDOWS_MM__; +#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-w64-mingw32 -D__WINDOWS_MM__; -LINKLIBS = -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system ; +LINKLIBS = -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system -lasound -lpthread ; KEEPOBJS = true ; # This doesn't actually fix anything, though it seems like it should NOARSCAN = true ; # This actually fixes the problem @@ -75,8 +76,8 @@ else OPTIM = -O0 ; -HDRS = libs/base2.0 ; - +#HDRS = libs/base2.0 ; +HDRS = ThirdParty/rtmidi ; # Some helpful Jam commands diff --git a/ThirdParty/rtmidi b/ThirdParty/rtmidi new file mode 160000 index 0000000..81eabf2 --- /dev/null +++ b/ThirdParty/rtmidi @@ -0,0 +1 @@ +Subproject commit 81eabf2563431160496f091937b5ead4d205376e diff --git a/bin/liveMusicMachine b/bin/liveMusicMachine index acfb25be8ba70efd3e833e16cd9413cefa559504..e8408975995c30dfb5046a565425dcb1fd9ddcd6 100755 GIT binary patch literal 286664 zcmdqK3w)eK)jz&z3k0ZaP{bf03vy|>)Rb%5s%+XWeF_amO0;rI({$Se(qze{O~F7) z8pyJ&##f6GyhOakdqm5d@{*DkOd@hwkV^#A1wm%9N<=IXf&9MTGxIzQU|M&m< ze13suo^xjA%sFSyoH=uOo?IJRan6i_0-yUc!}oC?p@Gwbg3`ZzzV6Cd0`phUSL)jz zzvudn_w5UKAHgw)dBKcy(vWu3Ldo^{W+ElU(is|2IwL3#ZhC}9``py!kSW_s{{+pW zPVYKgmvmE~FCh8ElGjy7>iktlRtw%udzguzybTXb(?zKrkMp2-FlxyJtKmYf4g5rroaWJ zy?lD9g#z^DCt# zk|BQq{3FkY;2&*(`N!=(<;9V~gAV-siT=OdT5&?^uHV1!qs-fkf2_A3{&mgz!pTP$ z6!;6@GpnHcSYHA2uEoFW@NaSGu{~p34tV6NHABC=^N;`a*#oxpR2{cr_L9IGuk1e< z|Jy;oy>itNd!Fxo^2Oi0bkNPO*Q`IJclMID1<0ExUmHy+^gy*Ed0 z1pSZ;|6eeGT=)kdd@lUgAYd;15fC~TzW>17_#IGcuJZHpw0lt=xn7u^o6Z-|A-U+U z$iq)125GMHtMbU(lZT&A=Fvlap7K9?PwsZdV2ru=nVm(dQv~@PE&vpF{KT zd2OEZH{|KB^?C5G=F!`2dE`AhkAHYQPx)8!$ooc~ar7#DQZ9Rr<)QQ2Jmd5@&`k_4I?oWC8C6q^R-^|13{dwB0 z%G2(WJpJ|4Jow+`vCk*-*ysIu`20eie!Mr2-5#H(d?XM3Q}f9C%{+1)nx}k89{L;d z=pmKI4hQq_|Fb;h&&|WEo$pKW>cd21ehF3+RS_vO)NIFFrFlCuGvO5&bB1j@Nj1UGrh+;b71SxcCCy z!1v93kvut=!O!JlhX?u+Cu#hNCinNI-E989h5TcD2l+K{-SYEX@ z++@%fmM^JqYzSXiy{0~_^K$2`t81w9+FajM9jUFWX?B}+dD&Fgu(olNi>(OWxJ}pe@It1!bxm_kQ{9?y)rRW&`o9uG}W@*Bz9B#;{%;vntJ$8sS3dokbHCzRiMnJyqs&L~vugcnReHg-# zR(6w3VV130)4Fb5xG6gmy{;>;E7moI!bj~mvKBq#QH?a#*F($f#RyDG>oAkFRNWl0>%f9CNjHZZFbq7ZYn!U;8mbywTOzG# ziCr^W>lMpnzot4;y{4|du4S`VpfM6|@PKq_>9gsjGYb&PS62+)%XAsTm=K%Pu$P_P zEs@BTl4n_3LwJ){Tn0iFZE0;*|8n$IH*9vzEn^I}Hl!6go%3{_*N+%r^cmiGG-gZ9oE$7Kbfw)3`h~C|#X7s%sh>TACW`v-&K}Jyq9Y4}-MMSjba^ z@T{tVQ%|=gHPd`#bcm&sDh#8wbq(utwCLKC_+S>n%n@m+h2mxEDDiD-s)M^QsH*Ul ztuQ<0dZ^}b{W=fOPRau>Z>($Zfa;c(CQLl=fi5+{fP?0m+VEP4T353Y7@5{jf}cEo*B|I*C)=nLe2)&#J1bX=|H5fBvbM2J31tKQuwM4RsBW zaU-QV&mzAd%>?8!tmI|;G!#Ijz$UA!YT%!$S}~tT5KDyDlCtPv>3kMplu=sO*j$AM z!ly4sXL`sPr@ITx&KTv-MFs@Au)!K|8^8yl+Wva2?hpmvsMr$Wr;x?IxPx_WoQ zXnsVLNNZELYGYkf3vKe>>h~q{+3y#exAHW^ciiNE^$_B1-u&ios#gYS=HQI?s>JV(5eY0HKfcVo_6-KCAjf^#Lu9z$^Nms#Mee-r`_{vtSEUPM+x4^e#)vB_^%d6&N2`KriR-x?a^G=;_ zgIH?Lz}egkoYT$1S*uR>1!k7~n}u^cV)rxoE|#VBfBT^v|LtR7QkWrhNLABgNoHDS!@!Ont(?`RNtdx!Kou5b{~)%E>Q-&6&Q#4BRr8 zCy_IJb4>loqpDdAHGIA%c{0Duz5|H)uCnm%J_YexExfx=L422m?=kx|#9wXUeP;iK z_;w5L?#mE=jfF1`Xg=9PP=NOnu<+~;_h*iU$JUhhQ)1z#jy z7M?u0KNS`piuQh1S$G(L_p{os>9O#B7m2jj!n=EE%V-}u! zp6*Y=!hgU;A|1Ez?%o@-lNSCktGu%CAGGij79P8l-p{0kckiZ1=Fw@pJ<=-;4`Jay zWZ{b}{81LZ*un=ae89pVZQ1I~M+U3twU3Pq6T- zEWEqN$?Vk@ey&x%*224cuFQ^D_>-*iZ5IAy3*TYkPqFab7Ji0k4_bJAGfZa=Tlh~|<;N`i zr!9QK!n7h3r1EqsxM zud?vP7Jjvb4_J8JlFpoC;n!H@ODueig)g=6Yb|`x!iO!qW8v3X_zDYOYvET}_&N)} z+QMIM;cG4Y6&5~X;p;7Yn}y$C;X5pRgN5(5@I0Gye|ju@#6=?QweVM3_&y8YY~lMY z{0$a_=JV;w(w5poM6FKe zy@mJaLQ`kF7gUB+Sq{)g$n;g!d)fA@Gxg!IUo*5%>|pg@jiNd>>(k&Z!E4cN1pFoC*qj zCt-%lsS<&2C(IBz6%hCbgc%yAiUhumFhk;$PvBb!GvrN8ya~i{|3#RgZYnA8jf5HE zrV;{QNBF&jhXuZhFhknZfWS?J8Oo;m1iqZ``w905yoNAC*HnkV7ZGO2nu-W~0bz!! zsnr6XOPC>QszTt!gc+Kqf&woj%#buyBJin%8H%O?0-s2jA!w>d;A03g^i25#{vct7 zoT-U7DF1s22M8wxK7jDigcAbKAk5G*H7xLJF9ZHC;Q@hPCd^PW)hFjSfo~_wP%sq`_y>d; z0;Y-tzKt+Lzm!klTL?4cOHI5k{ZE*oUMeZ@jf5HEr4j;PNBC62!vbGL_%y-;0yhz6 zD3|IJ_;SK$5bhCp4Pl0KsSbfJBFs=O6%qIX!VKY3s|7xnFhjRgg}{pmGh|Bz1zt#) zp<1d$;8O`RL`ww(K9Mj(vs975#}H;nmhuVwLBb5hQWO7@{wEwHoD}!~!exXL0?#1K zkSjGT@N0hqyoB(8z%LVKh?VLS_(j4Dtx`P#KTG%=!W{xXNq8CIh`^5!b_lN)_&&nR z30DZboA9}Wg96`4n4watMBv*AGek-S1pWbGhDNC(fo~(skSOI7_!hzpg;Eo*N&geB zAeJa!M!VG0n z5rHot%n&BETHtdDGjvH+2)vjuLzYxf;Dv-4s-#K;K9w*-lvF_A6A3dkNfilv3}J>O zDWAX}B+QT_HStgBf5NK?Cj~x$Fhh(~Lf{#M8Cs-<1%7P;a1G%BfnO%fP$JbQ@QZ{Q zLZo^GewHvphg65aPZC~FI3n;PggF7FRttO|;X1+<0`De#IpLtdcM`sWaEZXT6K05z z3JClI!VC>kMFQVOm?1&RC-5zV849E(CZ+!gM+heczLD^igcAZ^N4Sabu)tRlZYDe+ za1-Gc!hHf?PPmnDkHBjPbE;2u2z(J?PVuRTuD>VXTh{|vekz^l^O(bnoV(|nn@(y6 z+?I21H^0CQT5aK82o*hF-@!Uv%j`>+mzrf7Diwp86i-y!0ObQ5dCZ`lq_| zKa)k@&9Lb2h34KZ{nK6g|AgDI`FArc`ZvF0`t$#?Jo@luPV`x)^SOzN3zv@$mpmNw zIitIV6HG=2&ItO{37F_!Sts%iz62drI;SWkPUqx7Q18aW2dNr{M+aYeH#4S^D6I8G zH3fZX{q1CarL*O)LSWaMGuc1U31^o&+bI}v9)7ds{T{UgU26WLeCP&gzvE-S!uavE z9!$ln26n{AK6e0B@ONqH?hd?Am>Fs&480y!~%uM@9K?BHluw;c=+Z`m1O&-ae*oW#cHSZacu| zi*~I5X(<(x$7pD6%opLRU&YN!Vq67*+4)K$d9PO=Oo^{CzZr}fjL4$(|@tE)v(LlF}E1B#67 z^TU?{&_!e+m2fu$Z8eHAcT+h#Ue>KeyBOQ5mq;YqRqXO7t=>56xYIDyPM_*8@OMev z{j_v$`-BtUF3t3#nV0|izrl?!CQpmH zi1o)00CBhD0*^??tA~Y&VnnG2{~-!eZnkDe`0pGph{{9iWHjqpk84jo9!Ax@ z0wVGDZj}JFR1z96`brmh9P5?T2y!}ys1=|8bDR)ewanFODbvg(U1q3msu{8nr@o+N z8F%vsc_%eGf^4GHVqHDqW{WJTg8&+KR0X)eAVJGAI8{#(IxF;xuHk6c{V3+&Dp5YO zV}j^ZP{EkwNc_Q@a%qU5N$|L?%WS|`@U4qCV6nJJ$sKB`tq z(NobiZqaYDXf&kY9|Lsz9n3KPu?LURaCCBqc&Yn#oQ|q+jnVd`6MX{p#?@+Rt1{`o z)S?0fEEc#$)YG2SuIMLRzX!*VV z8$JYeIWaio*z8}f!l0je#t{!do}8Tv4BP52?2B0IIO2a$kPrOd5z zXS#|)6@@ATY8$IOMcP)CMz_ih(&M52)Q+qY=ei}rxC)8m#T9pif z1YGNngk)D6jd{zxJwS;GX2eU*mOTM#)0-b1lvZm%HgkRy^u_35ZSz_4<8_$-+>C@e zWC9Ixe!Q9taJ*f|iK=TUNK2`hJigWZ_&1WUCNFn>{2b;C&o#OJ%$gs+@{(!Vho)2C z%P8Fg$eJI|mo7<9fa&?Mgeqv%9L#ZfhK9`i7+`h~jx%$96!ZcRbroUFkGG*|7u};? z`KvJ5tu7Wt>G_ef;mAHQ708+&zlSne^J6g?c!-il)AO8=pFThG-5z#T?y>`VR&fXewneXEiU?kiPt=hBE4A{S!jrO2e#%x4{%toB4{abU)Mtlz~7RoUjJ@sdiqXIl* z=FtgfBTlIp{lM{wv(dw_5@8bqo#WZeMmJ&<P*Mpg~ z&va&DE{RU)m5<@KM3+I+ekZo65S(Dv3t`$RPpHi__!w6RMDA9yR|OpBFO(QnZG7&$ zx8%}$#IPr#<$K&L?n_V<#i+&O*Opfl%o)FRLVZIMqL9=0M?~O6A($4q}>mT$jvfTRV{&o$lvwgw`YfJjKqNl0aBvk_2g9(hPGc@(A?oZ2K zB>e{+sjEFc?DhZj_Jla?OUE~{%A_jF(TK5+tol&YX)i)8(+pC}%l!;vlj^`6{2))d zI2Zr9%3Jhc10W6i9aTq@ax66AjN$>0qd~;Sl2Q;_Bs#@)F((>d(bbfWt? zqsycTVcr^F62IoF6T_hFoJ8MB^rrk<-$Ul;L1GwZqf?*6n57Vg`z)1a^G`DB262XX z_z6r>%b77=I`@=NPw{f}{F)>= zuw_7F+MM)8iu$SKq22FdOkjwn`%mmcO<{2XvXi5sS1?6kmTY}R9a!#;Kaos`sc89g zD5unAq%&>*O4b9@{Ncype6cQss*GFY(kY}|&-=Fil=VyBY5fW`;`)DKmQ%o0=*TH_ zWaSughrNy*wmWjn?a0pdS7!LTxDPzYJs#NW{1@m*u>Z1)9z9n19HIKy23TUc2wcci zcBl_<2k_2G&&YQdfp&)z{Q#Ku`M0*CvdnUoDkdG(p`OPaYrH4|?asDB6r;yWO<*eX zI7~eZXpmR^u*)-#RyLwe0>g+y7=R0bbeutyTA{NeZnkTPgX+EK(SjiISHNvL&=^FF z0S!juwXA+53&rHwS+L9B*-h3_0C5;<9);Xk34N$5$B{YYD5I`o5G&?jC?1TdK8PVR z^+>d9t; zjI143P-EPT>%mr&p#RF=CS@SIRmt;HQ-dXdU`(g~5e>v!d+wBhMyt}hdY7E*^WE8p z1!eT{JBPm%gkVFAnbfgpAXRB7d9177JqNVeV$(q=Elqt&s6&Il138fcO&-h`c7KxC zaxd-6Sl@}DoSyQs{grwO`-!fLO8X1TtHPa(inj3Zd$ucnJHwtk_t@hR{b>)z1nhjw z8;oQ2U`%8VMy@*tEAR`#e48zKgOTG|kHkUs8Wx{g=dsWrMk46jBQY5*e;T7@Se*(A znIkc&K7=8j!=FtXk0OE$#%^^Zw}tMk_)QRuLARYU7`wf}*aD;(jA*u7{n@hMZhIuY z;EqIcnBwzL?N8&f1rO2TU5zZTi?Hy`NGSWlTwYXvRxn}`0Vw!yaip06s7D%ESC@dKI{j{9Tqz7tV-pik!iI&q8y?L?g?JFyl-jVk*XH znt*CmkaneGn^NjV~6ZQf6JZ@vS{W{t~@%gEd^YO>AHQuzm=zZ5Nu#?Fj(N(a!=c6Li-i7P#BJQoj=mZ=b56=x}IgR4t>rc3zeYA_FDS72hEy8tO}Z2?!8z zj}AJRpGD~~i_#ltIFr)FptM6KAx4$G>W5F0@<^-_Yh^A~A#$ikJ+=gN2RRS%$JxoL zNSVs}QgeO#@51I@P0Zz zLT7Yj3O|m2@yG>VbNs;(s_wogDPU+=vl$BwgDj#m#Db{M`A?`fH0a;D90bveW6rMR zJ}5Bg6d=mO{1Gi5K!JWd_p^7<1?n>{i$L~)N&w{toCTm6>i2g&LIxOrlStHAow|~& zG6rPSoNCH|xRK)JNqe!%K4$@?>h*7(t9j~08%f=GkGcenqaY#-#GVT#LAKZ5^@Owu zZ}WTFnTakV(iaJJuC6goU7XLOT?X!Fz){%oe~B|#gl^yuS}S62p&ZEX*Lm$KsHlCy zf4$yEK>QwaR%^wTV>QH^3SdZ~8mg2lC-%unXVuIPt4hbt&Wo31j!=g%UjfyXGxw;mH}Io6YAqn zNolMrGvbpid-^CvmYdmoT`#Z&=!+izR`#3d9sY60vExCpKH5XKN^u0mThad*Kb74W z9vu#rXF6t92mW?y3dgVi)|8l|He8e?p4RJMLKyfqNg!obv8UoZIH6Jpq0|9UYN%iBfVqoChmkX&4zL6nSC>FgSCDbhXd+sEzX}n3 zg4^6^2YKa>GulBR_%qT$&Y<#pSDTSj1SvS5bdQyFC(62USkXRN*6~ci((dwC%Q})s zLwk=c=nnmZLuKTKZdTtLdKDJaj)8F?iD6)jbTFe}Z)h*(nnMlJe@8d5oxhsVeP4GE zANPj-kt=_en@^L)NH+6l1Z}|nG5>k{K&}1i+8~>3?caO7DA~W2*H*wozbN=OmV*1# zX>^O8)%JlF3W=fCQ4qhPqb%3k&TN$3uQ#7Nb@km>*QF!tC(ld1C!Hf_33BRjQN z(3JzG=?d@!a~V}<1J6@$?x1)yIQwC9J2W69`Go2EUhTbx)lIO2?E5j;U#P%Q#?zRm zVIM{h*m?uE&EQS`6 zkPZ0-Wr%K3Wd0+sURfAD7|ayh7@9h^z<&pZ0Jj57JeB2$VvA=*L(j!#z>mg4&n==i ztxWi@PXE30d|t5m*BMc&Wew%{ltTLjyTw1Ph+wPzaMl9 zkDuX>*wr$_sYR^yPUGu0A59nD3QoQ8SR(YWM;xuh-Z_o{w5pG#3eika~5tZI`=duBo0_~2f^%!xelT@FB+se5fO@actNI5%>{B01=ShL`)!dEtk zC<&&^nVXx>WCWAc_BKv{(Fd1Ccd087pun0s+n@9K<2SH$OrNgO2OkGw46C>uA#=-n zFr48fhTm##nG1?L3x(2t(xLj8#7e}QWb zNXS2dqoGy8?Wh`fm})TKh$?{ccdSA?(TAd47ov>%#&0N=L}zq_{Z4dWkm$!&EOJqm zkF(uJtXw!oeCnTQQkOoblx3V)5GiY)Q=;pvaO;c)E8IsXX0&)tp;U@q-yO4P!h%sr7ZKC#5Aq4ggV?hzwTBWprX`& zlM!q%rM3DgqQ67*&Tkm|pnlcYsW6BdJ;zaNsNK$Cztfq7(w}kWVpHyZ#AzK6uLE3^ zu(gk&5a-$`)ZxWM??hX}fvku7|}V`VaSRfSyiisB~9h$?)DvV_K5Vq-WX=HTNDaurN~X;Z0s zM*0&I$4513VB1RO{|c8zZUBL3=w7Lx`VewO^XA-4M(}rD5mij6kJ7$18}Qz3E7aAL zJ-r$Mu0pLB++AL|&bHY;|4m1D&6dU@v(wXZrro!pm#eWOn1y$h# z(9CGGou`~2+*V>3EmeO7W89?b;u)S?2f&=^#5R|xFR@N2p|$yT>y5MCFuniagQC&w z^+xBOAasXO*Q%nGn5dJZp#&QAsd-dPjxjk74#%N(?0=zz34SpeKLoCJVi~nOLn!0V1gmp^nlf{f{L|1s@}(eZAd9qiL!>2QVM{OaswxIJh+I4 z?vI7;?@Z1Rg)z1UcpN@~;1dKRT|wY;2ZE3m`%Q~#mM}Ah759f3(mZFjVY-nIYebCW z@1mLFiY#Ze6yN^syi1PxQ_k1i z6)vXP6KG^P)DBH@LW14xgA$^4^uliSyEMtFsxE6GBW=tptVgvj51 z;7=@7l_M*cWMG(KWY;+B&vEM$V*Szkrlv+he}LHtGwLictRZq_#(x4H23#j&<*$e$ z)Un8mc0G#U(r`>3+3#DcDJp}RpZ$tO66qp*giX^|JFx}uy9&!savIpGk!5?v6=8Ye=pcd=wem6Va z1{5{a2Q=GQq1)*7O2u?mY&%iv4QLK+^tjoBCp==e@q3-!?Ph1T(E&8u=pLgAKI;{V z4KXLSofx%qW_zc!gp^%!zF$M*S9VukNR!eg{Mv})MXD{T}e$5?O zKSmaKpCs>e6)t|8;ITt=6YOo;`WN>d;bu7{TUVU+F6NB9Z30_-{;gb`fGz>i$#bqw zAf^IRolZM(m;c*{LI|3agdylS%Tz$S;#Y)BY#X!Ht;*8^*!v4R;4}pPPR0h-<3t}# zwBf;Al?dwlk_G-w6C-;J9{D83iCK9h*v=Q>Ex=%}j**E1gJY7A!C{v9=`Z0KxbC6a zm=)W`66)0#(meL6IyMwYPOD(d|I1In+fC_um8m(u1}JNpmI&i82V$N#2IW z#rJtKN<`WXcZPp(XRST(j_SZk6H;6Yn|I<}MKBHVW*CQ{JwV!Lft8&V&;aBR#2r8& zvmcq-o$}7w5J7b@%|F`J=VlFFN6qmTI#KGgx@NDN?J|df0b8G-oyE742hiwYg{!Fs zs1Uqum+aV(;8)TDqg~w|AzfSj>t5hpb$bTp#N!FE;h_#xkQ*x_st84e^iJ85j&GA9 z@Mdgx<)6HEhlp3Vk#Ky7ys6{wLFUtl7-SG}D^el=BY}rh4Q#=92@*-?Txd}n-;GjV z1T_b{uh;4@w1@Z=k6*O7%Nv zO{|0vt>m+44QA9WA$`0JHlU4&bo-$CH1sS=?p&;mnUvMTptW-b!Y8O(5EU%JiO@yd z4Z-vaET#ngVFu!3>_wePF1S_@|LLI+L<~iQSDg2O913f2MD3#3s3cRpoR;l_BKy4Vj-C$2_*}%*nZO`V+r+%Kc*!k4fS;t zOg+bdDLzC*TC%Ooc}Q}$Ys+QFv=ynRkOAe=P<3Ykx1UIDdX5R!U`vLzP+Pw*-DPV3 zg#u7?vpHh9iyiwsm3GOcWY?#qUFAtjETk=wgwoDovBS_(RzI?Ys(v;tEorC$6in?E zw>U&ZTH2eL^9*vdXVR0%joneOj{SH49S?WDhDF){3f#%%cY5gvSs8qHbLmKXV&8M= z*mW#9s1idQ3b3uN05Rq0YUrAn`Fo>XM-cb@Ok6Q>Ar9mCc9z3ykPSgJDn>Se%#j<& zSHTLXae3!(i9X64DniZ*xcFF{PtmT~B=hyVz2?vuh^Zr>)6OA2;^l%ul<{wUR7jiN zL(kPoA7QtMtLLs+q;n?OftcgNL2Yw^d)!bF`(E2#-!l4CDVOL0_r&w)F(ypAtKU!c^`A= zqwT&N2{KsGdq2bKdl1LI|F>mN53NF$$lMjYHps1pkSx zZx8MG^Y3Z*EA) zrqBtK2B`?LolbdO0Tz6T)ij1-5+k};MbR%tSHO%0i`k;f*!({TW80uqP%Cmp%E4HX zXcI2!u4Q&awJCqDZDKl$!_25aMI zd1y2jf!iz2tG~r^wijjzF+T3ZTMj6Ug}yyCCNHRACcIs!7P?d^Zp>MMq&Hf~-|I$$ zvkK6sA+(sP<`%dzz_JOvomnUNK z9tF$ZgzKy%+v~sE*|+nV0$c#_Z#~`MVx^kd`!LiSN#=8Ri<-TcEZ`pb%y&v^kuR!C zEyt5#6aj0GN}*D;>lKtU*2YI|ZO{3;jzwGU#ja*{=7<_Y=b$r{TO;)`&=9W>%wZ89)eY{dW{b@9TW=&}jT= zl#Xs2$8Z1EAET&Yn&?h-EY|dr^FVgaaahVr&du35C%UgQ-jSWN*nORGQFhLfXxF_$ z4FkvK;FRkCBifg|PUd|Gqb|ii?wBgZFPe-04yUy9nHlWKE-Z^EVnOO(c*vXi`?t#6 zm616slkB%MGPU){##T&c^u(MZ+QK3y;J>~h6Bl&?@S=18>bvMG7SpbwR`+P8YdG1o zWP7E(dhqwc#$hjBH>Y?KsJk8yBL80Kz`ylH#tSlp+KS-|*#KL-4@;CD^{l2c0M$xe z*fyWJ-Gwv4al9k@T~ya5bb>IWofj_UAh2}`Fi5b~5A)ssOt$`qnl^NB*Rdf zS%8Dw>~>FbW^MT=Yx=Lh*lJyvlh(y#g=XBEB=%1eh@rTu*wpo5f_-6I_6Q8x|J z`F2ArZ5;G_y|TXNUL=V~|LRMBpZ}-yCMFyQqs1L@I1j8q--&I1C{(iemFw$6p=l1W?P2 zze?y^?PKKFHHCnohj!I@?QG<2r(OBu%_yi|fYNg;kiiAH)5ApVMj=`4(hRvYuKopL z%f(ueN%co$o7FD%io?v)OI<)u{2UM(qRNx%FqZV7i`h2NXi9N;dn@+j4UF(az7xSU z-CB@<_brvSN7VCDitq5qHnw{Hc4oIKy|7h!VQcoNC@7>W-m%eI5Yal+OYBGQbet&Y zWsW3V4Fy={K=O`I47?8srI`K-#Y&v{=^o_i_;*k$b;=Bs$~YbW9MOjpO~Dgl0qsf_ zv*L87Es0)azd;k`R10aOR24%-5+{8CY?xCmGnE`nn|ytl(mlXAxE#H z_!RAW9fL-FirwWh&_cqGqANOw_=s>}5@q~be=ACdF7(0VX)Y)SlhjO+I!H9iV;e55 z7^kVH$RQ+8FRet=BXZ7+pci%^ODnTi$)HWWKn=yWSDe~n;G{b^?4;6hPhM1_gg_vy+paEZ;ZL)9_MBcpacg! zF8X4`H%e<})N#0CQwHxXc5@iX5a#_YT$PDFfx|`hv!4nY;D|ayicG6{83^JaU!St& zmtQX9jH}_NND!gM=)RH1f*2Dv2R)G_ zURV2*eMHUlMytU@TCkTuB6Xb0Gxsjaff0G!Yg@Q2V!h3e_aC9`Y3Es7u#xgJvkwctjGRG4-rM}~31IC;Z$@P5%CB9qRx zVg!Yp6~QwIL4etGut0b%vlP0rbNhC6Xn?`d>zU90Wt<`o6?|VjlVKOHdK&70fAbb6;XhKa22KOAIn5 zkJIi;9F8u_cVFTUu3Q+oj`T5=;N6!EkiIXm$(=ydQMyZm9!u}wzQjpn z3KXZ`m$-7wRhPbGp@va3Q>5JYC3;En7?7NPU!omZ*mRhbezERLgawZa375d$a`=x3 z&jfScmskZ--hBxI5_SE=)rsj?HH*FF-Iu74_P4X|bbL>hsQ|PqenH5@wlP~>ffHD5 zG<@M_h#l}%%({pWtQUU1OZ1II$GUW7Om_IR#I*Yo9)rqau$1l8z*~U9ULC~{g(<&8 z5;>V;nQOm|DIc1kqteZ6V+qCA=3E|o)nR025<98j(Yh}&gXlj2ttQ!24ky_IC)opq z1xWKZC?v`tL?_vV#$^)lWXySA;;F~YVm0@DiDJ^;53KAw@^?YXA&BdNK*L4I6glLD z>mh>bB$_{>I5#VOUxFyLLf7=U*)DU8HnZTm=+k7Q*e{5 z=Yn5&_M0?tKaMI_qJBb3`R?Go-WbOR$Lg@Gre~^?ivZ5;pfG_I?wYA@rK8`xM?@JtOQR^qQ*YyIRN4*Bfy$a!Qi)}eHN`yW|m-AJ%9lcH5m}sQEn|nn5 z`0vEj%t@w9JxP&vR6Pcw`Ua)B;Gi=`RJ{!3+&2tFhYaB>(DiP}J5J@SV=u!QD__MZfg~NCB*a3JK}jgd0E=z! zn#TO-phra}Jf9%o_z!WPpWXQ4l*1d~XNeX3x!Fz6gWK z#8iuHZf~O=Hdr3`hStK?3@vP;kd_wiv9!=nF>V%X+`ih=0s8xLpghdA6e(wBeT z{guCbos#PPl``n{-R-Y@o@&V9Xp=e`#Tsb?N~Gg#KlCAiuHNEu_gCgf$8d`@V}Iq7 znm5^Bc}#j_+WyL$D3Wu3CBn%xy&sglIovwnkMGcS4~<}pmCFLIc1P7yU&|c%`V6TR zqlN0r*nc(e+z!Z${6^YFLVc=LY}9?{whx?O;)7k_?ZsQrfH4ZZ&BqrQ)!m*sU48^c#o=K*iJcdscJYxGL~IOVET_8{12iV*+c@7++9m9ba@# z0QWMvU4SD&)Dtw{Y!6_GhSHmhfr0z~8G6s%2GUv3=a$UJzbQ}?m5*=60sOS`)^AY-Jf0l(iI>1sss#z@3xLA~dAmAUXjR!8^XA`}QY;;C`e~$l()BVqLB9pS@5njV2b_gF%#t zmd$~X*vu0B+pn>fd>#7c!PQwX9$OynKMnSRK7Vw;WF*8l`s5olaHM=cYE<2X*7Wo- zs*l;bH}3y{Zb^>sUv6L)cgB8!ZG@cm z0Y23eqBStgZ{6s9$@YnnWu^O#EL-3kS+=kMA08B8N0vGGp=J%ZVe&X*qm>_+oipg5RWh-}C9X~Q|yf&asU8{nZ`rqRFh^+3tJSJb9JqWicAR|8H zgKGHt3RIcpeLViH{xRRrl>(GW8;nOUEsqxrT?NkpzlgWG z)LA^e6INXNkn+~cEARIEyy^DDe)zrJccs7S@&_~I2mSva_4|Qi|17IXVM zNOtrsm|gk^Tz}Y9)qe>^F{E9GoCHhgOnST#bvB!G&sGNcJuHq1d?o5;onhYKPR~C2 z6>Kp2OOQ>EZ&#Mi(K+Z>+kiEH>3odi{Q3BT1Aa!AVGoQ+Arp9WIc)*abbFrvW?WDS zU*!3?g!XYrxON#)A0r7FCRmyD0ML3!OJwF#6dqLxy~&wWn{LjYPfI+1;Ak85qMhEUz zZ*rNWZzC1LK+&M_FBo5z{}aCtdRRU~C!2*|IImGWP{Y%{3q1WiE0dn*!!zcSYN1O` z@s$YtHHULxXZt!cDabiRdidn{!lzPkS_Ra!D+yjl)!ZJy;?3Q7a&#C007j~O7TRhq9WSK&$7`>3Lg{Pd zB4d_6@yd^cUcyaB^7l67ar$e*FP2sJ;qyC=yoy9+Ww>@v%N}n8><2G#xl5UB?MAQxXtCpsj) z6UuHx3&8jeu&vHMyJKlXY+6G z&~o_6uF8J(MUhqh$^kR_@tJOQl<*qra~ tO<)>mVMIpz^R<7^R9aU&(i0NDX%U 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 MkKb>qK_*b9z>ehFc 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 diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..41cd992 --- /dev/null +++ b/notes.txt @@ -0,0 +1,2 @@ +TODO +Left off with MidiNote not printing the correct velocity/note. diff --git a/src/Main.cpp b/src/Main.cpp index 1f226c7..cf2b192 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -1,7 +1,10 @@ #include +#include "Midi.hpp" + int main() { std::cout << "Hello, world!\n"; + TestRtMidi(); return 0; } diff --git a/src/Midi.cpp b/src/Midi.cpp new file mode 100644 index 0000000..cc64cc7 --- /dev/null +++ b/src/Midi.cpp @@ -0,0 +1,205 @@ +#include "RtMidi.h" + +#include +#include +#include + +bool done; +static void finish(int ignore) +{ + done = true; +} + +// From http://www.music.mcgill.ca/~gary/rtmidi/ +void RtMidiDemoListen() +{ + try + { + RtMidiIn midiIn; + unsigned int numPorts = midiIn.getPortCount(); + if (!numPorts) + { + std::cout << "No MIDI ports available\n"; + return; + } + std::cout << numPorts << " MIDI ports available\n"; + + midiIn.openPort(1); + + // From demo + { + std::vector message; + int nBytes, i; + double stamp; + // Install an interrupt handler function. + done = false; + (void)signal(SIGINT, finish); + // Periodically check input queue. + std::cout << "Reading MIDI from port ... quit with Ctrl-C.\n"; + while (!done) + { + stamp = midiIn.getMessage(&message); + nBytes = message.size(); + for (i = 0; i < nBytes; i++) + std::cout << "Byte " << i << " = " << (int)message[i] << ", "; + if (nBytes > 0) + std::cout << "stamp = " << stamp << std::endl; + // Sleep for 10 milliseconds ... platform-dependent. + // sleep(10); + } + } + } + catch (RtMidiError& error) + { + error.printMessage(); + } + return; +} + +/* Midi Commands + From http://www.songstuff.com/recording/article/midi_message_format/ +Note Off 8n Note Number Velocity +Note On 9n Note Number Velocity +Polyphonic Aftertouch An Note Number Pressure +Control Change Bn Controller Number Data +Program Change Cn Program Number Unused +Channel Aftertouch Dn Pressure Unused +Pitch Wheel En LSB MSB +*/ +enum class MidiCommandType : unsigned char +{ + NoteOn = 8, + NoteOff = 9, + Aftertouch = 0xA, + ControlChange = 0xB, + ProgramChange = 0xC, + ChannelAftertouch = 0xD, + PitchWheel = 0xE, +}; + +struct MidiNoteOn; +struct MidiCommand +{ + unsigned char channel : 4; + MidiCommandType command : 4; + void Print(); +}; + +struct MidiNote +{ + unsigned char velocity : 8; + unsigned char note : 8; + MidiCommand status; + + void Print(); +}; + +void MidiNote::Print() +{ + std::cout << (int)note << " (" << (int)velocity << ")"; +} + +void MidiCommand::Print() +{ + std::cout << "[" << (int)channel << "] "; + switch (command) + { + case MidiCommandType::NoteOn: + { + std::cout << "NoteOn "; + MidiNote* noteOn = reinterpret_cast(this); + noteOn->Print(); + break; + } + case MidiCommandType::NoteOff: + { + std::cout << "NoteOff "; + MidiNote* noteOff = reinterpret_cast(this); + noteOff->Print(); + break; + } + case MidiCommandType::Aftertouch: + { + std::cout << "Aftertouch "; + break; + } + case MidiCommandType::ControlChange: + { + std::cout << "ControlChange "; + break; + } + case MidiCommandType::ProgramChange: + { + std::cout << "ProgramChange "; + break; + } + case MidiCommandType::ChannelAftertouch: + { + std::cout << "ChannelAftertouch "; + break; + } + case MidiCommandType::PitchWheel: + { + std::cout << "PitchWheel "; + break; + } + default: + { + std::cout << "Unknown command " << (int)command; + break; + } + } + + std::cout << "\n"; +} + +void TestRtMidi() +{ + try + { + RtMidiIn midiIn; + unsigned int numPorts = midiIn.getPortCount(); + if (!numPorts) + { + std::cout << "No MIDI ports available\n"; + return; + } + std::cout << numPorts << " MIDI ports available\n"; + + midiIn.openPort(1); + + // From demo + { + std::vector message; + int nBytes, i; + double stamp; + // Install an interrupt handler function. + done = false; + (void)signal(SIGINT, finish); + // Periodically check input queue. + std::cout << "Reading MIDI from port ... quit with Ctrl-C.\n"; + while (!done) + { + stamp = midiIn.getMessage(&message); + nBytes = message.size(); + /* for (i = 0; i < nBytes; i++) + std::cout << "Byte " << i << " = " << (int)message[i] << ", ";*/ + if (nBytes && message.size() == 3) + { + MidiCommand* testCommand = reinterpret_cast(&message[0]); + testCommand->Print(); + } + + if (nBytes > 0) + std::cout << "stamp = " << stamp << std::endl; + // Sleep for 10 milliseconds ... platform-dependent. + // sleep(10); + } + } + } + catch (RtMidiError& error) + { + error.printMessage(); + } + return; +} diff --git a/src/Midi.hpp b/src/Midi.hpp new file mode 100644 index 0000000..ace94ac --- /dev/null +++ b/src/Midi.hpp @@ -0,0 +1,3 @@ +#pragma once + +void TestRtMidi();