From c5e8f1dca7f2d1b9c3d5c92a3f6f174870c303d8 Mon Sep 17 00:00:00 2001 From: DaShun Date: Tue, 17 Apr 2018 11:36:55 +0800 Subject: [PATCH] Add asio lib. --- src/hostapi/asio/ASIOSDK/ASIO SDK 2.3.pdf | Bin 0 -> 326940 bytes .../Steinberg ASIO Licensing Agreement.pdf | Bin 0 -> 62750 bytes src/hostapi/asio/ASIOSDK/asio/asio.dsw | 41 + src/hostapi/asio/ASIOSDK/asio/asio.opt | Bin 0 -> 53760 bytes src/hostapi/asio/ASIOSDK/changes.txt | 12 + src/hostapi/asio/ASIOSDK/common/asio.cpp | 257 ++++ src/hostapi/asio/ASIOSDK/common/asio.h | 1070 +++++++++++++++++ src/hostapi/asio/ASIOSDK/common/asiodrvr.cpp | 139 +++ src/hostapi/asio/ASIOSDK/common/asiodrvr.h | 76 ++ src/hostapi/asio/ASIOSDK/common/asiosys.h | 82 ++ src/hostapi/asio/ASIOSDK/common/combase.cpp | 202 ++++ src/hostapi/asio/ASIOSDK/common/combase.h | 284 +++++ .../asio/ASIOSDK/common/debugmessage.cpp | 14 + src/hostapi/asio/ASIOSDK/common/dllentry.cpp | 323 +++++ src/hostapi/asio/ASIOSDK/common/iasiodrv.h | 37 + src/hostapi/asio/ASIOSDK/common/register.cpp | 332 +++++ src/hostapi/asio/ASIOSDK/common/wxdebug.h | 326 +++++ .../ASIOSDK/driver/asiosample/asiosample.def | 9 + .../ASIOSDK/driver/asiosample/asiosample.txt | 23 + .../asiosample/asiosample/asiosample.dsp | 151 +++ .../asiosample/asiosample/asiosample.vcproj | 629 ++++++++++ .../ASIOSDK/driver/asiosample/asiosmpl.cpp | 660 ++++++++++ .../asio/ASIOSDK/driver/asiosample/asiosmpl.h | 148 +++ .../ASIOSDK/driver/asiosample/macnanosecs.cpp | 15 + .../ASIOSDK/driver/asiosample/mactimer.cpp | 52 + .../ASIOSDK/driver/asiosample/makesamp.cpp | 6 + .../ASIOSDK/driver/asiosample/wintimer.cpp | 55 + .../asio/ASIOSDK/host/ASIOConvertSamples.cpp | 859 +++++++++++++ .../asio/ASIOSDK/host/ASIOConvertSamples.h | 62 + src/hostapi/asio/ASIOSDK/host/asiodrivers.cpp | 186 +++ src/hostapi/asio/ASIOSDK/host/asiodrivers.h | 41 + src/hostapi/asio/ASIOSDK/host/ginclude.h | 38 + .../asio/ASIOSDK/host/mac/asioshlib.cpp | 342 ++++++ .../asio/ASIOSDK/host/mac/codefragments.cpp | 349 ++++++ .../asio/ASIOSDK/host/mac/codefragments.hpp | 30 + src/hostapi/asio/ASIOSDK/host/pc/asiolist.cpp | 268 +++++ src/hostapi/asio/ASIOSDK/host/pc/asiolist.h | 46 + .../asio/ASIOSDK/host/sample/hostsample.cpp | 526 ++++++++ .../asio/ASIOSDK/host/sample/hostsample.dsp | 134 +++ .../ASIOSDK/host/sample/hostsample.vcproj | 571 +++++++++ src/hostapi/asio/ASIOSDK/readme.txt | 55 + src/hostapi/asio/asiosdk2.3.zip | Bin 0 -> 422934 bytes 42 files changed, 8450 insertions(+) create mode 100644 src/hostapi/asio/ASIOSDK/ASIO SDK 2.3.pdf create mode 100644 src/hostapi/asio/ASIOSDK/Steinberg ASIO Licensing Agreement.pdf create mode 100644 src/hostapi/asio/ASIOSDK/asio/asio.dsw create mode 100644 src/hostapi/asio/ASIOSDK/asio/asio.opt create mode 100644 src/hostapi/asio/ASIOSDK/changes.txt create mode 100644 src/hostapi/asio/ASIOSDK/common/asio.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/asio.h create mode 100644 src/hostapi/asio/ASIOSDK/common/asiodrvr.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/asiodrvr.h create mode 100644 src/hostapi/asio/ASIOSDK/common/asiosys.h create mode 100644 src/hostapi/asio/ASIOSDK/common/combase.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/combase.h create mode 100644 src/hostapi/asio/ASIOSDK/common/debugmessage.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/dllentry.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/iasiodrv.h create mode 100644 src/hostapi/asio/ASIOSDK/common/register.cpp create mode 100644 src/hostapi/asio/ASIOSDK/common/wxdebug.h create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.def create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.txt create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.dsp create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.vcproj create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.cpp create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.h create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/macnanosecs.cpp create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/mactimer.cpp create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/makesamp.cpp create mode 100644 src/hostapi/asio/ASIOSDK/driver/asiosample/wintimer.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.h create mode 100644 src/hostapi/asio/ASIOSDK/host/asiodrivers.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/asiodrivers.h create mode 100644 src/hostapi/asio/ASIOSDK/host/ginclude.h create mode 100644 src/hostapi/asio/ASIOSDK/host/mac/asioshlib.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/mac/codefragments.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/mac/codefragments.hpp create mode 100644 src/hostapi/asio/ASIOSDK/host/pc/asiolist.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/pc/asiolist.h create mode 100644 src/hostapi/asio/ASIOSDK/host/sample/hostsample.cpp create mode 100644 src/hostapi/asio/ASIOSDK/host/sample/hostsample.dsp create mode 100644 src/hostapi/asio/ASIOSDK/host/sample/hostsample.vcproj create mode 100644 src/hostapi/asio/ASIOSDK/readme.txt create mode 100644 src/hostapi/asio/asiosdk2.3.zip diff --git a/src/hostapi/asio/ASIOSDK/ASIO SDK 2.3.pdf b/src/hostapi/asio/ASIOSDK/ASIO SDK 2.3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..378553c745df667963a1732bf35041a9799b546a GIT binary patch literal 326940 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

dedHuQ5L{k+@MS=E*X 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∋6!L?B7$0z1eJ&}rBwXZ4ED@0-^{)#@E zbewl;9H+7*5m5s*7$*|a@*7gvWR4`Xyryx(#j*GEocbCA1w5B8AT#EWSLy54g4bwm}B)zYmGBb+Z-I$oYR2p%sc_O&)VU0LLz% zRA`r#0WW{gTp@sJDY!3{!0)-yE-MFG#%~8`{pP>(1O8qA07Vx+qeH0+2UmX zzsMF7!~ax`GBNzGRHGx>n(@D?(Kx5y%-V&!U`Aw*^HW)|@n9zng#?jFs|22PzjbZw zo0C+vFofg&@^#s!DBcz3?xdUbfcdSNVvRF()g1dSJ&Bd4i=PJvm(G{BzT4T|YuNhk zukyEpXPevXUILeQdk?|8bhP=5|l~swOaX?l5_8iQNX50#eaqIx$JTkcD|i2 zCx<6ar6HHX5z+0^v_7{rx;cN6m-OC8-jt#Uf@7nrOaIf}qlZtWqWb=m8WOM!XK~n^_s7W=_>B#XWdB zJ1lU{TOps`;BEx0i52fKYWom_=@ATk8*=a>l1$7j#|=C>L{-v%vAUtZy>B zUD3Jv4`V5kpfr~$PY$f1BMT4c(L|=)6xCT|&^&gAql!7sZ!FO;fXv_xMRmX4kEuK; zX-Q%M!IiN>1a-jx)UV%WaPft|{^h%|JQr9NDmQr{VAfSk{I$HBcZ0h(TuKUd5`0sG z)rXZQkSlD~8vG}Sj?S+|=f`_)P$8Q_lSj%QE7fdJpC9i#X-6u~gb#?x7=E%8jURK| z#g}tHUQqL)JfBwmC|UE<2ZOYhZV2z7K_6x>D0JniVT(R|=a9qYzB-U$T^rWl&o%Ws zEHNsk)pSEYnDE%tpBd@&a(IiyWpd7Ma!${q+W59>Cj1!kwBN7B`#-qWb}-mVGh+-K zkj*;9Jj4ka{k(cXZeeRNs@sM&&2oi58p>w8eq@{eT4wo3SvScqm!%A?tt*|6z7S_+ z@)RK!U$d+@=%{L*^0(T`Z8Q$pG$9v`%dtm2@+df2weDldRTrkCJKLXXmRaFh&VrO1 zePAIg(SJ-jAs$i?9eQOy*)Cmf-69~7JhEI#oO;0K>S$}S1pPd~VezTKjD>Gr(xj68 zJa&)9H6qeF|CZcXXfYQ>QC#(38}{@7#GSp#Gwxp(F?>VZ1ec5r6WTJt%SrTw9 z-xXI~D*u8GaCA1>-BP&Q~``I0z8aUTe03&$;Gt zF!EscXM-k!sLSqJhXD?(fxCYp3PMQo%m@EOb@wxz$`#_db?Hjcm;^w2hF^u_9Am8W z){t@c8SgSokp6!A#lXu!Uy&{#pUQZg22-X7Mb@HB{=+V*dw4X=(!D0sP6N;PW~JE& zs+g!KrMsjd)&3llqJ)Pdb&D)z`ZyJRm{EQNt6FS3xrXJhj$#|tnf*pErepf1v+bmq zx?Q@2tD)nK)MJx+3t1nSg2Ku}HRK`BUqg*o(cEDzQyl-Y((LmO!%pO_uUsA&u|_3p zqcl`@IA<;k-!`F5*G+DgUB+WdP@e!F53hLxn4-tNX807IL>R@yQxBax<^@(-2Rc1~ys8bzQdLIu^M2BZ*vD z!>KELyJe%|Chn$Z^0NdH7LhD*_z)B}-$jZAulW_^^)`s@HU&+m5oA6ck^nrX=}36%v&;nwF$p3=i!qR_A@6c* z6~5rBM#?{?4MvENAKQ3<3KkRATfkM-9!uGKbPX+D6qw?y47}k$3*bJdNtiU3ZFlvx z%t*prNNJ}V#*nr|H5X2Kt#)=+t>;WCWlU}>u!rJH&=!qid1hsPdE zSS#Y=h&CnWZ4=`_*Z9J-k%ri{17dHhUTTHxZJj&i)Kai)_S!ot7?Wo~2^kVua+m7P2#9p&Nz-0z#Qk%b;+T?=*l2T0;?jlNlV6llS8~9uT4Odm6tPC!- zqS6xJFgX)e)ImH5#_W~h_y>p?H)7F~PgiiWy+-!nZGK5ZLCg;GY4o zfAN`$D3em7qK!5MgvdvL@zKr1Vtc-SI$5>i>ysTF89{YhV;T(|PAI5BC-Si89^H)` zDjw`N?p_SrPO2P#sfpW5<(qzhH2@gTkEB6%GO9X95 zoXIpP>G-MCECCiRbOLyR`(_GzjU#5$ZAkM^iWID2ZrOA8wUih^dwa_q;6(Q}FjNn34ut z)^sRxGThDywGS+SZcD0iD`VrQILh?73`)gHGJb0v7fwZMHk#DsbbS+&`O5&E#VPMC za3)h(^yLjU!#@ssd+n9CBNj#hjj_(ji+WlAit3jCiIJ&3vc=7b6jw@z5TmBAr)ix{ z0>TXKIZ~8vy~i(JcdlDOc$)yE#5NY8&%n-PsG zi%jkrm7(v4;mM0?jRe~ACW*ClY)6lafRS*_phjM~7>4S=(}nAAu8HNwJJ&RMz8&5LVRw2qHeX6(NdX945x8aSB)v_t} z8C6uDn&v4_d+QoB#7f?f;@8AAX3O795U&#+(sR*dZpV82z~p9LkWAX27DN0aL8vSF zhdoNLkj(x<%Ul~~vj;?IvcuMtkd&Z6U34seISDnC$MxzAwXp^wsm3F8)sKTk|ls&%j>jx zVw4+|*kkMs=U=J*p-Z!h(lEsIhgY2*Z7Ld;=7R^M|BD29^9k%RGl@g{~Qga*v@@KDVrySdkobLAsvXRWGs^+(V;6?q0Tz z`L!mhUAtWnF92u)#1_z3*o>FO7RXt{f~OH~!Q7y9sz?iEeteBIde%?G^KOArk=iJR z9FJZwKykT*CTE}2B&2xuMlT}kaxM8`;EI7M5&p0&!b^$;y$+izy_ma){E%7kH7OX8 z9Gf7S+)bSB53T!7@Jv%#N9~AW#>FkwpXFNjsRB4u7Qv|x0&@r%E@DZ_WL6)oW@e%H zt4edp_UCv8%vbUO7I0R3g4+7W%~!rzcLL+V7g6zt)QCo6URD<1fuW1#Og17DhljnE z7G*%Dr7>0p`JD3~(tumHX&VssL5*s1)h8lco3%y_Gqz>mc+yTpL1ABPTOoP@0xaM! z;rBK4776a7SQd%-7Z&^W0<=Na!0WIs*19Jj9(05t(Adj)!&~J=HC>Y4v5e2dk8vazpx0=u~3@rfPZW| zfawc(cBG5%FC5$C^G5b~ZqtcOvDrfVXtM7_aE{(k;#FLtsl`;QG?Ky&g$BV~i zzI^dJjFA~g?oDNhjvZ1kD@{d#J|AgQU*J>tdQtqEfTB^<_WxO?Xk|h}V3o~a``fcX zO*br#_lEisit z;%p4Kf(ia2WyMWH;ycM{PE`zRZ|0TC!tmE~7>5s=m_mc6x^1 z8ZU*(WOy{(dDFw!P8D9_?h{d#BxiAD)nZn!EpAAVfwTp}`XuCgt7;wTQuTq-V2m|` z)?g~rU&zMq0m%J@=l{tnsPa<30n;y%ev!U+F?Mt`bc5ORfxl3I)As+<=l&nvAu~JE z|JUa-{!iT@6XX9%cetaaY5%*q{og*9F`gN)ZRZ7$e?iKIfwM%P*dvOuQ(CzM zX6Vje{%P99{Yehi-7--S2QtCS{Jo;?`?9+D>?4es5F78OZ1jHRFgd-B)4%^5pPjxR z1DpLU`W8K}^0nMQU~5c$#+(}C9Gfu1WtXkGIn*Ern%e~-7COco538IudFD4aLH46c zTZ*jnrLgw~#d#a+cPKYSMXuw$0C^h9Ua0FHhG`jM72j2A$iq=tP&_Y_Ww4oTSBaS} z*Zs`%V$)T67;{Ci6)Xp7*79_ti|Lo-4R_U1uqErca~xirGEku?MSc|3(6KT=?74Tk ziduua5>Q5`%~6i#Dd^HehkN@TK6#}GGB1hgy-v$}Bo<5-=BHM@c+16)#cm%|^s6L+ zn&?6D7;oS_^7Y zPaB?Q_w$=wELLhaC)LjXblVfSq1wNh|FJSS-})s@k5NPWk#E0x&;Bo^qF!?88x_Vd z=h;5kfDOJUQn&qS;`d}SQ#owOU?)PJ?)lO1Vg$s3c_{$!B7X`X7z}9v5tZ2XQ|TyP z*JyY*4w{+7s=>W716c6)h+6C&Cz?-`WqVY~NKc9_fh1zK~GcKE})D!L)R1`)AEjD>zK0pu~bEE4j_@34$A_8^|rT z-a<>F8SS_@1aMgtRH+tr8kMT!TI6$|2@E9S;TV8*Ofn(2#P{U1_^n<^VptS$^3Q4Y z(ZJld_3+crym&5poYPQTZC5z0w-0}SeV`6JS}F+W97@o;tEAF2cBEF+y1ioje6}{+pPyJY2wp z!#C3@K9Q|or{-JE_y}u=c`lY`57LYch3b07X4DE;z$;1OfQ#B$?zPBfb4A|qXG-@g zWa@ck!9!^w>`eZ$vi8+8GIvigTjMApUBNq)cU-8%c=V?~Q}K`fREpe+dM$swE^`ZLQ)!;8;6};ElWnW)!?RTanlM^#_(2iEf?I|Ux!SW6nGYH#4qkqri49r zz!xicx-5uyGWv4bAM=Goc=}&>m(G%Uzs%vgWE{3N7JFxkk2>yW%0RXp7M~hM)npWi znTi&KhtiHB&@5q|bQkQvP9E4TIM)WipkT z^Z+kSDK(a$CGw#<)}#2#n`G&SfT-4p)yD=gmlVXC3s2&13Ty$m1p;TSR~bvrehO68 zh|&Z==s$gQ6!V0zyE579V56cYlB}=SBec!qaFo5;iDqg|Y)SNzDXfMfnsqCovzVGwbOIg+9#^{9*Asx!j(R7TPnG-f*+_oC&eT(-5JO%_=-cm*L+K3iJ}Urd5YZ*egZiLVd~iv08tYn zbRy(7?rB{SQvBaEHUawWMx>B>$rZVWyAuwpQQt&IJyh+3?Mb0O(=2^;1iC_y4vJ@q#-n%Eeu^9HG9j@B-#r~+Tk zIz*{^l`)kJvsEG^R3=Kid}_mq7h4L2eKK3Ai9`)1S$Z$h0zJun3yc@bJJ+uID>Bj? z)lQfpKw5aA%KzPDw>k`OPoL!+y^_?8lE{o0nC#%G)MVTlmN~_;H7%_b7?P{NxJSce zX+S}?HeaTN&287)qDzGT=9WHsX$DAi!!8fk*(4FehbqnxZhWcc8Ad*gA9YZ+xTedS z$;nc5lz;7b$ULCuASHbRtLBZT=pa(gLekdQ;4REM1$5 zcuFSn!f@vFwAMFIT$p~8uzVw6^NQq1fw{b#1}0zTDQ-48$h+RIS(mz0aJnxDp&YuY z(o6XQ(z@!(c$-rmd|T5?EJ}-@IX1!bNL2{d#`%nr#oYO_?{NKJDfRZRK+efL34dU$P)Zn?9PmT34JBR4@mM0eN5T{1 zhSHio{yF0DYKZ{CCD`Wgbsfr7Ws`2{VG;-S&fXgM=|`3AuLthV-)o&$)91OU8g7sN zeQhPWK0JKp;P4~VTIIFgUohWYzKY(xptw53!sN`R)wuydb_)s{JEH1Q_DW0Nb(5`W zlT))ttFK1ADY4es&r`9w%(|9w%GaZ*3VG+jmKKXV=YDEwlSK@xFwOol)lzHkKT2x5 zl6$kxO7$*F)AH^ULp#kC>J_%yXQ#IgwIasNt`kzXy(!uwp4_!5=1-lI^dYKV#UUzg zOtX-Q+UK|$_uPCrgTDk|Oe}T>3E9V(OLsWfde8K!OG8KkWa}@Uy-u>$ED}U*|8Y`3 zep;>f+(%)9wo#fKr4;BMp2j#&?R-yM#9dzy#6Gaq{AtDVx<19b@-oG~6_DV-MSbdb z`)*2*V-tc_NXX??h)~uDw&X%!qoMKf?`nSi5YmLsI;NuT0n4p!dAO5r-O$I`79tG= zIsvww#_GGw|Fy@hP(uIbKEhw|)~B6eemNwS20w(q6^8eqUjNxY(u(wu3I7k1FZ3j7 zdjDm*}fa)C`_M^WM{5PT+zn|JLothL26xr*J<*hW4|6 zA0Mp$f34Ik*Z2bnVTL~_=w{AivKCxv=Ge>ZRgUD~JQ+aG~YYHd?c zQenwh0j{ZvseVwN$zqa+rsDh~Y6V*GUyjIe{jKG}8(hmFYvgKU%HdyrJi66*n*!be zEyyrlJD7dfv5Il-Quw<&nt}rmsx7 z!oq#=>kCi3|ADW*K9{V<{$ecq?JSFoNNauo7==BEQ|PP?AxR8D<-jJ-Y7U~R+-+?p_3b>sa#wWpjym1qT$ivM zSiar?(R#M6%d~HuJ$ShV@`qkbIlR zAvyOakfhl{kVPR-xzhCXmAHtN<$=2@ zHAixZqVS#fiSYbW&|hr*-a-&Jm|pb$vow-%UP0ERxXMU=S;FRa@8uYQ{*juY{wBc& zGhenM&?ng0z^2;{DM2s_(jb03eDw^+;hPL}kepqDj49JRaB6BpU}}q`wB$WKvo#%s z6f!>S>mWF;f}_j$($?GCan+^t9a_R?!z&@$ddCEfcbXAX6|JY^`h!NP=^&f60OFvt zUWbq{aQMda-ZjGGhg)>!XQ1CFg%P{6%us?2ki`tg39&&V*iCUj63Vw}z-QJ*%HlNy z8mGA%N^U_@yrzOoF4E7#uRt{z2=L%`=TMKtr>M#L`@Vrioh76cjEfhzuB=U^$O1xa zyuE?P2Ke9*PM~?D`UUF}{fY-jOfM{9A?|^DYvUH>ne^`Wq=r4>3$3j#Wyd4Ze}qoF zpm2f)c7UeK;?{Efv*+_~L~OEMIsR6<9)I*xDj-OU`e4NcTMT7wQT;}gP}iO z3_A}utZhit9uiaC`8ROG6N3Vim{#9~XhI>-dT;^s{y&VpQK<;A6*-;_XSqCK8>Y}9cbI=EL zWgl&!$;VX$F!7!P0>GqifH+EEiERh4WtX270|-gG$mft2du0X{j6N3}lBIu6-w z>WPcYNYe2U^RoR$;hyA!*(2{3wKmH{0K4EJZz|=FpcXCq^VR6D)nI zdGufk9~nK3XRc(zTWCuj=BPg#oaUxfgdtRv3N8cEPX?o*IJ-VKoq^z1UW~v($2%MB z6BWE|FWDjnD`rvvTLSPx5{%J6E1YEoRo zWPL(|{~|L4%ItO;fcbGZ2){5p|1SI3hO=D5rgE%Gv&v}iA#+2Rh9Eh^LHTuGF1`)} zRi10S_UAeBR0#bk4btPmG~l3GkaN@@G97Q;oq`{47I7yoH$#e_;1e~O^RL91Hzj5B ztbA_RO~g@pQpCAIo6L=uha^0s5UI406T1zGS{C^UJpcX}-U&JNaCFZew6^8g?+}bc zf-wmVjLA|6&*bRqNW|=SZ)Jnz!zQ4e%`?fF3-Kz^kV>g>{qKy}HaX~k)IF=iQNcks z&ea^3wl^bGWH3Z4Gh+`nV_t_?p-I|dimDpaJq>;j>&Pv+fU|@WA&GuE>gl&O+q1Kr zMzY~tTDwG5k16{2Mx$)^7SfQ))3~>iW?iOJpf(PK4U+=1Mhbfln&Z98juhJi!0Vd? z2|P9IDXH~bJt|Bm=th(H3l1L5sj*FunYQGBVn`)?eavzZV6J7XLyo^$)lZ83vfL> zD`(qK=57$B^z8E&a-Qm}rhAvl+)mB34!2A3((wRd#moRf>D zRjdZEk^;(XdsIsykOYK9$(PE5$1bGoa3q=O6!7m(kdyDq$I7b8J zoDsgZ7XUk!MrS#3gX?pg*1|e~QKCF8o~`|jCeS7tl5|zk7A9EXWNf}lBVZG|D2!~* z`xrQXn?^`315p3#OM8q*FaucI4ozo#wL3?Dzj+5<;C9rPcvbJp`hDQ6j17*_x z27OE}B(-U~GOxCBbnn>7uy1cJ`by+9P`8X3kk<%&}O?@%NhLHJ4 zyG@4Kjc+>)X}E_1G!)OE1dd5CZ&>MmzgKDx@~tB{o$RMfR8&uumy5TB6J__IOxdff zD20{UD646=hVE=)&M4}Nv{a*`M`Y|X%!33(T64En+N7qUtwHm+)iKY9YRNm`UnZ(o z^FNBYPNi^b>y4WcxKBo30%?e|hYL;alOa0o1a}vPlW6G#?i-B++ApTaN2a$KVG4UN ztBc&|8JTGYtqn~-$yb3JAO59r@y$uxSfLI*zE*cE4%~4pq*L#|0V5jXa;R7_*_VmCOvPhqVY#gv+J za!=XdCAaLqqo+0MzW6>#MRV#Jm1aM~@_K)>@&{Zl%aYsmTV{ECidbQ8m$*JbW_Am` zk0?*CUt;V?6i5K=`ADvS=!Jsir-_Eo6n1~nce0=r`ZreSUk2x&U=|b0|G-AszfSIlF+j~8lC`7^@?_DM`=#V?wy74 zKf4CRI@FR%)-y>ZMM$%rJzFfrzU?e15249;weQf_q5X2+kEnc!ymocCU)?iuYj$tF zZI1YMWXm!>_D@TuBV25S+4p#8XcI&l-HmjwXM(ze}C)vKDxXSdv zN1IQj!Zn(;qzgj*U+X-XQcHU7iz%5COFvdZ@FuD5231vqyhmKd<@oL^c)m#s3 z&cm2kY!0BZk3*O2pofLiYbSA=Tzb7h~r-k)0Wx@TF!s%^T^N>Ay4sts(3O0vT@A?LCrB&-#`+*)};Ubv4t9%Ruy=T zrs)hDiXQ4nwaJ~haF{zGx#jg34-9&R*RD5gj1xFwWQEIrX`?QD+q-h6SeN7E-pAB> z(F(q&0*HG{eecz|a`1?sYVUjn3zufx*)tZVGXk7Y#ae{HPeYc$lSHshQ)Pi=UdgZ> zR=391Y7wH33Qmq|X8)|8JN4c_z@+<@9!j zue7e>IEGOqefsm$hSG2)*ciTP+nlnr9it`M&rE|G2yG5Z=f)*1dfKAuqqFVBqe(JS zE#j=ArO-vSgMQ)Eb^st3cL8f+3}H=zPg_EzoOJyL0&JUvgOv><(T~`wVJA_mDVFt< zuP;OOYE>r*oo=dY;s;rih*3G&zZ$)=TE|mr=(yIwag2uv?d0Xft*1Szm*!KLvL&)s zK~=LyLvx1?aa@^4WoicTQ2N)`yE?_3d46$>VS;V40{(4)ejl(J^%RDMeC)s@Cy<8F)|JXKC_PE6-GkE^x`JQHdi+Khi^ERCnXt|u;58_w0gx-NLnt@Q zg!x0ajf8zc!NdTzG!TWtlCux%i!Lqk!xt?=kvsBa_#090^o1xAZf`ng-VxruHahw9 za$RcQ$6s^HdDgs_wAm}5a+@U`b62)wq8*A026p@Rfr_3uQCg9Y5ZG^a-wF&p*j9Ox z(_sjjs~~2<)xGzX!(%9CVGMZx5qK-Jeh#cc$~jh;Phl-Ki;rvBK+iBsHasZxD3axn z`abQE2&22w8#I|*|SY_ddb@bIsw z))VzT$0EFC88=TEXRmaL0DSgC=aQx91z>Pa=qS&z#M)OMd3}&>EO^P%JLRLqV zDFOud?fAT$0=wyZ$oezRUk!efqnjoUgqxh$yX1IfuvbLy`@>)AveE`so1?1Fic?LP z>plMc?I1>?%pfJc4ubGeg#I#Z_|GF%uEQLdm2AEQjzAuuz(ZGQRK}&OsnD=U1OlpF zvCUe6t?{RsRc{7N+qj+apWIF3()oit;-MbeC7H7Xh#tW9IU31NIC@r}W9i8@fZ%@G zj7#k8m;^$ALKGia#%gQuOBE{Zm)9QILfKDz!@1W9NzI;YvDss3gXxoOhH_@dT81yw zr*d|1OO#y`q4K1U!J($R(L>rn@mX2XZ3N}|fVn~#+jGPKgN2d%r$Nn5rb8W18Os*= z{DW8?Jq)xA{2gdrdkF8wVt|SJ3+k%)J5j`#%<&MZ5OFLA>hl>3l%!6r#wbs5xp8WuK}q^ouNE^nrVrOm28bb zMtpn=!w2wKH?)n%%(7-^Vksvkb)q>Hs(3|6`T6*9>!q}a5U55xr!nVmA55oRko|)y zAiEDn5nEx{pfR<(=Ni*UzmQCKC_)=yigw`pa`@t`a zFxZ&<9Syut&ef@A-ap)izTL{Iq?D@3th_LW^nx@ZHf5Dc6Dr54`Xwq41$#1Mp`+i6 zyQhv%cLCNjcIux8$GiFm23{?m_4hKv-+#f~y`9&+TLQv+5CbJoY#TXsAxGNlg8VIX z3^pI;IBe5x*itL;|KN8tn=9}2CJrp z@iN3DZCsv)7lv3mK{sb$tqz;LD5ZN;LU&~lw@=}tCkvq0qN&doZLg7NFnJh9wMrtl zMEvMXc0t9;KDH1OJxCtYwXC}y-g9w1?xxbkrillOpY((o&JpJCt&N7=eo4_Epssvo zt@?sASrdT2O$;D{xC~`w_%?4Gk>n`@D2fG ze3j&64}3TS-Fv@5+B9;jqVu^t-xIm{Oj(~TGrkC!hVQ%ASwDac%Ulr9Y5FdBpg+zE z5(1&^yY5~@f;s6QX*4!s>n5wdTtI=yJzAl6mmH4_$BuACQ!TCa3>jK)9TCl_v8gaE z*cuhVK3CJi;(g4FXttod+X6*B(O4%;-tEMyrfKw5560VT-*3yFOM!mcMF1si9_+0b zY1fHT+&n!&J;~K=*Oc@;pX8QRToEO3*sLeby-wZdLCYI(LjzhCp6~)8P+}tDl0A52 zu-LD!<_8(CGvZ$H90!1&=Lb1|Rh@`uoOlbiL#Sa+ei16{u>2=7Q8A6^lowsH7)U^{6}!3{n^j`@G$78v_Pm2DROYKOI>slcKgd3(QVFOYULQ z5{tDIyl%iP?f8TFwlt?c(}^jXsn&XI5TqlNo@&_F`5AWMt)t2>;)A|)?;D1X(Tl0g zOV{mJ!Ny7)A=#10T+td1OLdm2OhraDF86{{s#oUio?*a|eQCLRt_C=6H4}52*@W_T z_$hr%1`kHtJyg~>``(iNTYF23TFN2>E+D-!@iCsb&INo1Oadd@rhFotDxi#@oaoi0 zOki+I4KMsq#QpERt_lwz?DstkW)az=4x4*g117vS50gUrsO4l=^bY;F?CIx;&S{DE zj(}|fhe2AhP*@&spczy?LS#$8McD(3bn+W!v6pX^a_@T;=J# z5`d|QMDdU)pH!l$G$t6lpL5%6fLmrX9}}dyex@lO30~Vu;Jv}C7ATg`C!L~ewk(}m zy>KGYqo=doAbKj+>L0W-GQF2j)UMxGDjip(Z7y2$MkgKI zbq7uaudc4=w{rwkE|aaMV=i4rJyoX@ymkWR=N=?RUTQLKs7rs8O}iXr9fa z$#W#(uE{KGQ|z&=ko|b{vBh@{ujs*L`(4$GZcK+|`1rm&{FxWJ5baP*EfRLC$5z-1 zwG6li5834!FKLyY553Z{+P$Ve@#ks^Si=&!>^S2_IA2u-Cznpqso3 zByLfML#U?qNE<#ae;c&94`Zm3+K37x)-92lzsnev=C%Wz>+F}b{YO7KLrWYc#c$<^ zEzYneQ#JZ*o>-r)XNEe->skOEPK3n~Z#!F{TkQ?z^LS;CuoW)jj6D_3FGU)BDLazy z58h5TKdm?t)DmhY;?|p!_kND}yHoIE2t6<5+c`Zih2Ft?Qnw(&*89cR`N3soEuY_Q zE#G&T0!t1!;W-`?y`P}VK58Vw6%3aHPpOFgD0N0(R#gvpl$51-yf&sers5qzcb^hC z|B0X&ZVlVpjllD!$JGs*lY2#hyhv(^c<>tZxvSm1qzrVL^2QnCLy}veTp{yr@a$Zy z&nM^g3i(=8!I6(9q&^ZX;0P=?lMkfAPPAXTH|3W8-J96{=$5M~Skx zMybZ%m%jr{pq+ECF%;(NN!FEEti8Bx!tWyON_3&eQMg;mE)8?=5LXqAHj)JAKvp;L zZ8&m@k)csHt2IDQBAn$FZ$mEMyjwSi&tBqaE-YEi=wx%KQC+yDu#!i6zdo?RBmm7P zM#1*Ery=dyPJKW0xXW}2e*f~6^L+I?9ew8qMZS}--PgB=4Z6bQd8gmt{v`ds3g{nQ z^N#{zV*K9(Df7Q+N;3aPP01flapIpA#F}@#X8u6@ak*fm8-bp7yN!}WOQqbul-JIO ziPv;@-I{!yiGDkvk_PA`6lXYI8B=RH?Ew;9G_JWmuIRfL6{b2Wwy*fuC+v~@ysgVe znW8Uko?or`^_@ChdK_efz1M)YxjQO;di?_G4l}_nC0e>P9M;-)f8n|sa++(Nl2t>) zty~&kJNT?q0>f80_4!#6)>kZa?ek5Gj#|D-_NE+4eSH2{l!P2N_^#8iT6d!&aXAhL zKX+`iN)K!OoZ9G>XDc)(Qko|s|5_4rF8+)P#168ToA<^%RrCz5s(NxroHgSVH4#-o zL}DM|#=B)}vDdjO0Hn#o-{kts6@3WxG_%}@_jj* zuk*MvwM1JZL!XkA`~8@?IJ11BJ4q@1?2KssMkcYV1xh@#80ON*GR3WcMEA3mox9AB zHUK$-3hrOU1`wtlC&&yv0oFh8KC2e#M_a_`Poj?bvnx=ev@n=!)vBwL1t3WW=k?Pwi{wj%C^k@=>(=YueAt~PFCeo6)F$#7DJQcy zg8PBg$JF&#weeEB;>%?<(i*dqx8JV!Y?~9dani1N$F=gU$NIBVjzL4)nO}c1^k>j6 zu7^wR-RoDd;RgR>;7<)1y(8vn{pVw2R1i)7V zLLij+M0EuHi|NVjX~pXX!NAZ_t7SfP+7=V7ZHt)z_``w*_gW~nS#=$N$Dj8>^&~;b zrmzCE)_X8g0!JSygM?ZrGsJXFA%ikCeHt~t53Vy^4S8~3)~yhzO}ssikek+M;t=%wIR_-3jk_>7TQ^o&lsBvDwnksvuQo?d^Zd~7G}A0 z7z}vHS3^l_)aC7-Hq(VEf6l64Btp7Mx^0Wa8AurweD0p1_HZ0ZloBvSv4p)Uc+Y{x z7;djP-_>7pq;+EwpzX^rhm0Vo)KNzkyP0DCQEHGC=d%a<7Gse!>Ft23NV45!#qnqP8VxmVDx_5%nBb*PNQ&CO|N(orf+Qhz?)!h?%2RMByVG6EC3Ehy~szv*^a1 z)X83-W3em{?t*zqoxD7Q{!$*uE~%VeAV$ZRi%O&qE-*QR5v@t-331)gS;)R4>xt}0 zwq2G4k5G1`r2U*sF&XIx`$OCkcOoCKu&fT{HavN1P^rTq&tn8Sl+YEph?5HPuM$Jy zCE(N!wy^W=Dd8ZSv8n%$jiKq;NWVBKo&O;_~DV+3= z-~6kRz17(m7hP0!9wfnZ~oxA_nH?*6@T#=-}I}@FTMBgRG*QxS+^& zqeQnB3DH7&gc+cwD-b(i#Wck#X$bR#tGCiaCB$Wf7w19#(BMax@F&Iav0=U=9_1s! z-0eLm+%dxX$Y4oD2H~fLq7?!eNHJZ1$S4qXWD*ZCP6rzbHyllefe{OggD|s%v8)14 zL^?8wu6V=uAL=$tSblLQs*L;wU)QQQNH=kgvxVYbD6Vr7lH-JdSgymua2VO5Y~{&O z05VaRuvaI|OqEUVCpS8Fxw`}@-9QbVUI2Ow3ig#Txxa)|P9Ec79+wAv2N$A&5T~ku z$20n^yGbxFH_`p#(BwptvOg~euMVeN)EO1@n@5*N5-%7#L*wc5I6-?tIm9^<&U12YgDPKBBqH(d!!X*$uHB*jl@5LgP))4yjat8NI@3$*@NMIy99k)%kL&@u*h{+=^X9{+#5JJV zdON}_WUse=#l2juxV+$rC68v6Oe~_KV#)NHL*vJlZFst6a15T-jD7>i4@mQ4?0uR- z8B>QPrkyu|9|!HN;}qgzk4ONFTbzhgn@eqG+Xz-`YEX`!_ceH7AgOd5l2^+~h;;9X zF&Z^-sDL-&TB#5RmP`P~2uJdgO(MEe#cEqt5`*Zu;n6o%wrJZSeTP@%7q6Bno+-Htn8{*Xx?m*d-k|@(%@`P@wZwEiKR6NtNnUGh)YIMf;@(*BV=VCXu`Mkb z$MSuc>jBxSu}BZ-j)Fh_Z;n>)FAkCYjd%jlurG@xJ{_N=EF|$8Xb?APV)6ZgRu)hB zhYBA~Iq?cEdHC_u{q>{C1h`1?TnlOYGity695a!>+dhJn(bI=FyN<`+C zdL916ZR2uoX7HWBDw9&_IGw-KFjMKwB2JWXMLFoG{OQyxj_YoBES{3bkdBo@Y+I3Uq#+sW~>Yj zt3s=Hz93U~UUI;)s>;#66t}sB;oy6GDo*V(TzN|0SHMB+A!A;q>AnSTjjt@`q~%>n zU&M97IIh+cmT$-PqrR5?7StGr_ZA`M*Sq!&O>OutPVHr6er1>V!&DnQPG_3?l#2){ zN6s;LvDYYOtxUvlkrp=)C6C`2m&~~}g$9i1NW9PU7)&4~R`;6}Ed3pmlR;ZqVidXg zsuAe|MO@?aqtWcTS7>#)pvv0@#*y!2*68;!6pG-!mpB%eiDNqh5w%8u5(y zqEzy?yAoz^$5J50S?%HE-P#@CEczYc_;fhigRnTIbOuw+yHIal`F%A<#!-h#!Hksv z09&=&Ap5fFUzCjB@aBW9tv<$Xkh5Rl;6SWy|3>xwcW;P^h4p_EsVx7dH^lNE^@gr= zv=f)x5aHTSNcab0T_X;fYf|tHg_VlfhQZ`=Qg~pTf-ZlVxuykV`{kz4mTSBIIf0o1 zTCdXv#nZNG*4on7Uz&m!Rfg7N`TBnS_3HVwyx79w(|E3rF8_^&M<=h&U!_z1;r9vs z*ZZ}@y)7WT2B9FOx^ei}g!H@w(G`OrqNNgh)mgOCmNs(wV%hDe(Tdi3ontjwJ-On~ z2$nM5V4`ZZ#iV+2S@y3I>el4)XcnPl`ikcA%$j5; zex%<7?R^@idjN3ld+Nkl-_M}&319h2ja?L&B+NmT8pkzJH&iBj_I}yV{i`Y)$$8?Z zJ*4BY#?QHxz?&^XRm%fjGtY3qFwIf6(sGRh0hwA@@bz+hLw#mK+XMi*juRkc69BH< zN?>C!<>%L=`RP<#1uE+pf|?DMP2F_98@qq+?$YpE3JUaxkdemXy~Q8E)lr~|_64F# zK(1&YRg1&i%?tA^rN8X~oNP zcHjC*VW@)R3jh1F=KB~%LH*OJ_eT99H2($S&A;Z1wO|WWvVQ`pLek45%QQ`xU{K^xM@gyf z#N9()aX-(nlO9B13tP1OuuXjiSpsk41pM=BT9S$yz}c$L>g@$K*nPROe8>mS3w}%c0TF<4){0BQ zp`}3uYLK4{@V^nGjf~$m9N~v5<{7%Z-z6^Wa4rIR?pOg<9#AaK|9<&y+bP2{=!X*Y zA;Q|elENQ3AQ-(wT?4do7H0LtWe1|mSKlw>(-`0|hMlQY6%)<_R5OZlG-$hf&;)8X zj!id+5_^=;a+|Qay5bvQW=Gv^y>^y9Nz}Bb($19QzKM~w&8}x=qxggM^<~!l_TW~0 z8qQV9b3P?8pb! z!o;SM6anZu3*_4&WV5>*WH-Y?m1w<15UI{7xur)iRG*9zhde?Qe;WfIr(1vwj>F?% z2Cn@~{p>+@;|esvB=(li3+pxeHejDXq+Aa%g(#ocRUEi5dr73u1j){6SC|a4wfdO# z4a62EOu8w+^sNn!Y9l2XeO)ZB)%NFiY|~_I_~=~%($$l&rymYNxQr&!szm-E z4YADI503_QGt=@)B^FRK2FcCEzHWo6BU%>fQokXSet~2OpkWGos*!14{9eTeb8_1; zR5~W{+}kLe)dmGQ{!}=^`c0xxX0zmqID*A;E!!n8g&eYMl$;tHnRF!<=Wz!n6os8X zY+H!O*`FGeaXhAnhRPDF7W+bwlV?I0X5CtXW49y`v5Y5}BrC(JR6M9271m!?CJRp+ z%DuXgR~xko|u*;8eVNNaL8-f-3VEpv@^cck!$}6 zc<91haxGTbxOVsep2#Q`9FE$ti zh_Ri3J{Xtn!Mwxup#H`j!2-lzUX(XrL~vrcseJWH+b_tS5n81j>8@bj%>4) zg6p>2#&p)j1e}S(SeIgB0e|JKSdsM4J6kg({n@x|0}Y`Sq54-rZ}_49e6;H!NJr*| z*S_;PP2{0hqi&%@d}gGlVd&1fa9Uts(<2HW!la9hgp-mCg;pUy(SE(l#(kDkF~wmA-3=>cjlb*Cme7b*o?} z2_v=Rona^G~~0!eK7+PMfWk8$tZN$3Z-a12-<8dez(>(tY3aTQe7wY$Y=X zQ94ZiB^>o-B_9jm(*$>H9x`6(Fz|;e%$)6!iEY=pnzaX)*o4A@2+4#%7uh!t)z)myG~?#sVFMLHIcF-c1WNs=Z74vEJeD!@&&+-$MYvAFTR9lPs}+LM&Kb~ln` zAh~3`Dzd*qNgx_C|gunm&jZAE;&E03}aP@8(k(r)!ymdOzi{D;3S~z zyD2|V;y)|AiD8*je3`oolY$w?C5S_Ckb&c1Mx`~0inaoN|Mi%uf=W~|^cSurL4fVj zE?(`*z9jxQD|tZ%8C{o!lTH7 zU>imtLU!(0q|{i88#x(zEuGoAVn8D-%$rDGcd)RuEDXdK?~#%Hk9Qp^9^?Z0P6r@o zClAr0+@oX|E$_??hZ%CP)lylVY*=!iXx68x8`1QsjtzoD;~C1|k%-1tw8~X$_Dd4A zI4pU2iX(?~<_#VfX4BGVGj3$wRu2tTaNqW6>Lc&(Y3K*|9@T#R7f9-=vU>+v`Er9x zG#sWtUM)#O%P_~6NyyuyEK3@QD^kW#xhhTanHyv;j_GNIV{04JDJaECuakNn@waI| zt0R&**&ZScil8Nw3_Cs%y!rttKx&MeKI57g<$rokR2hzS4}u;=b{shspsX##ffgkg zf^=$t1+kD9c_a`&8;jUt3(0s1GeUFO*BCRzwkzBbHVoqT2dDB6 z$5$W0sM-TG8dOJOt{3(c%KXhY2n#rlZy;B5y6j|c2vouh&Hr+?d52wv?*i$!;F3@S z4oUqiF&L=31eZZ5|UX-dv zg*((e!7z~%enOT&)F&3QZXL#4rES4vav-H`V#hV~S(+7>M;3F=H`U3)n7M@<0lx=f zl*;Ej^z4MFXz&!CvMP_Ka-k|M=96TZ1&%A$|RzwDrPT%`AX9Z zyfaJO+$CEy>CbBx?$xZxosUyw`?Xllpox({q91u&>Zp)Eb;pL~_$Jp~SpPHUaUP~La&|N|w1sldy3+pt7%BUDWt?i4=0^zZ1R_yX>@*%)4-B(V!v?26 zhF~c_M#}bIM#>y)&8Eemyx7}DSF5_Vw@1QTzgeiFBHC|Zuz&ry(p=Z&!)&p)Cg;<~ zyNzqxyZ26L^!qRRei*va-K|g~fFvZ-2o$@sCpmd2|_`Kz(cOClx0Qo+wO9_oEovnfsAF zULF=Pr*M}ALPtn(oDzA=u=I=uGrx+T%}@ZH1ATJYwCT011(1cg%~@JHr)o!r|KznR z8l)>h){Msw0_|X(I>dQhvTKtEf|Kq!t1N$SzmJM}{BQ;V z;<|+ahB(IzM8SU!==(3?UYUM&O-}wK`ka_B1~p7vefrDG^T*4y1eC1*TINOUxyt>4 zFq}69_5NJY=`*^&ZD?4U6%+pIeORhoLiYNueGYUiRDm~SDGU{fk-C6@o zzMip9ySg(y*}tnToG)GCvAyelPitf7zBGRJyB?fSz*zyx9Lx7{maHk}7)z zYXrE3t;MOU#8%3l{Q05%*#^}EpCdOPR2$Byt}7TO$~VlcEJp>K3d5$NEFSZua7k#? zRmINOgd3S$EhxIHnpPDLsw1#&B-Pr_YtcOz=C18NMMdZ+6UP*#Anj}1wvac;W;r^C)u(4OyrI`xZbxr9sp%sS@v*<+F0Fz_9+x^A`E3fKZB zJ(~dce#1N?>&_)kZ|nC|zr>m9o4eFkdWR#$o9-61O#s($PrUKfejxqk*$?fSwZrx$ zcg$jy(pbe51=n3`Wtk)FED)T_gHdEUb7q=%yBYmkt7{&C`4D!{!gY(s(1tY9BudW2 z`8?_o)7UdJimMa=C!fN2{-?R&wmYnehum(|x&yLXT}dfzsJv(rP)>4AlE80zFKeRz z>RFWpyLwLIK*eN**ZEIKQDSvE6~E8+&8H{0iTtmiz=UmkhA6ESpN10$1xPlQ35CU_yi!Vw(>mE*{sa_I2UZb%g1PmzjdMVE3y{yD?1p4gqyv*Oi4 z%C&6-VzCxri9SnV4Q_%XUEutXP|~s?y?7}mk7-3LO+zc$q;8pd^3@@a>GFDp-;kRJ z0>PRN6Puk`V6e_~q@x?bDTr=k;@xd6S6q?EJ)@*3WjDWNdeFR0^5EoM7#*=a-U08Q zAF3`#IiuY-B-WzT#_z28m+?YDViQSdXh?gUUtdYUF-@j^M<+VQwK&ga$Id&8yNi^k zy|;zTd&nzu9KVh1>diuU=MjdIie*XtY3EELkl+_dIC?S6OleWws%yh{VMgg;$@OJ6 z`|>MrHNv8ni%YwTa7q^ejnAhW2P>Hk=I^D}5hJ=!4;kfzW{tnGEJ?-jYrIa2v ztHUh_pJrhSJl72$Qs6oj! zY=^el41^fJ{!CUZkb~`%D*uNM$rw_%?1hN|*at=-ro=$!`-C-uy_K1FKIwIG;L0?L zc6kCqoxqVE>V%A<+L1+th$6DiNg_#U=yrpB^bDwkCle*CbPouO#Wdo^ioit%^Wk~O zV;9?z`r+wW>5rET?fPOSX{2nhc#| zgccyTp<-20K%=ewHLBAHE%NtMz=6EIFZeax*Pa2mHb;8E4{u^Ms=#B!ZynK*c&JS{6TGG>6Hgm*vnBI1~qx z5+5bK7^+RA4N;=UponpatRbabAxT7dKG0sWf8cW&SB41G-}Clq|HzT zoDvx!$!MXiq7}fpxe|&Q3uSX`f5& zwopI;R7$olhWHhkiEQ#%+(!}K?kuN}wYHH*#=Q)^+R;2%%E9G3qcVsti}+2#z-6Qq zm~HB-HJY{#u02oS!?e{qKti~Mcxod7aEO!?0(^5;{ad2G^|)xi%*C*zJ-1kMzN<`D z!qP3en7*3oJ)d13V|I4yaNS&&XC2KsyM05NisAREV_BglJpno$<#_pBC(-h*q#!YB z-YC@UQy2oZOlf?9QmD<(AgtQ(R=}VPg=rC!o_{uOh^Vk{>VeYCet4)To2F4%XJy^R zDk6lWZbNLA!iR1(39du-Vqi*2BpqM*!D8~rD>q|qQJH&XqUUp0NWj;9K%*-2$-wb2 zuX}RK6WiTDHdWt+B!m5s8%JL^zsuaw-5#h5+Q(-yeEUXHyWu1EhTBk!q)u1tsQ8Hl z@M`-R4ROR~z^IDGJt?@_gE845L<2+=|82oMEV$^`!n~9yi*JcK*6K94Z7RkBd{+Mb zb_9LWbi~rkT$?e^6{!D<2A&;Sc}Pf22^|RG&SBl7bywJP+FgptSY|kKh7J(n`%_Mn z$;9!np!+e}b1-^sN=!gq=$=rFa6~tysTl_$Y{##^F{r3Bac(+{By*gmLXJ#xu%%g~ zMtYs2{W+*tJ;{xFPx7UWJp@T13rZW&-_yfo+_;M+8S)NqQ!Q6Qrsc3&ixUZfdBu&; z%3mbvtEaal{-ywGG#)3akM@zTF17{KG4T z*ZBRCDHA0^1V2L}-rU>n>mz$MXOoE%g(2N{a@S}wW{BkIe|bZ!aH|ONb1bS z7mT=^*U`Iljfg`3$XA56VL#Ot{zEz{ljod8Srh=aZSNs7F^T)Zd!*I)tBf?EY_M;p zHEESYey{y?>9XV4LE%~LAC^k`QL4ga<77M~F_~)_n4;}ME-iy=5MaoylwXX=CiVlj zC79bMKiKekkfEZtp4~=*BG#}WgOeybSN5mnHh1hN6%?HkAjGBuy1{)Lh)+qpA8L5U zjC9hZieMZVuUy3_VlF2laNyE{Vwqp|_mUt$ew0w)lzcpbx<(KxUjN9z!pC)&*Sh6N zoMZqeDy(A+Chi@)c8<%5y`W@qy!Y71#H}VCAujO4#-9G6(Kll5_qHZWb9sUD`(XgeYQmt%6yJW^OStzqwg7{;J4FUoPn0aJR-0p;pl(ttK@v9TXM3F#Wo zd(FK;JR8`NAn}t8Opt&9Jhp(C|An8O*8JZp7q1H;whFOY@Gni0CR{VfKed%79%q&* zuBsTn{GUa&4lzWyC&ntm#NZXq%YL=@!B}XPk4NFcs4B>SXCtJ>AG8iZXR zypoF90Vzn5vrrrpK~-bkF5Uj~^Bd<~?gRSDCiR`BLwLTWC!oVUIXjwUOL zQ)@Gr#LKf30eR;3{sPM+%qD-|`uL+>RM0qtUR-ESy}0kE$7 zdSk!5LVmu?wrC97GOI?^gWrydO{C}&Ea_O`*`*UVRcxCU>ufKb$HJR~9XK52znm_PD&OcicB|MKrmGvR zB)TLEGN-*~+)^?=+@&h7C34QY2fFt8*en1dbfyX~bTLP`3mk(;{D2s#3>Ef~El=R%^FZmsQMRhm& z)`_K3HSy6wG{qu>V%h=y<{UD~(ak<_8-;CHwQQ)0Il+1WXgHUqs%ZGjor3B$4+cNU zPywu{a|s@Lu<>VcL*4*7ydgGHP!n`HupHPst#!i=DM+Q0wIq(*$LLF&7DIf${vA*? z=tTx9r}Z1-QVo!!tnfAt#UGpq^fehO?1*0>@RpxC;O|Ycf%1FmzQwydO)NOD#OmmK^;;kpp1vX$-k_i|xXkpz#^qN7`F}lISN!vAt@`t9{r?zyry$XyZb`Rn z+qSjKwr$(kWt+Qf+qP}nwr%6q`8&G%M)Y|&5%X!it(Ub%&K#LvMPNi%4cbgHwZ_D7 zo2`9=vh#+z5!%SDu?qG2(3;|+Ec*g2T}mAv z({fdfSNhZaeX)r^-y2K}OK#E#@b4VW_q5v@{Ffi3B}o`#UI3;JutX_3pZNrfjK2Xn z0rinJKF!*&avpaNK8XxeFrIz`K65>eV5(|gwmp}wzvgv>-cwNDcKy%EO3L>RgJOIg z8O?_kLy-O24ouJ*yZu3^?Ax03+uCB4f{szeXCJY^+to&YAYjuR06diPjFT+@M6Cg> z0CAxXw@BsxzIj-(l4oWut4RMsmAtE+msh4pA zjwB@|m;Wo*uwaHkkyRe2oVgSAh<+iUws|V4XvO&Jn(eDgECquSRh5L21e!2U{G*Df z@<#5J5$)Ns0)$4VJ4{-!4Uc&<^qd0ZVpk~s9DO&OP*fRZ)1-}~ zp9-K0XD!bbe(8Ow2YpmX0=<~gnC|-IYt8rzI^bDY>6P`fqs7oiJB{fGib5jdr>ln3>DV9tE z1HUkKrwW5A76(;7Bctum)Vf-Le$Hr*{deRVX4iO6cHC9|I(jM;A$@$fYI z%S_6sO%fIsKM~Ke5k|romSDq4kR^T!I)ojzD{h_!xdAaf2tdNoe+`RcfeKaeGG51G zD*%FRL=YwKhjd&G7BwU!>JfOJlp>cV;+`rzXc`<&V%lqDLX{Mv7p3`4@z$M_DA&MB=`ix0#IB^FWkV;^b|*9t~_L(O(!7G8%UsEDB32NGaTT4z-; zu`wLPGSHMtA+nS)??a7!7g82xil5}me*iWl>6Ec1aHQHhrG{io!kLysyr&{Ep1cWT z@#PyTXr|?_wT1*izVJj`nJK)yA_qh@)Dysl4#&=R@f$P$XZ)hQqLD$wDiQR7giDZQ z?&Uj}b)fQjXAK3nO^p;?8w7_fAwtWjxlSAJKI%V9`v*J>G0~}f7f2V``}pKAHg@5$jUNTI`yR&${Wfg9KBw-Bv!DwhEDY9Gl{w)2Amadn11T%LYX(mQ1xk#qIA9udl>49rbgpc~o z-4oI2$B4vd=7$*;&GRsb=_Saz;->a6^2!|jvN;Wi?O0(=3J*j=;gKbr}X_l%$Kwyg6u<$s=>8D zDpmj!#Fc*@Y_0D3k$XII{Bab-_}evwA&a$fNj1DJF00o)*%hkoth+H28z`n16lYQ=3?}zU13_G0i z%eoZxfRpSoa)I+3bbXi+jx63e?Tg=E8rl|{I%L_FD7mgGMj^}rRpDaTNSOc#MI_0T zU|Yl%0GFM1y{04UN0k&Cdc9|f24(DLX zO^@hmBu@^VwNZvxbXz1eT*=ls^0MJ6kRMJ{<|Rhe@{PGEP8jXn%uj0o_ZW-$Mk+(e zD>(|lr~4Ac(2OCdT^A98ER#n_;@?aoIb1r?URDOX9DNQmC&<{O z_d;ALP7+ciENCD5pKft9b_7;A+nT{+?Vh5=aL+7DNRN2|jT(V` z{!k9r9ud>@C{hp8q%jV-p*s)1TBEI<(E?fR0ZPy%^Vj^%k^**>eYF>Rq{6Rzd$O&@ zSGtl-RTe@4pzLPYZB88ywsYU8e z4>9acZm1&TF}Ano#pb-c?$oPoj%?1}g?5cWmlOMgFc4P{)PG4+knQ(Nc^AWs0Zc^+ zNTh_2$Qf)*b^D`vMwT~L5yn!0>ggo1n7h;@@QFeYwpY{UM?~H2nP6h&TLg{rt?4qd z5xezig%x59*-7qBHn|HJ*v55EJI`XH)jB+pAErPD;?cUBOxd%|0H~g*`ayT#(m8>{ z4+?@uVH6Agdr5cCH|5UJeV)JNi$d46h6Aw9bqDuu*V2bzl-=rbYYEA7}Yfc!dLx^9H5Z z5&y%Ho7Htv^uzt=;EP9#sL7HnX8+5BT$UI^bV%>;fAIe>G&e_36dPM)_U>boaNusL z#rwZAq1;Z5Ed=mU(JIo+FF~XzFN3jC?0pACcvGwo8;AN#>v-CkyT5rQDJ@0`2ajNk z?6zOUS;myp?w{b6y!F5m6r->uT!pHU*Q;1AynJWl7lY%-md~fS-Mkaht6~DLJ z6NQc)!0Dx~6KmA9c*vUy8MV^i#fhy<8lgKgyO4)ge2aN`*>fGqZV2bR;lq}fHSb*+ z#BkOhR-P_N$s>$3s*(UY&$PjAha7xrOgB~-JtT3ukY-lX7LEmde zmi2qcJn4llceA|%xLifEndKx1TD|8=HAa+eCRRj4(4ddsNouo*X?u=L!0VB)N9=>! zv&va~2(+ZP914<_*%fGnUExD@$A*_wTe(q=Hzvg+S!*ZS<0WenuK_Lx7e}s2w`Okd zr1DRFg=fU@?1RmmKo@GWYm%H7#KkhI2#U&N^5`K^pR_*X0JoK?-#P|_6yuHAr%dcY zWo9xOTBzUQM7hgnFXtrPAuPrqwXVb-FtxSfRe1@`8HQ10(KMl22c}pt>o7#TBw9Ta zNKxU^9r#ecBctZ!_2uk~Wbl~hz%D8!%(WpQOi(vNA(I1mgFwNO^9hERh{K9{j`_w3 zCe8H2qgbmoDh%wnP8QEBP0Ng_=TTC~D@euAx5-y-C(*f$PydLq?1;oBHa`@1A(7A8 zGhlLCO%;~*Ha~IWpA$3#e?_v@cs)@U!((;=Gv;Rm)pMl}lY`9vAXWtC43jH<3zf^7 zVu{0ZDAOc9Kv(Bk5h|hts7IfEhOXUzX-u=2J|^LRYf&fC2pk6e8N9lg#2mh{xk!@I zx*Zd>l3lsMT)sNLWFHv{aV{iz4QXTF&luQ&5jE1L#aSrpk~`#0?6Xn2bqR`3Q0E~K zVVqC44^zukry9_WpmtHbrv8t#R9ft@yVk!*bkf7dbWLJX7739I9dny4ugCN?C) z|3hp_lE=Fs3C+33`D~i&PrM$D)vCxKv9;j}DxmAgKG`Hi%Co8UVBI{yVZlzYxs#q6 zC((x&E+D5r*X8%MWdX(+NHRf2R^4>a)@)zQI+ZPKG;#VT(F$-+;ujlWm*ccLo&`M@zn>% zgT)Npf(7<}iE-6eYBVnB&sfJ1QbA00`l7+KEEL`x zBU^sco&e#g{kcmx1uwA4qhd&hINaAsR<&toN>+4XT}{?Kb;rYRd?{GvqwAVs8+Or%b=t~lRxR%NySSFHa>g8yeNf`jq@_A0RcH>pC_|5>W=zr^|wB5OC#bIj>2G&9J8 z)0WDygeV*_xIcg8SHNd&iVONLgGntH{l~@3Sxv>%*=%MK%Ky_361ho7O;zk`FFt_3w?dsHP3#%xt^m{)2r*#vMIUhvJ-xyBgs<7EK1`)Y>Lf$LsCupPRNOi zB#Yk#bJ`eHs|A-n2~gl*+agHQHjOIh4T+Mi`^rdbRjZ|@EI5ZZ^CDrZ#-|C-Odmy2 zxR2J{6t>l^#F&5M`pWt9W3B%s({F>e2j<%Yx`?qy=iP#sZ4<~Rd$n-fc6^m}$&viX z*ce!Ah zqbDKW2_d<&xw!?0+w?hyyp;rmlt$~4INklsFvj1E3m3F&A z|M5$xKm$&@0ZhvS-ix2mdoo_9%h_Eapeegxt9Y87pV)aW2vTrg^<=+v_0D0dZ9jMY z@b1yV2%-C#MF#Vn_?|ggxwFHd98*t7`68we)O?l$HfWaK9LzKFarr$}%v4Uzzjz>| z$(L_=HwFS$tX%>B|LR%r1HfHIA`x6aLJvbNH7mU;4VDp%D#ALP@#F8vOA-H&NqZx@ za6-0gTACj(qMV&C5=ksV(m+tC@c(60u>TjMLI-h5G{fM36)i-&GC6dDYglBAu$eIK zUfX_Ks8ct}a`f|OVNh^xP*GxCs8l@l_K;Up|B>W8O8E%~_y6ZtOZ!)VVh47euaP$x zt+(bG5!jzlK%>d4t-k82@Lwsg=7Gv=?h5-^POq?;ikTr_Z5ed^2vDohT-(u+WQ*T6 z5N{Ef&hb-i%wuAtn7!Y5CG+1s#04(>&%aQJ0mQ^Pd!tIH@L2&H9*mVY1*Ght`@pqS z>7ko3#5D!%{?--%m9JCgq!O+T@x>7?orO-!`WN+XhqwchHI11e|oL+vampHE% zyVnKn@2Z|>GChFm^sxA$6Dj(m1N@Wv^JPEyCkM){|IcfXi(ZcD$vCBMa zsUmc%f`InUzrxIYas8Me%+j3IDE^I`^E(RWVaf(zl$31iVE%h?8j(Ur8O^ub0c;-IDS zQXbjlD=nC7@7~z-_ICucI_oPLKx?ameL*}U$UqO$A(sGn0S5{az{w`Nf}8i(3s3f@ zwGrNr(?z5+vv0+YX!3t!Q&vYt$z|BiaJZA4bBTc;*6SAj&w{uS_7 z3}Z|p@K#u>AxrEW@sDT#_;HYM*5=W|2f@ufh-B##kDRu9#CaMJG^UG>dSz(ayr*@l z@)amK@_&Mdal%(Kl=u)M7!%%;0vzPss3S}gi*zrgghJ9k#*3vmUHMZli>qS1WAE)_ zwAqX&BpXW7C#Y=q8yq@0usUf@tZ=2(8hEO?by?ejM;~*41!|2_W^z&_3fJ~N4NB39 zMI+pt5)SsAjhWmCrm((u8r~2Y_mN$BO`m)~T)*F#e7(BIt74GxUZtrbvSU(k`pG;R21C60R!$93j>&gVw@gd`KRh3ZuKHp@dF%C{CT>|Cxp>l@FE zk)-FLZu?g^aWRE$yGkrjtI^!+O0$+`scnA-;c`{u+%b97d1DHs1OAloax=El;7)nE zLSjBPl)GlGOn8bQGDcCv5*dE^x7yqU3n2lPQN+I9FFVilN3<0aBj)06^>aX+b4Y76RV zsaWZygO7s=UdJUvu5Q?M!pdQ2FJ#7Es+JfeXF}$Dc`YnZG+;Lk>^+OdNM{?ij1!kv zh-4ZkiK3{H-3Uvq^v}O3v+g>~CgR6s`ZR2^4di%@vbMd?Ln@&Niw#AGEH~-Dhbu;9 z|2l5s)F(X+rIp<^L=e@rjd-T0l(JHCrNClqKa02&eP5HDX4WAz`utro6F%8j1{ zFmcCzLuo%;Z6Q7+c^?QtO_A1{DHVi;4nq3MkH;XMN@id_tFBL$V(0yoPVVIO)3D@_ zRL)khX213~0JbeJXoUge$BJ+456!6j2dn<^X0RU3r^;9OlIJi*UPR@HCHuUzkw0%3@FSwUApCOU3 z6JJK@rqL@tHyuK0Bd~`#Rwn8N1kQ*EQ zF!&r_(E@jq?jqmR%S<3tIDX!~kR|mo0D*84U1ueRco0yN`$kpokcFt20<39&eAV~s z99)E|05uwC$ruYSRw^^%24Kj!R5;ow4(mrK$Ym&W0<{O{}Jrd;k_78GQ1>VBF-@LWVDo2G2qQor z#rJ?QZYJSik~39HRb^nEmUF{UmyEE;3u~Imq*gtt^>v6?(;iU8;K5X9xr2Dpj9(Fe z{Gq-t9q6Yv)GHq~=q>}ok&Osom~DD#xuTqdh(?Do0p(-EIi=Dwz>K;w9jkSWCP2h^ z(VKhl@P@Zdb8A;e5WfxNGJ>SntH6^a15<(TLtg@ucb1}ie9>4(e(QJQ8f8yBS*Et;-g{A@dQ|va4I>a(3n}d8{KRT=hzx&*6H53U3@s)#}xrM=deNfWG zI5cPw^ygh)ReRfpB(8*BPM8umYGmyL<_|5(#(|4o{j?SGc0*3@vsY5C>*aAtglxo6tDBW{L% z9ja5NC{mKfy_%l*@5i$!?JMfW)qmYAq+;fJx_Guq#X;eYD564h0Xwn1zqVti+F?^B z+8TfBfsv;~@O42do6WeCTp5w8d=tG5eGa@HR7I1A{Z5G!P4n1r2*%}T6+f9 zWW4`PWa40!#B@4_nCy~?8}-x{OX=mR@Q)p)&2*H`W<=iE9nAR7`{(js2>`2~ZQ6p^ z=>W12_ie1qmttNlwww69-yC%k+8jl@@oHv79nYEA99VrxgWwU76hcujD!KEJeaj<} zh&)n#LHYN}oE|!-WnLu^IESXcP^ADEIS>Ul$i&T$L*wg7zZ-lu3U*CAXpU8-#BIs1 z%AJP$D`C?6){9*cO8-_a)-`coQ60Mkh7TJH}TvO}+Oka`nnJ$^|CL z2~6X6wcEc`=!;WKzVF!jEQwcv<1zMFH3GAS3bcN=$}Zt{W8i%*^vW@urRHg;YD z0PVJZK0UI02c%_=+XbKD5g>@y_}~KG+W#h$*j_08p734i`0h1aW0F)~Pd&H4yR2xt zeSQ~hDBym67|mGRf*;TLVW=2p7*`mZgL1d#|R%Nc!H4L)1ExgKZ~k(9QjJ*l}B{ z#?b8g0HlM0;UzD88RI;%yBnL}1VVCaD#qw0M**NgS%q$Omgjjd0dB5hOtDL%DPCS+ zEy(2XXixK;yneF)hcb;(O7G}7#ezhJ#1jgr(j2m}J1&SA6hueU>8+$C%_<3o(TuRX zM5BU?@sWcN7ziptL7_OW^~oAT_*cKT(|U0Ch3>?9X=xxTh!(k(t;g8+r)v!{UqLO* z)SCJ^P-Eivn~O4_>F>_%po!u8Ci!Dkpeg1F*du!BX(xsbhS}8x5O?yC&T=2M0tbUN ztCP6-m+hmx>8@BhD2@Jh8?~mfIBj>podzWRNeUWW;Xl6R7X=>DeDV^S(zezrY;G&X z4trKn*aLZI6&z}8Dt=}7g@QB_Rc1NRFKQeQYT1^?ENZ&oNNaaZcT{(OVsU)Sb3}Uy z);2}XysV+8V>PB*eg!AzK+n#tfX*Lg{ted+ z9#a&{0~aO1il+96yWK?hSs7$E8OazR5-yPlQZIFt463Z4pjado$X}S&oES=L*05?X zMQrt`LRPk2tXbJW8T#s(gQ6<_TpL{v8n0vVj!s*8g7TArEMPRWFy=MH+J?`}5?!f(1Fp51T+CLd6MD zdE7uCc0d6$U~cZh^+z@qz>pB4A{p)w#PJADe@&{++&o~>+H=AoC9bv*s=_?VT|PX_ zk6TcmIvAu(ZUCsSDH%3E*jJ8xPmVp{(ZivRTtOTqaGo0E}~M%xW@X6b@;4>@jc&?q^bckRL?uosTBbF zwi09dGrKg|KMBA64WjBFawsN-h7Asrq4R|jlxfGQlvx*ki&)m~4GYn7jEKpL_^m{SWL;`Ef*DiJ2T2Q{Y|in!uGIByww=k$N$=8mTpRu;dlMdh z&XTvVO*{v7nqUUC(5VB<^>rnK4{=hS=oSU#R?ptlJWjVGt-eiofxqUClF_VU&dNYv_~LNvy$O4sa$fjWJ;kTJx7we zB`7P5`soEE6{;$WwH!g(MVffLdH*wfDGe7ZGc$pm!XOnrN$>s0BXeZ^C11_0O8gRYw)|I(K_-v#Sah)BK(+r?LYFYcfXR?XlLZ1@z>jKM84% z9Xz+E7D`ibTnVz{ETL3#jI`-?2JwsY6n zs*`amlh~m{d9QcfUohZD`l*!OgRH?`{`M9PE^s6T7!w$ESuJ?<2?#Ir9}( zL5q;by*pEtSP-|6jx5KZDhOjbKd7%pCuB1p9Atm~8)} z9A=fah2!QgSHv-NEN0biTgJj*(qF2~At|#}TavU}_#+|(o#wCN&=Y-m`!*1fOSf-@U+ps}D2pSrbYl`Zx7AiEXKfh*g2IfI8O z{Xzxv3`w;vh1DUu>a&lhiMz5E+{-hXXooY^*_C9EPHCQK){SN?4mILH6qn>kVsUH#@?H^Oe*8u?`8SIw$C-7^z3LUxkieG4nS)kWB)kEYwrW4^vVn0O@*{dJEp5v`kcjBrMrp4cd7jC)JbtM%RG?!UM?U8ckEVyBR8%%FP0HUxc6mi z7A`-XU?_61`dM|~fKQ#{O;_p!&6OdxR32}BaB#lAxYi|%0bRctqWIW0;)Y3I_AmhP zxjMU@8?bm9DR9+M#REVrsFvWbDc$ARhpBBn>hqT78J}OXeS_X^)PZY?US7BuxnQdSaEG;pSNyxGkFE znYX*9xnBVe zD=#z!fz07#k1+Q5t;}8ok-`t$pEDPuE)gn4x`~o69Kdkyr?Zl9*Z31d$}|Kr3FL73 z>T)6vZp1kzz&Qz2jTE!(7w}~!yPaIMer=P%sk*;=~JZn(`~ul_>r zi_DOs9Nxhr=Gs83%Bxqxd>H`v0dshfJ|5q78wuvlwDAP}t&U0I)xqoO?v$3Rhw4K>COj zSjAYKdCt$mpa(HSyCYf|4mLYeNB$ams zp9Rhv6N&A+^Dor83)vD~ZewDW3Si{nvS1Jv2vAb2-0LuD`vpohZzeoui|y}ZGc*7o z!-tAOSA?<0kb|!u#uUpLxk?ffPJHGEC5i(Apb+16fEXDnS(hjCixeap$RhIlfgX1{ z{-Xk+bAn!Ey#8{&kGQv&lg{HOXCOs@dubnY$|9Lx4o}UjHCEkwDc!q!qRd8*IU6+B z3S@`DjBdyX2FnWYR7QI2KlWzh7-KP^abkZ~r!&cT6BT03@ zpYsn3Di&nMQu#Bixkk>uVx4Fm#@f~2V_2IRnnzdyg67_ z-(~hJS?JYW$yPbAIP?8hpc9xy%Bll(zi{%?<@_kPGi&u$a@VG# z{Sob$e6QYyxul42a};bQ-qUgm=i%XjbH6b=q=IjeIlyk*+f>%!HPce$N60mow5N+m zTEDdYDv>q~#a;pt@*WBl9DwQml36w+y9E1K&Vn$L9!OS4uTV-p7U1Q4B9lajp1}Bg zDmh>rxL_mPqq)W&aSH@&+(m#H!ss>QCEGLLs9UhDoO6=u)}SZ}6 zyuvQFxo>ham)jurr+rm}CPf7I;1@dA9|^-?1h*_wS@g%*$1&i;O!^^jf2Q`GFs5Qz zx%m+P#^8jJ*2|N@84P@frKm!wX&*v-KYbb?w_?iP*j87#NZzUzj7)H3(=4O|c=@!S z_lisbqvDV;Vki2(Rby7PLm4{q7&#yB1%$*09*PnSGad1+-f{U3#uKdgt3A$<*!2qt z1Z$97bhdq?y-DoI0{+p^GfT;0uUHh=0h&4LG#t}h#rsas9v>0_NG|i(;p)Q!l9%|o z-p5y*OT7GU>!EgAq5)_??N3Ap{;|a`#QdV2{;f-r@vDbQQz8`yWgxK9coxYKEC|2B zZqOF`5?X`h03nX3&RF(EY3b24<62fiG_0q#vX1IFOaQTAM@DJMhyYaxAMc-4K+e8g zXl1eG#+iiQZ+>O{3MF-hNoKzPO=cS=V`01Jz* zW*!qq&>0lLjgZWTPJbB3iXOM?_1!HWK-DD7o=>HgF`|pwh}p`iEg+fY-rPW5_dAUr z@_9wL7SmLed~`V9Q?>~x*0U{Cg#^!y3_vjtkFDB`fT-625AEh*f<>Dl z-x+O?!R$b~?u0pW;XKY}vwwMcar))}n*xKfpF@v#6jUglvrsT{Q_a387(rmVm_Bd^ zguyfYnq+)SMv9PAXIap1fexd7V_P=Tsw#;Z!}L1Qe--M5oQU@lbN)yKKxBCsHV5@@ z7_Spu(t*WGTM*|y?6~xizrJvUyMSy8$wVy9o*~2ZDxO6T z`fdZB;Lw0PetQ&)H%}>(n*-4pkR>2b19yZ&3Wkm9T9AA4D@)2lv^SbnX7arxGz)j= zpae^3FymN+TtP0R^9%X8S4*_3PFywLMzD2)Fsj}s_dJVP1Fd^hV`jZy=CR_{5Duh0 z_$8dtb%>=|IX0SiI;My{D5+RLns~le1<8hw?r{kdE4Dr8^K-)?5BexiajG|BV!7pp z*hJ|3MX7c?5?>I%K33$D4njs^GwBhR+hSwzq7*kZQL#}wOdxHA4IeUqKzoO z6Cd0OB>3j54hhIT5mS>W8_x+LkudtalM?+7&|mUykkyuWeKP0P4>W*z7#tu+SIRn# zTF@40OeB0|4N8vK;BiSvapTq~+6E_|O!60Mf1yDXeD@bl6Byp38?oNeUHyCgQW}7V zV#Y-e%9XZIHpK8kyja)1do4=r7YbL#fm`F-R>Ak!qf}A;QA;`v4g?W>icUHTr4Q}7 zc>ZHeptQg15KJXX+E)*TjcK=POwEeMM*NBVB8SgJR~bqT^9(~&K}^sVmmU-HvF@CN zF$7?u00@HFFZSDr&u;)=gsWc;3U#qn8Ex;@E7aSMz$rEr|{)~Kvq`Sck{&JLe^u1=X zZLhib<3q0Jqp(CCUhv~oXu{${iLoDE($)OJrgJK2W5b<`hu)=#cvOO&r~M@7P`U~* zdqajXM)r4(JN!YiOfdYgqqZf1*Baxb0b~(zzYUy>s_63vx&x&xfZHD6wp4A2m8*k$ z9cAPqj&n!5GJjG)KO6;5lt>IR|1@ByzZD8eS4l=^%sfdrU@#An_(<|h8uY|A8O}J7 zDD)p`Zo3IG7j-J;O-a+*t$%7W)}T1@64)9C#!zuBq0SyVi%};|V3z_+BBtvl zHg4Wsc_`GlZJJ*&egnPO86I#XJ(na-n~(rB?@_O{C(h@Vda__&vTxCBLNR}|Y8z!% zs`a+@-^#ZOJ0^o4_>In&7ro?@`{oq+;Xq=Lu(#c+t^T zOv2)2b}>`qlj@wZFba<*_N+|~WPd3EgvoUZsYmyw+`zm*miK<&{Tr`}A)nGAaGPMHT4xZO(Pu|8^ zl~!Jtqm_#A8sz4Nlr~`YgmErgU6#NBQb7lOBAt{6cFacv(anZT?;q&2g6;JZkUmq? z$?qP@#-l+(>`yH0zHWTj=~ptJ1ITb2i*Kex_cO|ANa{+kC)gZFc;Sb58UaXqA}=%) zV#Jk8qEgh)U49MRH@vqZjrV_ZkMO_a-Yg7kO#kN|f&IUUd$a$K;@(GEA2HZ}5Q;k? zKM^Bh%XNgcdt7BeOM?T#b7^e`>HXyCQ*gv?=tg)bW`1xz**ch8xH6{5Qmm>Q=g%UH zVy^BcPwrOVX!oT@!$N;ZG4SDRd1MQ^76f#0c)l&+WS_x$V3~^hdpZFQ?hKq<53x<- z5TuLKqC^+`^)sQhlo1rpF=kpL6m8NXMMDGe_sPfPnZ_C>hs^#NQnm~aBF9upieTN4 z2bd5s)A35eFwaAv-jE0lv`Q7-qXwJKvm@t_2u-z0J7e9b{3$RlWj|OSdzH-xVO}@A z<6zmTvPAnTlpSGycut7~qz z!@qu6OA$?Dud$^~ociQPm^`7+2{Hj?96P6Fc)UN9E+pFJA=A>_~sD!!F%HKAVzGjp@vdHM=9KUg{xot(sQWSdg+!#x#}We z@M}@YeNKVW^B`sNXxHun;7d@Y*c{CiciAuRF^L8OAE;(GS7}G*Y86_=D zxj10B4F+pQLUsK#LW6YDszu8;y@gu-??fU>+!I}qbzYBWZX+L3k22>(qM9DRtfvR3 zG|R$p>12mjSx=y(SVAVEq8-`YNG{2MwW*|y+l!>mp;zc;9%I^jsv=+HTl)5$V%lEW zn8SG5zy|<65DwrbxEsV@AO@gUlwC?ngJwuua2N%ZAsLC zhW_vyYw?BAl{i;vi8lOrNj_pvAyi&MDJkmu=-T{rJhKYQbU^NlIhd+jL<oz0P=aR&HSJU>@@cC5_#ig7hchnTSefI z?9DUs1G*@(J?xhR5>v}? zsaRlq*vU-t-mJqZYMhck3e|B2=RMd7_TV(oCES*AjHxvqA=7$D&AitA{*bQ{Q-Xvx z&!`f^2_v2W#7Kmt6RPnLdtNm7KmD8LB}xlCfD+lKHW}jJI0@%BUs`9oj1Oy1pHTzULP4f;JF@oME6m`G-^ zG-;|a&y=~gILiAIyV}whtbB1(SpG5w$+F-A$V;9vH)4^P zvZ@aB?3X!*_&SKkL44RcniZFJ2~e0o>^f$ugp_YON^!>juQ-vf9m4?Jl$-d(g`bs+ zOpLYQ)nd~~&5a*!&pn}OlpiW-+Nc~0QDDE*b7U(--fBuK;7#GRXq+LGv>UQ8qCd=L zw74r3hFOs#|4(Bd5gnI~;!G1eVv)fQN$}j7d0`Rn`VSs~=I?6*?eiED{lpeg{2G5Q zbL10IOxETq7Sx3{5P!HVrFj|dkrMQ95On>qu*Rmjakv8|qybn<&~^cPz5O}>?0_SY zuyu9+YA}3w?GqLwHa~@RO7nVvR$Nb{P-{;uI(_9SkRPB@Ss#N!HCi>$rCJfI_dH9EZY~$Phvw!cUR_}we5jtD_|i^-(&9U6P24;pkKA~ zM5JTriHucp@ZHH}41Fa?hQ6>$e=DP?>T`V$#3KU`2UvK3gLDsAvER|}G;iCi6=g?C zxg&UDN8TwLv&DZBNcd*tO#d|zXP|$F6E=8}M#%#bs-qB`krwfoG>*({k8M|~({kNo zxiW1qyz<}LRgovIdWS7A@JI<3zgnM<6D z+7CO&KH69Pjzk_FNn2(GCgBGG#TlJ4!$Z6i`pP*)35-M_Eu61JJ7Zz02wd~>I9XEa zh634yA?RzjDA zwr$(4UAAr8#;wygPTw2x_d`eI;Z0wfJT!4(WheFzSW6F(~n+6(-~ zxyf%n0I9p7$ZQ@*fr=k|L$+F^r??^o0)Cl;vfBb-Tp_uv#w!TTyzBXM>$qQec=~Lh zTe-<&P^D`pl>k=!JhvY+Ft~%nyKZX9kr3!jp!$0?{5ct+4Bur{kV4>^0P9ED#siqF znod(}r#WHzyj;f+LCYnr-0~e3wTXdMh!J0~=xOX1HL0oChz;}BN#f1JSUMA>y_9VL zJLI>|%T5e9aKjuu9*X!3NG=%2V_ixfgvD7TH73%7LWXdrF+~@_c;zU2YW$t;sH9Ym z?eL)AmZ$j|C{kJjHwsKfjzB++k|M$d>H;U?D~6?E2-iX9_w`;QOs<(*+8$ak_TOaV zSGfZ3%srKm)Kg1Dn{6TNQ^=`_6Z4b{m{drx{LmocO%wK+TO6HiQ@8XzvO$}W+`_qU z{;g@otbE&8#;#HO05DorHS=_G7OVpqzGz%2kMokTHam|iws{A0J zn3-8m&Z*lKm17VjDBq zM$uC%K{u`ApFC~hS7OR$qFZQY`*;#whUHU()&$bsFZxj{rt>Sv{wlsfTFK! z<@jqGh|n3SCVzAeKCchgQe|A8-iv-XKJFv)>w7ufo#&6oKWl&dTW4+>W@MitZODXa zGh3!*>EwiUQ3_gcg_r-j&!OooCpptLE_5c=s_9j;F{X-axKs{m9?2-EEu9OtS}ui| zIya)ZQ>|BMZPiwGB_zvNHa?Y%N7lqkx}uoSR@P`mGW{ITPt+(5Qe#{6l=11N>P#GWK2>vl*$9ELGSloq zc^`6|zKY}KzT>NC!70r$=ez3Fu-WJ;7ncNGsij7|^StMV{8P&oEIc)VN^h0CRlD4; zXwk`jscx}e&7j?)U^4}?Q8;It{=(jPDw*z7MGog3k@$U@=$kdFdR%~#At39TL3sUy zQ_(dyw2aI&^W)=jUyH1=l99Mxg{D*PPD`ay`jdD?CrgW7S0tbD#?0mcxARCd6=Snp zrun1xuz!wzv0x`hxz)_bq~UG+O+{RB-cp03FT9r zZsPWs`83=zzGU~ITcB98A+~ts`qkJnUs(BV)qB&syjD}m_lUf(lk%0jvzgiJEI0P9 zYP-s3DS#33m6)x5rMH<`W8{JMJKUAZYswni4B`mB9=-SS=dG12-Q+W#Dr%Ym@=e;3 zGKh`4-^mR?$1o+hBn(*dhAWyr)ht3%p8p&?gZ~^CC!S4STI!B#)=$L5oMl&9d@a#lft7Q(`dm=Z)qT}C}dW8w4-qQ)-hdKvuMX){ANg_OuLSE`&cIE zoJ_#&C4kYcW0gbEsaTln>osR2Rfs7Y*+zWD@l|FZaBQMM!TV|@_++PQTV%Iv-MJaD zJxi|l(H@AJdQ>L~Y~+&TT*+}{TkT$D&Mbh(Ox|M2mkR;{#%yygS5soHQnagJdjvF6Ec-mj7P zn|SKop}IHUJrCA(l5gkj1mtk%V+ZV9-DWTKg}=6UZ?N;kvo*iT*}505NTbFgFVZ

n$)FNg^zL3|p48)o}lgyeV{UIo+Su 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 qJV z>=}5T{tsNQBoMV36QgN0t4B7c%TK2xt?+wGR~o2iZMnkb!W5 z;`whjPJwj>x`2%UbS((RIM`PK1{{k)LP6y%uyMh_y&$R#&NEaQYLAFT@bEmS7;qhi z1-%>8UX28{`*7R^GPE6lrW9c8;X9BTgoG)8d%+!wA{ zsTiod0CqU&+8c*Q`wZ}XC=LOh@u*lwO+L^#ut`SX{S3$`plJ!&1_?(%*Q_`KyhjAM zL{zN@Tn6q{Q8D298A}36!!ZZk58jId3{YL5^h5XcusD!uwvMA>z&ReYS<(9~&}v5I z86f)$2k0I$NO~k_9#jl?zXghC3OWbiDCk^^qo8^jphXMkH)@vG0fYuWH`v>?rg^Y?hplb%(2EYZ05Ty$OV*o}`Ihl$9 z+aw4Es2&Qy009AofkXQd9#j(0IBK$mVkf{L!ubePDyTdSaPfcP0FUaqk-+v6j%!$I za}&~q`tusBANV~A6>~u5foldF*ruTU91oBo3=$dLYXPIs`5aID3#X_a4?+S42+sqw zq)|Ri2B&btx{xX8y#{p~3UfuFU}5{ifmQ(=+W`kCp9T#^3c9`ry_^5i#m~pa+0EXE zSzca9#?U#)p8DgWkc@$+r=Jj*nUH~yjE0AUrx36(Ap`Ia{whM|^2%hg8j+%WoCHcq zP#_VMFeGIqRV5|h$f`svNm=3l9%0E0ev|d}v+?o!*H4<%G>6AAi-@S|sxkjRL%9Jc literal 0 HcmV?d00001 diff --git a/src/hostapi/asio/ASIOSDK/Steinberg ASIO Licensing Agreement.pdf b/src/hostapi/asio/ASIOSDK/Steinberg ASIO Licensing Agreement.pdf new file mode 100644 index 0000000000000000000000000000000000000000..492db7066508dd27fd84366c4dbd8ae7339fef80 GIT binary patch literal 62750 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 literal 0 HcmV?d00001 diff --git a/src/hostapi/asio/ASIOSDK/asio/asio.dsw b/src/hostapi/asio/ASIOSDK/asio/asio.dsw new file mode 100644 index 0000000..14bc965 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/asio/asio.dsw @@ -0,0 +1,41 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "asiosample"="..\driver\asiosample\asiosample\asiosample.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "hostsample"="..\host\sample\hostsample.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/src/hostapi/asio/ASIOSDK/asio/asio.opt b/src/hostapi/asio/ASIOSDK/asio/asio.opt new file mode 100644 index 0000000000000000000000000000000000000000..ef444d622bbae39879cfb59221cbb93cd9751d6d GIT binary patch literal 53760 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 +#include "asiosys.h" // platform definition +#include "asio.h" + +#if MAC +#include "asiodrvr.h" + +#pragma export on + +AsioDriver *theAsioDriver = 0; + +extern "C" +{ + +long main() +{ + return 'ASIO'; +} + +#elif WINDOWS + +#include "windows.h" +#include "iasiodrv.h" +#include "asiodrivers.h" + +IASIO *theAsioDriver = 0; +extern AsioDrivers *asioDrivers; + +#elif SGI || SUN || BEOS || LINUX +#include "asiodrvr.h" +static AsioDriver *theAsioDriver = 0; +#endif + +//----------------------------------------------------------------------------------------------------- +ASIOError ASIOInit(ASIODriverInfo *info) +{ +#if MAC || SGI || SUN || BEOS || LINUX + if(theAsioDriver) + { + delete theAsioDriver; + theAsioDriver = 0; + } + info->driverVersion = 0; + strcpy(info->name, "No ASIO Driver"); + theAsioDriver = getDriver(); + if(!theAsioDriver) + { + strcpy(info->errorMessage, "Not enough memory for the ASIO driver!"); + return ASE_NotPresent; + } + if(!theAsioDriver->init(info->sysRef)) + { + theAsioDriver->getErrorMessage(info->errorMessage); + delete theAsioDriver; + theAsioDriver = 0; + return ASE_NotPresent; + } + strcpy(info->errorMessage, "No ASIO Driver Error"); + theAsioDriver->getDriverName(info->name); + info->driverVersion = theAsioDriver->getDriverVersion(); + return ASE_OK; + +#else + + info->driverVersion = 0; + strcpy(info->name, "No ASIO Driver"); + if(theAsioDriver) // must be loaded! + { + if(!theAsioDriver->init(info->sysRef)) + { + theAsioDriver->getErrorMessage(info->errorMessage); + theAsioDriver = 0; + return ASE_NotPresent; + } + + strcpy(info->errorMessage, "No ASIO Driver Error"); + theAsioDriver->getDriverName(info->name); + info->driverVersion = theAsioDriver->getDriverVersion(); + return ASE_OK; + } + return ASE_NotPresent; + +#endif // !MAC +} + +ASIOError ASIOExit(void) +{ + if(theAsioDriver) + { +#if WINDOWS + asioDrivers->removeCurrentDriver(); +#else + delete theAsioDriver; +#endif + } + theAsioDriver = 0; + return ASE_OK; +} + +ASIOError ASIOStart(void) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->start(); +} + +ASIOError ASIOStop(void) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->stop(); +} + +ASIOError ASIOGetChannels(long *numInputChannels, long *numOutputChannels) +{ + if(!theAsioDriver) + { + *numInputChannels = *numOutputChannels = 0; + return ASE_NotPresent; + } + return theAsioDriver->getChannels(numInputChannels, numOutputChannels); +} + +ASIOError ASIOGetLatencies(long *inputLatency, long *outputLatency) +{ + if(!theAsioDriver) + { + *inputLatency = *outputLatency = 0; + return ASE_NotPresent; + } + return theAsioDriver->getLatencies(inputLatency, outputLatency); +} + +ASIOError ASIOGetBufferSize(long *minSize, long *maxSize, long *preferredSize, long *granularity) +{ + if(!theAsioDriver) + { + *minSize = *maxSize = *preferredSize = *granularity = 0; + return ASE_NotPresent; + } + return theAsioDriver->getBufferSize(minSize, maxSize, preferredSize, granularity); +} + +ASIOError ASIOCanSampleRate(ASIOSampleRate sampleRate) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->canSampleRate(sampleRate); +} + +ASIOError ASIOGetSampleRate(ASIOSampleRate *currentRate) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->getSampleRate(currentRate); +} + +ASIOError ASIOSetSampleRate(ASIOSampleRate sampleRate) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->setSampleRate(sampleRate); +} + +ASIOError ASIOGetClockSources(ASIOClockSource *clocks, long *numSources) +{ + if(!theAsioDriver) + { + *numSources = 0; + return ASE_NotPresent; + } + return theAsioDriver->getClockSources(clocks, numSources); +} + +ASIOError ASIOSetClockSource(long reference) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->setClockSource(reference); +} + +ASIOError ASIOGetSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->getSamplePosition(sPos, tStamp); +} + +ASIOError ASIOGetChannelInfo(ASIOChannelInfo *info) +{ + if(!theAsioDriver) + { + info->channelGroup = -1; + info->type = ASIOSTInt16MSB; + strcpy(info->name, "None"); + return ASE_NotPresent; + } + return theAsioDriver->getChannelInfo(info); +} + +ASIOError ASIOCreateBuffers(ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks) +{ + if(!theAsioDriver) + { + ASIOBufferInfo *info = bufferInfos; + for(long i = 0; i < numChannels; i++, info++) + info->buffers[0] = info->buffers[1] = 0; + return ASE_NotPresent; + } + return theAsioDriver->createBuffers(bufferInfos, numChannels, bufferSize, callbacks); +} + +ASIOError ASIODisposeBuffers(void) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->disposeBuffers(); +} + +ASIOError ASIOControlPanel(void) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->controlPanel(); +} + +ASIOError ASIOFuture(long selector, void *opt) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->future(selector, opt); +} + +ASIOError ASIOOutputReady(void) +{ + if(!theAsioDriver) + return ASE_NotPresent; + return theAsioDriver->outputReady(); +} + +#if MAC +} // extern "C" +#pragma export off +#endif + + diff --git a/src/hostapi/asio/ASIOSDK/common/asio.h b/src/hostapi/asio/ASIOSDK/common/asio.h new file mode 100644 index 0000000..341e755 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/asio.h @@ -0,0 +1,1070 @@ +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +/* + Steinberg Audio Stream I/O API + (c) 1997 - 2013, Steinberg Media Technologies GmbH + + ASIO Interface Specification v 2.3 + + 2005 - Added support for DSD sample data (in cooperation with Sony) + 2012 - Added support for drop out detection + + + + basic concept is an i/o synchronous double-buffer scheme: + + on bufferSwitch(index == 0), host will read/write: + + after ASIOStart(), the + read first input buffer A (index 0) + | will be invalid (empty) + * ------------------------ + |------------------------|-----------------------| + | | | + | Input Buffer A (0) | Input Buffer B (1) | + | | | + |------------------------|-----------------------| + | | | + | Output Buffer A (0) | Output Buffer B (1) | + | | | + |------------------------|-----------------------| + * ------------------------- + | before calling ASIOStart(), + write host will have filled output + buffer B (index 1) already + + *please* take special care of proper statement of input + and output latencies (see ASIOGetLatencies()), these + control sequencer sync accuracy + +*/ + +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +/* + +prototypes summary: + +ASIOError ASIOInit(ASIODriverInfo *info); +ASIOError ASIOExit(void); +ASIOError ASIOStart(void); +ASIOError ASIOStop(void); +ASIOError ASIOGetChannels(long *numInputChannels, long *numOutputChannels); +ASIOError ASIOGetLatencies(long *inputLatency, long *outputLatency); +ASIOError ASIOGetBufferSize(long *minSize, long *maxSize, long *preferredSize, long *granularity); +ASIOError ASIOCanSampleRate(ASIOSampleRate sampleRate); +ASIOError ASIOGetSampleRate(ASIOSampleRate *currentRate); +ASIOError ASIOSetSampleRate(ASIOSampleRate sampleRate); +ASIOError ASIOGetClockSources(ASIOClockSource *clocks, long *numSources); +ASIOError ASIOSetClockSource(long reference); +ASIOError ASIOGetSamplePosition (ASIOSamples *sPos, ASIOTimeStamp *tStamp); +ASIOError ASIOGetChannelInfo(ASIOChannelInfo *info); +ASIOError ASIOCreateBuffers(ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks); +ASIOError ASIODisposeBuffers(void); +ASIOError ASIOControlPanel(void); +void *ASIOFuture(long selector, void *params); +ASIOError ASIOOutputReady(void); + +*/ + +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +#ifndef __ASIO_H +#define __ASIO_H + +// force 4 byte alignment +#if defined(_MSC_VER) && !defined(__MWERKS__) +#pragma pack(push,4) +#elif PRAGMA_ALIGN_SUPPORTED +#pragma options align = native +#endif + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Type definitions +//- - - - - - - - - - - - - - - - - - - - - - - - - + +// number of samples data type is 64 bit integer +#if NATIVE_INT64 + typedef long long int ASIOSamples; +#else + typedef struct ASIOSamples { + unsigned long hi; + unsigned long lo; + } ASIOSamples; +#endif + +// Timestamp data type is 64 bit integer, +// Time format is Nanoseconds. +#if NATIVE_INT64 + typedef long long int ASIOTimeStamp ; +#else + typedef struct ASIOTimeStamp { + unsigned long hi; + unsigned long lo; + } ASIOTimeStamp; +#endif + +// Samplerates are expressed in IEEE 754 64 bit double float, +// native format as host computer +#if IEEE754_64FLOAT + typedef double ASIOSampleRate; +#else + typedef struct ASIOSampleRate { + char ieee[8]; + } ASIOSampleRate; +#endif + +// Boolean values are expressed as long +typedef long ASIOBool; +enum { + ASIOFalse = 0, + ASIOTrue = 1 +}; + +// Sample Types are expressed as long +typedef long ASIOSampleType; +enum { + ASIOSTInt16MSB = 0, + ASIOSTInt24MSB = 1, // used for 20 bits as well + ASIOSTInt32MSB = 2, + ASIOSTFloat32MSB = 3, // IEEE 754 32 bit float + ASIOSTFloat64MSB = 4, // IEEE 754 64 bit double float + + // these are used for 32 bit data buffer, with different alignment of the data inside + // 32 bit PCI bus systems can be more easily used with these + ASIOSTInt32MSB16 = 8, // 32 bit data with 16 bit alignment + ASIOSTInt32MSB18 = 9, // 32 bit data with 18 bit alignment + ASIOSTInt32MSB20 = 10, // 32 bit data with 20 bit alignment + ASIOSTInt32MSB24 = 11, // 32 bit data with 24 bit alignment + + ASIOSTInt16LSB = 16, + ASIOSTInt24LSB = 17, // used for 20 bits as well + ASIOSTInt32LSB = 18, + ASIOSTFloat32LSB = 19, // IEEE 754 32 bit float, as found on Intel x86 architecture + ASIOSTFloat64LSB = 20, // IEEE 754 64 bit double float, as found on Intel x86 architecture + + // these are used for 32 bit data buffer, with different alignment of the data inside + // 32 bit PCI bus systems can more easily used with these + ASIOSTInt32LSB16 = 24, // 32 bit data with 18 bit alignment + ASIOSTInt32LSB18 = 25, // 32 bit data with 18 bit alignment + ASIOSTInt32LSB20 = 26, // 32 bit data with 20 bit alignment + ASIOSTInt32LSB24 = 27, // 32 bit data with 24 bit alignment + + // ASIO DSD format. + ASIOSTDSDInt8LSB1 = 32, // DSD 1 bit data, 8 samples per byte. First sample in Least significant bit. + ASIOSTDSDInt8MSB1 = 33, // DSD 1 bit data, 8 samples per byte. First sample in Most significant bit. + ASIOSTDSDInt8NER8 = 40, // DSD 8 bit data, 1 sample per byte. No Endianness required. + + ASIOSTLastEntry +}; + +/*----------------------------------------------------------------------------- +// DSD operation and buffer layout +// Definition by Steinberg/Sony Oxford. +// +// We have tried to treat DSD as PCM and so keep a consistant structure across +// the ASIO interface. +// +// DSD's sample rate is normally referenced as a multiple of 44.1Khz, so +// the standard sample rate is refered to as 64Fs (or 2.8224Mhz). We looked +// at making a special case for DSD and adding a field to the ASIOFuture that +// would allow the user to select the Over Sampleing Rate (OSR) as a seperate +// entity but decided in the end just to treat it as a simple value of +// 2.8224Mhz and use the standard interface to set it. +// +// The second problem was the "word" size, in PCM the word size is always a +// greater than or equal to 8 bits (a byte). This makes life easy as we can +// then pack the samples into the "natural" size for the machine. +// In DSD the "word" size is 1 bit. This is not a major problem and can easily +// be dealt with if we ensure that we always deal with a multiple of 8 samples. +// +// DSD brings with it another twist to the Endianness religion. How are the +// samples packed into the byte. It would be nice to just say the most significant +// bit is always the first sample, however there would then be a performance hit +// on little endian machines. Looking at how some of the processing goes... +// Little endian machines like the first sample to be in the Least Significant Bit, +// this is because when you write it to memory the data is in the correct format +// to be shifted in and out of the words. +// Big endian machine prefer the first sample to be in the Most Significant Bit, +// again for the same reasion. +// +// And just when things were looking really muddy there is a proposed extension to +// DSD that uses 8 bit word sizes. It does not care what endianness you use. +// +// Switching the driver between DSD and PCM mode +// ASIOFuture allows for extending the ASIO API quite transparently. +// See kAsioSetIoFormat, kAsioGetIoFormat, kAsioCanDoIoFormat +// +//-----------------------------------------------------------------------------*/ + + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Error codes +//- - - - - - - - - - - - - - - - - - - - - - - - - + +typedef long ASIOError; +enum { + ASE_OK = 0, // This value will be returned whenever the call succeeded + ASE_SUCCESS = 0x3f4847a0, // unique success return value for ASIOFuture calls + ASE_NotPresent = -1000, // hardware input or output is not present or available + ASE_HWMalfunction, // hardware is malfunctioning (can be returned by any ASIO function) + ASE_InvalidParameter, // input parameter invalid + ASE_InvalidMode, // hardware is in a bad mode or used in a bad mode + ASE_SPNotAdvancing, // hardware is not running when sample position is inquired + ASE_NoClock, // sample clock or rate cannot be determined or is not present + ASE_NoMemory // not enough memory for completing the request +}; + +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Time Info support +//- - - - - - - - - - - - - - - - - - - - - - - - - + +typedef struct ASIOTimeCode +{ + double speed; // speed relation (fraction of nominal speed) + // optional; set to 0. or 1. if not supported + ASIOSamples timeCodeSamples; // time in samples + unsigned long flags; // some information flags (see below) + char future[64]; +} ASIOTimeCode; + +typedef enum ASIOTimeCodeFlags +{ + kTcValid = 1, + kTcRunning = 1 << 1, + kTcReverse = 1 << 2, + kTcOnspeed = 1 << 3, + kTcStill = 1 << 4, + + kTcSpeedValid = 1 << 8 +} ASIOTimeCodeFlags; + +typedef struct AsioTimeInfo +{ + double speed; // absolute speed (1. = nominal) + ASIOTimeStamp systemTime; // system time related to samplePosition, in nanoseconds + // on mac, must be derived from Microseconds() (not UpTime()!) + // on windows, must be derived from timeGetTime() + ASIOSamples samplePosition; + ASIOSampleRate sampleRate; // current rate + unsigned long flags; // (see below) + char reserved[12]; +} AsioTimeInfo; + +typedef enum AsioTimeInfoFlags +{ + kSystemTimeValid = 1, // must always be valid + kSamplePositionValid = 1 << 1, // must always be valid + kSampleRateValid = 1 << 2, + kSpeedValid = 1 << 3, + + kSampleRateChanged = 1 << 4, + kClockSourceChanged = 1 << 5 +} AsioTimeInfoFlags; + +typedef struct ASIOTime // both input/output +{ + long reserved[4]; // must be 0 + struct AsioTimeInfo timeInfo; // required + struct ASIOTimeCode timeCode; // optional, evaluated if (timeCode.flags & kTcValid) +} ASIOTime; + +/* + +using time info: +it is recommended to use the new method with time info even if the asio +device does not support timecode; continuous calls to ASIOGetSamplePosition +and ASIOGetSampleRate are avoided, and there is a more defined relationship +between callback time and the time info. + +see the example below. +to initiate time info mode, after you have received the callbacks pointer in +ASIOCreateBuffers, you will call the asioMessage callback with kAsioSupportsTimeInfo +as the argument. if this returns 1, host has accepted time info mode. +now host expects the new callback bufferSwitchTimeInfo to be used instead +of the old bufferSwitch method. the ASIOTime structure is assumed to be valid +and accessible until the callback returns. + +using time code: +if the device supports reading time code, it will call host's asioMessage callback +with kAsioSupportsTimeCode as the selector. it may then fill the according +fields and set the kTcValid flag. +host will call the future method with the kAsioEnableTimeCodeRead selector when +it wants to enable or disable tc reading by the device. you should also support +the kAsioCanTimeInfo and kAsioCanTimeCode selectors in ASIOFuture (see example). + +note: +the AsioTimeInfo/ASIOTimeCode pair is supposed to work in both directions. +as a matter of convention, the relationship between the sample +position counter and the time code at buffer switch time is +(ignoring offset between tc and sample pos when tc is running): + +on input: sample 0 -> input buffer sample 0 -> time code 0 +on output: sample 0 -> output buffer sample 0 -> time code 0 + +this means that for 'real' calculations, one has to take into account +the according latencies. + +example: + +ASIOTime asioTime; + +in createBuffers() +{ + memset(&asioTime, 0, sizeof(ASIOTime)); + AsioTimeInfo* ti = &asioTime.timeInfo; + ti->sampleRate = theSampleRate; + ASIOTimeCode* tc = &asioTime.timeCode; + tc->speed = 1.; + timeInfoMode = false; + canTimeCode = false; + if(callbacks->asioMessage(kAsioSupportsTimeInfo, 0, 0, 0) == 1) + { + timeInfoMode = true; +#if kCanTimeCode + if(callbacks->asioMessage(kAsioSupportsTimeCode, 0, 0, 0) == 1) + canTimeCode = true; +#endif + } +} + +void switchBuffers(long doubleBufferIndex, bool processNow) +{ + if(timeInfoMode) + { + AsioTimeInfo* ti = &asioTime.timeInfo; + ti->flags = kSystemTimeValid | kSamplePositionValid | kSampleRateValid; + ti->systemTime = theNanoSeconds; + ti->samplePosition = theSamplePosition; + if(ti->sampleRate != theSampleRate) + ti->flags |= kSampleRateChanged; + ti->sampleRate = theSampleRate; + +#if kCanTimeCode + if(canTimeCode && timeCodeEnabled) + { + ASIOTimeCode* tc = &asioTime.timeCode; + tc->timeCodeSamples = tcSamples; // tc in samples + tc->flags = kTcValid | kTcRunning | kTcOnspeed; // if so... + } + ASIOTime* bb = callbacks->bufferSwitchTimeInfo(&asioTime, doubleBufferIndex, processNow ? ASIOTrue : ASIOFalse); +#else + callbacks->bufferSwitchTimeInfo(&asioTime, doubleBufferIndex, processNow ? ASIOTrue : ASIOFalse); +#endif + } + else + callbacks->bufferSwitch(doubleBufferIndex, ASIOFalse); +} + +ASIOError ASIOFuture(long selector, void *params) +{ + switch(selector) + { + case kAsioEnableTimeCodeRead: + timeCodeEnabled = true; + return ASE_SUCCESS; + case kAsioDisableTimeCodeRead: + timeCodeEnabled = false; + return ASE_SUCCESS; + case kAsioCanTimeInfo: + return ASE_SUCCESS; + #if kCanTimeCode + case kAsioCanTimeCode: + return ASE_SUCCESS; + #endif + } + return ASE_NotPresent; +}; + +*/ + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// application's audio stream handler callbacks +//- - - - - - - - - - - - - - - - - - - - - - - - - + +typedef struct ASIOCallbacks +{ + void (*bufferSwitch) (long doubleBufferIndex, ASIOBool directProcess); + // bufferSwitch indicates that both input and output are to be processed. + // the current buffer half index (0 for A, 1 for B) determines + // - the output buffer that the host should start to fill. the other buffer + // will be passed to output hardware regardless of whether it got filled + // in time or not. + // - the input buffer that is now filled with incoming data. Note that + // because of the synchronicity of i/o, the input always has at + // least one buffer latency in relation to the output. + // directProcess suggests to the host whether it should immedeately + // start processing (directProcess == ASIOTrue), or whether its process + // should be deferred because the call comes from a very low level + // (for instance, a high level priority interrupt), and direct processing + // would cause timing instabilities for the rest of the system. If in doubt, + // directProcess should be set to ASIOFalse. + // Note: bufferSwitch may be called at interrupt time for highest efficiency. + + void (*sampleRateDidChange) (ASIOSampleRate sRate); + // gets called when the AudioStreamIO detects a sample rate change + // If sample rate is unknown, 0 is passed (for instance, clock loss + // when externally synchronized). + + long (*asioMessage) (long selector, long value, void* message, double* opt); + // generic callback for various purposes, see selectors below. + // note this is only present if the asio version is 2 or higher + + ASIOTime* (*bufferSwitchTimeInfo) (ASIOTime* params, long doubleBufferIndex, ASIOBool directProcess); + // new callback with time info. makes ASIOGetSamplePosition() and various + // calls to ASIOGetSampleRate obsolete, + // and allows for timecode sync etc. to be preferred; will be used if + // the driver calls asioMessage with selector kAsioSupportsTimeInfo. +} ASIOCallbacks; + +// asioMessage selectors +enum +{ + kAsioSelectorSupported = 1, // selector in , returns 1L if supported, + // 0 otherwise + kAsioEngineVersion, // returns engine (host) asio implementation version, + // 2 or higher + kAsioResetRequest, // request driver reset. if accepted, this + // will close the driver (ASIO_Exit() ) and + // re-open it again (ASIO_Init() etc). some + // drivers need to reconfigure for instance + // when the sample rate changes, or some basic + // changes have been made in ASIO_ControlPanel(). + // returns 1L; note the request is merely passed + // to the application, there is no way to determine + // if it gets accepted at this time (but it usually + // will be). + kAsioBufferSizeChange, // not yet supported, will currently always return 0L. + // for now, use kAsioResetRequest instead. + // once implemented, the new buffer size is expected + // in , and on success returns 1L + kAsioResyncRequest, // the driver went out of sync, such that + // the timestamp is no longer valid. this + // is a request to re-start the engine and + // slave devices (sequencer). returns 1 for ok, + // 0 if not supported. + kAsioLatenciesChanged, // the drivers latencies have changed. The engine + // will refetch the latencies. + kAsioSupportsTimeInfo, // if host returns true here, it will expect the + // callback bufferSwitchTimeInfo to be called instead + // of bufferSwitch + kAsioSupportsTimeCode, // + kAsioMMCCommand, // unused - value: number of commands, message points to mmc commands + kAsioSupportsInputMonitor, // kAsioSupportsXXX return 1 if host supports this + kAsioSupportsInputGain, // unused and undefined + kAsioSupportsInputMeter, // unused and undefined + kAsioSupportsOutputGain, // unused and undefined + kAsioSupportsOutputMeter, // unused and undefined + kAsioOverload, // driver detected an overload + + kAsioNumMessageSelectors +}; + +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// (De-)Construction +//- - - - - - - - - - - - - - - - - - - - - - - - - + +typedef struct ASIODriverInfo +{ + long asioVersion; // currently, 2 + long driverVersion; // driver specific + char name[32]; + char errorMessage[124]; + void *sysRef; // on input: system reference + // (Windows: application main window handle, Mac & SGI: 0) +} ASIODriverInfo; + +ASIOError ASIOInit(ASIODriverInfo *info); +/* Purpose: + Initialize the AudioStreamIO. + Parameter: + info: pointer to an ASIODriver structure: + - asioVersion: + - on input, the host version. *** Note *** this is 0 for earlier asio + implementations, and the asioMessage callback is implemeted + only if asioVersion is 2 or greater. sorry but due to a design fault + the driver doesn't have access to the host version in ASIOInit :-( + added selector for host (engine) version in the asioMessage callback + so we're ok from now on. + - on return, asio implementation version. + older versions are 1 + if you support this version (namely, ASIO_outputReady() ) + this should be 2 or higher. also see the note in + ASIO_getTimeStamp() ! + - version: on return, the driver version (format is driver specific) + - name: on return, a null-terminated string containing the driver's name + - error message: on return, should contain a user message describing + the type of error that occured during ASIOInit(), if any. + - sysRef: platform specific + Returns: + If neither input nor output is present ASE_NotPresent + will be returned. + ASE_NoMemory, ASE_HWMalfunction are other possible error conditions +*/ + +ASIOError ASIOExit(void); +/* Purpose: + Terminates the AudioStreamIO. + Parameter: + None. + Returns: + If neither input nor output is present ASE_NotPresent + will be returned. + Notes: this implies ASIOStop() and ASIODisposeBuffers(), + meaning that no host callbacks must be accessed after ASIOExit(). +*/ + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Start/Stop +//- - - - - - - - - - - - - - - - - - - - - - - - - + +ASIOError ASIOStart(void); +/* Purpose: + Start input and output processing synchronously. + This will + - reset the sample counter to zero + - start the hardware (both input and output) + The first call to the hosts' bufferSwitch(index == 0) then tells + the host to read from input buffer A (index 0), and start + processing to output buffer A while output buffer B (which + has been filled by the host prior to calling ASIOStart()) + is possibly sounding (see also ASIOGetLatencies()) + Parameter: + None. + Returns: + If neither input nor output is present, ASE_NotPresent + will be returned. + If the hardware fails to start, ASE_HWMalfunction will be returned. + Notes: + There is no restriction on the time that ASIOStart() takes + to perform (that is, it is not considered a realtime trigger). +*/ + +ASIOError ASIOStop(void); +/* Purpose: + Stops input and output processing altogether. + Parameter: + None. + Returns: + If neither input nor output is present ASE_NotPresent + will be returned. + Notes: + On return from ASIOStop(), the driver must in no + case call the hosts' bufferSwitch() routine. +*/ + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Inquiry methods and sample rate +//- - - - - - - - - - - - - - - - - - - - - - - - - + +ASIOError ASIOGetChannels(long *numInputChannels, long *numOutputChannels); +/* Purpose: + Returns number of individual input/output channels. + Parameter: + numInputChannels will hold the number of available input channels + numOutputChannels will hold the number of available output channels + Returns: + If no input/output is present ASE_NotPresent will be returned. + If only inputs, or only outputs are available, the according + other parameter will be zero, and ASE_OK is returned. +*/ + +ASIOError ASIOGetLatencies(long *inputLatency, long *outputLatency); +/* Purpose: + Returns the input and output latencies. This includes + device specific delays, like FIFOs etc. + Parameter: + inputLatency will hold the 'age' of the first sample frame + in the input buffer when the hosts reads it in bufferSwitch() + (this is theoretical, meaning it does not include the overhead + and delay between the actual physical switch, and the time + when bufferSitch() enters). + This will usually be the size of one block in sample frames, plus + device specific latencies. + + outputLatency will specify the time between the buffer switch, + and the time when the next play buffer will start to sound. + The next play buffer is defined as the one the host starts + processing after (or at) bufferSwitch(), indicated by the + index parameter (0 for buffer A, 1 for buffer B). + It will usually be either one block, if the host writes directly + to a dma buffer, or two or more blocks if the buffer is 'latched' by + the driver. As an example, on ASIOStart(), the host will have filled + the play buffer at index 1 already; when it gets the callback (with + the parameter index == 0), this tells it to read from the input + buffer 0, and start to fill the play buffer 0 (assuming that now + play buffer 1 is already sounding). In this case, the output + latency is one block. If the driver decides to copy buffer 1 + at that time, and pass it to the hardware at the next slot (which + is most commonly done, but should be avoided), the output latency + becomes two blocks instead, resulting in a total i/o latency of at least + 3 blocks. As memory access is the main bottleneck in native dsp processing, + and to acheive less latency, it is highly recommended to try to avoid + copying (this is also why the driver is the owner of the buffers). To + summarize, the minimum i/o latency can be acheived if the input buffer + is processed by the host into the output buffer which will physically + start to sound on the next time slice. Also note that the host expects + the bufferSwitch() callback to be accessed for each time slice in order + to retain sync, possibly recursively; if it fails to process a block in + time, it will suspend its operation for some time in order to recover. + Returns: + If no input/output is present ASE_NotPresent will be returned. +*/ + +ASIOError ASIOGetBufferSize(long *minSize, long *maxSize, long *preferredSize, long *granularity); +/* Purpose: + Returns min, max, and preferred buffer sizes for input/output + Parameter: + minSize will hold the minimum buffer size + maxSize will hold the maxium possible buffer size + preferredSize will hold the preferred buffer size (a size which + best fits performance and hardware requirements) + granularity will hold the granularity at which buffer sizes + may differ. Usually, the buffer size will be a power of 2; + in this case, granularity will hold -1 on return, signalling + possible buffer sizes starting from minSize, increased in + powers of 2 up to maxSize. + Returns: + If no input/output is present ASE_NotPresent will be returned. + Notes: + When minimum and maximum buffer size are equal, + the preferred buffer size has to be the same value as well; granularity + should be 0 in this case. +*/ + +ASIOError ASIOCanSampleRate(ASIOSampleRate sampleRate); +/* Purpose: + Inquires the hardware for the available sample rates. + Parameter: + sampleRate is the rate in question. + Returns: + If the inquired sample rate is not supported, ASE_NoClock will be returned. + If no input/output is present ASE_NotPresent will be returned. +*/ +ASIOError ASIOGetSampleRate(ASIOSampleRate *currentRate); +/* Purpose: + Get the current sample Rate. + Parameter: + currentRate will hold the current sample rate on return. + Returns: + If sample rate is unknown, sampleRate will be 0 and ASE_NoClock will be returned. + If no input/output is present ASE_NotPresent will be returned. + Notes: +*/ + +ASIOError ASIOSetSampleRate(ASIOSampleRate sampleRate); +/* Purpose: + Set the hardware to the requested sample Rate. If sampleRate == 0, + enable external sync. + Parameter: + sampleRate: on input, the requested rate + Returns: + If sampleRate is unknown ASE_NoClock will be returned. + If the current clock is external, and sampleRate is != 0, + ASE_InvalidMode will be returned + If no input/output is present ASE_NotPresent will be returned. + Notes: +*/ + +typedef struct ASIOClockSource +{ + long index; // as used for ASIOSetClockSource() + long associatedChannel; // for instance, S/PDIF or AES/EBU + long associatedGroup; // see channel groups (ASIOGetChannelInfo()) + ASIOBool isCurrentSource; // ASIOTrue if this is the current clock source + char name[32]; // for user selection +} ASIOClockSource; + +ASIOError ASIOGetClockSources(ASIOClockSource *clocks, long *numSources); +/* Purpose: + Get the available external audio clock sources + Parameter: + clocks points to an array of ASIOClockSource structures: + - index: this is used to identify the clock source + when ASIOSetClockSource() is accessed, should be + an index counting from zero + - associatedInputChannel: the first channel of an associated + input group, if any. + - associatedGroup: the group index of that channel. + groups of channels are defined to seperate for + instance analog, S/PDIF, AES/EBU, ADAT connectors etc, + when present simultaniously. Note that associated channel + is enumerated according to numInputs/numOutputs, means it + is independant from a group (see also ASIOGetChannelInfo()) + inputs are associated to a clock if the physical connection + transfers both data and clock (like S/PDIF, AES/EBU, or + ADAT inputs). if there is no input channel associated with + the clock source (like Word Clock, or internal oscillator), both + associatedChannel and associatedGroup should be set to -1. + - isCurrentSource: on exit, ASIOTrue if this is the current clock + source, ASIOFalse else + - name: a null-terminated string for user selection of the available sources. + numSources: + on input: the number of allocated array members + on output: the number of available clock sources, at least + 1 (internal clock generator). + Returns: + If no input/output is present ASE_NotPresent will be returned. + Notes: +*/ + +ASIOError ASIOSetClockSource(long index); +/* Purpose: + Set the audio clock source + Parameter: + index as obtained from an inquiry to ASIOGetClockSources() + Returns: + If no input/output is present ASE_NotPresent will be returned. + If the clock can not be selected because an input channel which + carries the current clock source is active, ASE_InvalidMode + *may* be returned (this depends on the properties of the driver + and/or hardware). + Notes: + Should *not* return ASE_NoClock if there is no clock signal present + at the selected source; this will be inquired via ASIOGetSampleRate(). + It should call the host callback procedure sampleRateHasChanged(), + if the switch causes a sample rate change, or if no external clock + is present at the selected source. +*/ + +ASIOError ASIOGetSamplePosition (ASIOSamples *sPos, ASIOTimeStamp *tStamp); +/* Purpose: + Inquires the sample position/time stamp pair. + Parameter: + sPos will hold the sample position on return. The sample + position is reset to zero when ASIOStart() gets called. + tStamp will hold the system time when the sample position + was latched. + Returns: + If no input/output is present, ASE_NotPresent will be returned. + If there is no clock, ASE_SPNotAdvancing will be returned. + Notes: + + in order to be able to synchronise properly, + the sample position / time stamp pair must refer to the current block, + that is, the engine will call ASIOGetSamplePosition() in its bufferSwitch() + callback and expect the time for the current block. thus, when requested + in the very first bufferSwitch after ASIO_Start(), the sample position + should be zero, and the time stamp should refer to the very time where + the stream was started. it also means that the sample position must be + block aligned. the driver must ensure proper interpolation if the system + time can not be determined for the block position. the driver is responsible + for precise time stamps as it usually has most direct access to lower + level resources. proper behaviour of ASIO_GetSamplePosition() and ASIO_GetLatencies() + are essential for precise media synchronization! +*/ + +typedef struct ASIOChannelInfo +{ + long channel; // on input, channel index + ASIOBool isInput; // on input + ASIOBool isActive; // on exit + long channelGroup; // dto + ASIOSampleType type; // dto + char name[32]; // dto +} ASIOChannelInfo; + +ASIOError ASIOGetChannelInfo(ASIOChannelInfo *info); +/* Purpose: + retreive information about the nature of a channel + Parameter: + info: pointer to a ASIOChannelInfo structure with + - channel: on input, the channel index of the channel in question. + - isInput: on input, ASIOTrue if info for an input channel is + requested, else output + - channelGroup: on return, the channel group that the channel + belongs to. For drivers which support different types of + channels, like analog, S/PDIF, AES/EBU, ADAT etc interfaces, + there should be a reasonable grouping of these types. Groups + are always independant form a channel index, that is, a channel + index always counts from 0 to numInputs/numOutputs regardless + of the group it may belong to. + There will always be at least one group (group 0). Please + also note that by default, the host may decide to activate + channels 0 and 1; thus, these should belong to the most + useful type (analog i/o, if present). + - type: on return, contains the sample type of the channel + - isActive: on return, ASIOTrue if channel is active as it was + installed by ASIOCreateBuffers(), ASIOFalse else + - name: describing the type of channel in question. Used to allow + for user selection, and enabling of specific channels. examples: + "Analog In", "SPDIF Out" etc + Returns: + If no input/output is present ASE_NotPresent will be returned. + Notes: + If possible, the string should be organised such that the first + characters are most significantly describing the nature of the + port, to allow for identification even if the view showing the + port name is too small to display more than 8 characters, for + instance. +*/ + +//- - - - - - - - - - - - - - - - - - - - - - - - - +// Buffer preparation +//- - - - - - - - - - - - - - - - - - - - - - - - - + +typedef struct ASIOBufferInfo +{ + ASIOBool isInput; // on input: ASIOTrue: input, else output + long channelNum; // on input: channel index + void *buffers[2]; // on output: double buffer addresses +} ASIOBufferInfo; + +ASIOError ASIOCreateBuffers(ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks); + +/* Purpose: + Allocates input/output buffers for all input and output channels to be activated. + Parameter: + bufferInfos is a pointer to an array of ASIOBufferInfo structures: + - isInput: on input, ASIOTrue if the buffer is to be allocated + for an input, output buffer else + - channelNum: on input, the index of the channel in question + (counting from 0) + - buffers: on exit, 2 pointers to the halves of the channels' double-buffer. + the size of the buffer(s) of course depend on both the ASIOSampleType + as obtained from ASIOGetChannelInfo(), and bufferSize + numChannels is the sum of all input and output channels to be created; + thus bufferInfos is a pointer to an array of numChannels ASIOBufferInfo + structures. + bufferSize selects one of the possible buffer sizes as obtained from + ASIOGetBufferSizes(). + callbacks is a pointer to an ASIOCallbacks structure. + Returns: + If not enough memory is available ASE_NoMemory will be returned. + If no input/output is present ASE_NotPresent will be returned. + If bufferSize is not supported, or one or more of the bufferInfos elements + contain invalid settings, ASE_InvalidMode will be returned. + Notes: + If individual channel selection is not possible but requested, + the driver has to handle this. namely, bufferSwitch() will only + have filled buffers of enabled outputs. If possible, processing + and buss activities overhead should be avoided for channels which + were not enabled here. +*/ + +ASIOError ASIODisposeBuffers(void); +/* Purpose: + Releases all buffers for the device. + Parameter: + None. + Returns: + If no buffer were ever prepared, ASE_InvalidMode will be returned. + If no input/output is present ASE_NotPresent will be returned. + Notes: + This implies ASIOStop(). +*/ + +ASIOError ASIOControlPanel(void); +/* Purpose: + request the driver to start a control panel component + for device specific user settings. This will not be + accessed on some platforms (where the component is accessed + instead). + Parameter: + None. + Returns: + If no panel is available ASE_NotPresent will be returned. + Actually, the return code is ignored. + Notes: + if the user applied settings which require a re-configuration + of parts or all of the enigine and/or driver (such as a change of + the block size), the asioMessage callback can be used (see + ASIO_Callbacks). +*/ + +ASIOError ASIOFuture(long selector, void *params); +/* Purpose: + various + Parameter: + selector: operation Code as to be defined. zero is reserved for + testing purposes. + params: depends on the selector; usually pointer to a structure + for passing and retreiving any type and amount of parameters. + Returns: + the return value is also selector dependant. if the selector + is unknown, ASE_InvalidParameter should be returned to prevent + further calls with this selector. on success, ASE_SUCCESS + must be returned (note: ASE_OK is *not* sufficient!) + Notes: + see selectors defined below. +*/ + +enum +{ + kAsioEnableTimeCodeRead = 1, // no arguments + kAsioDisableTimeCodeRead, // no arguments + kAsioSetInputMonitor, // ASIOInputMonitor* in params + kAsioTransport, // ASIOTransportParameters* in params + kAsioSetInputGain, // ASIOChannelControls* in params, apply gain + kAsioGetInputMeter, // ASIOChannelControls* in params, fill meter + kAsioSetOutputGain, // ASIOChannelControls* in params, apply gain + kAsioGetOutputMeter, // ASIOChannelControls* in params, fill meter + kAsioCanInputMonitor, // no arguments for kAsioCanXXX selectors + kAsioCanTimeInfo, + kAsioCanTimeCode, + kAsioCanTransport, + kAsioCanInputGain, + kAsioCanInputMeter, + kAsioCanOutputGain, + kAsioCanOutputMeter, + kAsioOptionalOne, + + // DSD support + // The following extensions are required to allow switching + // and control of the DSD subsystem. + kAsioSetIoFormat = 0x23111961, /* ASIOIoFormat * in params. */ + kAsioGetIoFormat = 0x23111983, /* ASIOIoFormat * in params. */ + kAsioCanDoIoFormat = 0x23112004, /* ASIOIoFormat * in params. */ + + // Extension for drop out detection + kAsioCanReportOverload = 0x24042012, /* return ASE_SUCCESS if driver can detect and report overloads */ + + kAsioGetInternalBufferSamples = 0x25042012 /* ASIOInternalBufferInfo * in params. Deliver size of driver internal buffering, return ASE_SUCCESS if supported */ +}; + +typedef struct ASIOInputMonitor +{ + long input; // this input was set to monitor (or off), -1: all + long output; // suggested output for monitoring the input (if so) + long gain; // suggested gain, ranging 0 - 0x7fffffffL (-inf to +12 dB) + ASIOBool state; // ASIOTrue => on, ASIOFalse => off + long pan; // suggested pan, 0 => all left, 0x7fffffff => right +} ASIOInputMonitor; + +typedef struct ASIOChannelControls +{ + long channel; // on input, channel index + ASIOBool isInput; // on input + long gain; // on input, ranges 0 thru 0x7fffffff + long meter; // on return, ranges 0 thru 0x7fffffff + char future[32]; +} ASIOChannelControls; + +typedef struct ASIOTransportParameters +{ + long command; // see enum below + ASIOSamples samplePosition; + long track; + long trackSwitches[16]; // 512 tracks on/off + char future[64]; +} ASIOTransportParameters; + +enum +{ + kTransStart = 1, + kTransStop, + kTransLocate, // to samplePosition + kTransPunchIn, + kTransPunchOut, + kTransArmOn, // track + kTransArmOff, // track + kTransMonitorOn, // track + kTransMonitorOff, // track + kTransArm, // trackSwitches + kTransMonitor // trackSwitches +}; + +/* +// DSD support +// Some notes on how to use ASIOIoFormatType. +// +// The caller will fill the format with the request types. +// If the board can do the request then it will leave the +// values unchanged. If the board does not support the +// request then it will change that entry to Invalid (-1) +// +// So to request DSD then +// +// ASIOIoFormat NeedThis={kASIODSDFormat}; +// +// if(ASE_SUCCESS != ASIOFuture(kAsioSetIoFormat,&NeedThis) ){ +// // If the board did not accept one of the parameters then the +// // whole call will fail and the failing parameter will +// // have had its value changes to -1. +// } +// +// Note: Switching between the formats need to be done before the "prepared" +// state (see ASIO 2 documentation) is entered. +*/ +typedef long int ASIOIoFormatType; +enum ASIOIoFormatType_e +{ + kASIOFormatInvalid = -1, + kASIOPCMFormat = 0, + kASIODSDFormat = 1, +}; + +typedef struct ASIOIoFormat_s +{ + ASIOIoFormatType FormatType; + char future[512-sizeof(ASIOIoFormatType)]; +} ASIOIoFormat; + +// Extension for drop detection +// Note: Refers to buffering that goes beyond the double buffer e.g. used by USB driver designs +typedef struct ASIOInternalBufferInfo +{ + long inputSamples; // size of driver's internal input buffering which is included in getLatencies + long outputSamples; // size of driver's internal output buffering which is included in getLatencies +} ASIOInternalBufferInfo; + + +ASIOError ASIOOutputReady(void); +/* Purpose: + this tells the driver that the host has completed processing + the output buffers. if the data format required by the hardware + differs from the supported asio formats, but the hardware + buffers are DMA buffers, the driver will have to convert + the audio stream data; as the bufferSwitch callback is + usually issued at dma block switch time, the driver will + have to convert the *previous* host buffer, which increases + the output latency by one block. + when the host finds out that ASIOOutputReady() returns + true, it will issue this call whenever it completed + output processing. then the driver can convert the + host data directly to the dma buffer to be played next, + reducing output latency by one block. + another way to look at it is, that the buffer switch is called + in order to pass the *input* stream to the host, so that it can + process the input into the output, and the output stream is passed + to the driver when the host has completed its process. + Parameter: + None + Returns: + only if the above mentioned scenario is given, and a reduction + of output latency can be acheived by this mechanism, should + ASE_OK be returned. otherwise (and usually), ASE_NotPresent + should be returned in order to prevent further calls to this + function. note that the host may want to determine if it is + to use this when the system is not yet fully initialized, so + ASE_OK should always be returned if the mechanism makes sense. + Notes: + please remeber to adjust ASIOGetLatencies() according to + whether ASIOOutputReady() was ever called or not, if your + driver supports this scenario. + also note that the engine may fail to call ASIO_OutputReady() + in time in overload cases. as already mentioned, bufferSwitch + should be called for every block regardless of whether a block + could be processed in time. +*/ + +// restore old alignment +#if defined(_MSC_VER) && !defined(__MWERKS__) +#pragma pack(pop) +#elif PRAGMA_ALIGN_SUPPORTED +#pragma options align = reset +#endif + +#endif + diff --git a/src/hostapi/asio/ASIOSDK/common/asiodrvr.cpp b/src/hostapi/asio/ASIOSDK/common/asiodrvr.cpp new file mode 100644 index 0000000..6ada6f6 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/asiodrvr.cpp @@ -0,0 +1,139 @@ +/* + Steinberg Audio Stream I/O API + (c) 1996, Steinberg Soft- und Hardware GmbH + charlie (May 1996) + + asiodrvr.cpp + c++ superclass to implement asio functionality. from this, + you can derive whatever required +*/ + +#include +#include "asiosys.h" +#include "asiodrvr.h" + +#if WINDOWS +#error do not use this +AsioDriver::AsioDriver (LPUNKNOWN pUnk, HRESULT *phr) : CUnknown("My AsioDriver", pUnk, phr) +{ +} + +#else + +AsioDriver::AsioDriver() +{ +} + +#endif + +AsioDriver::~AsioDriver() +{ +} + +ASIOBool AsioDriver::init(void *sysRef) +{ + return ASE_NotPresent; +} + +void AsioDriver::getDriverName(char *name) +{ + strcpy(name, "No Driver"); +} + +long AsioDriver::getDriverVersion() +{ + return 0; +} + +void AsioDriver::getErrorMessage(char *string) +{ + strcpy(string, "ASIO Driver Implementation Error!"); +} + +ASIOError AsioDriver::start() +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::stop() +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getChannels(long *numInputChannels, long *numOutputChannels) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getLatencies(long *inputLatency, long *outputLatency) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getBufferSize(long *minSize, long *maxSize, + long *preferredSize, long *granularity) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::canSampleRate(ASIOSampleRate sampleRate) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getSampleRate(ASIOSampleRate *sampleRate) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::setSampleRate(ASIOSampleRate sampleRate) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getClockSources(ASIOClockSource *clocks, long *numSources) +{ + *numSources = 0; + return ASE_NotPresent; +} + +ASIOError AsioDriver::setClockSource(long reference) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::getChannelInfo(ASIOChannelInfo *info) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::createBuffers(ASIOBufferInfo *channelInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::disposeBuffers() +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::controlPanel() +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::future(long selector, void *opt) +{ + return ASE_NotPresent; +} + +ASIOError AsioDriver::outputReady() +{ + return ASE_NotPresent; +} \ No newline at end of file diff --git a/src/hostapi/asio/ASIOSDK/common/asiodrvr.h b/src/hostapi/asio/ASIOSDK/common/asiodrvr.h new file mode 100644 index 0000000..1670dfa --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/asiodrvr.h @@ -0,0 +1,76 @@ +/* + Steinberg Audio Stream I/O API + (c) 1996, Steinberg Soft- und Hardware GmbH + charlie (May 1996) + + asiodrvr.h + c++ superclass to implement asio functionality. from this, + you can derive whatever required +*/ + +#ifndef _asiodrvr_ +#define _asiodrvr_ + +// cpu and os system we are running on +#include "asiosys.h" +// basic "C" interface +#include "asio.h" + +class AsioDriver; +extern AsioDriver *getDriver(); // for generic constructor + +#if WINDOWS +#include +#include "combase.h" +#include "iasiodrv.h" +class AsioDriver : public IASIO ,public CUnknown +{ +public: + AsioDriver(LPUNKNOWN pUnk, HRESULT *phr); + + DECLARE_IUNKNOWN + // Factory method + static CUnknown *CreateInstance(LPUNKNOWN pUnk, HRESULT *phr); + // IUnknown + virtual HRESULT STDMETHODCALLTYPE NonDelegatingQueryInterface(REFIID riid,void **ppvObject); + +#else + +class AsioDriver +{ +public: + AsioDriver(); +#endif + virtual ~AsioDriver(); + + virtual ASIOBool init(void* sysRef); + virtual void getDriverName(char *name); // max 32 bytes incl. terminating zero + virtual long getDriverVersion(); + virtual void getErrorMessage(char *string); // max 124 bytes incl. + + virtual ASIOError start(); + virtual ASIOError stop(); + + virtual ASIOError getChannels(long *numInputChannels, long *numOutputChannels); + virtual ASIOError getLatencies(long *inputLatency, long *outputLatency); + virtual ASIOError getBufferSize(long *minSize, long *maxSize, + long *preferredSize, long *granularity); + + virtual ASIOError canSampleRate(ASIOSampleRate sampleRate); + virtual ASIOError getSampleRate(ASIOSampleRate *sampleRate); + virtual ASIOError setSampleRate(ASIOSampleRate sampleRate); + virtual ASIOError getClockSources(ASIOClockSource *clocks, long *numSources); + virtual ASIOError setClockSource(long reference); + + virtual ASIOError getSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp); + virtual ASIOError getChannelInfo(ASIOChannelInfo *info); + + virtual ASIOError createBuffers(ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks); + virtual ASIOError disposeBuffers(); + + virtual ASIOError controlPanel(); + virtual ASIOError future(long selector, void *opt); + virtual ASIOError outputReady(); +}; +#endif diff --git a/src/hostapi/asio/ASIOSDK/common/asiosys.h b/src/hostapi/asio/ASIOSDK/common/asiosys.h new file mode 100644 index 0000000..b4c7a8b --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/asiosys.h @@ -0,0 +1,82 @@ +#ifndef __asiosys__ + #define __asiosys__ + + #if defined(_WIN32) || defined(_WIN64) + #undef MAC + #define PPC 0 + #define WINDOWS 1 + #define SGI 0 + #define SUN 0 + #define LINUX 0 + #define BEOS 0 + + #define NATIVE_INT64 0 + #define IEEE754_64FLOAT 1 + + #elif BEOS + #define MAC 0 + #define PPC 0 + #define WINDOWS 0 + #define PC 0 + #define SGI 0 + #define SUN 0 + #define LINUX 0 + + #define NATIVE_INT64 0 + #define IEEE754_64FLOAT 1 + + #ifndef DEBUG + #define DEBUG 0 + #if DEBUG + void DEBUGGERMESSAGE(char *string); + #else + #define DEBUGGERMESSAGE(a) + #endif + #endif + + #elif SGI + #define MAC 0 + #define PPC 0 + #define WINDOWS 0 + #define PC 0 + #define SUN 0 + #define LINUX 0 + #define BEOS 0 + + #define NATIVE_INT64 0 + #define IEEE754_64FLOAT 1 + + #ifndef DEBUG + #define DEBUG 0 + #if DEBUG + void DEBUGGERMESSAGE(char *string); + #else + #define DEBUGGERMESSAGE(a) + #endif + #endif + + #else // MAC + + #define MAC 1 + #define PPC 1 + #define WINDOWS 0 + #define PC 0 + #define SGI 0 + #define SUN 0 + #define LINUX 0 + #define BEOS 0 + + #define NATIVE_INT64 0 + #define IEEE754_64FLOAT 1 + + #ifndef DEBUG + #define DEBUG 0 + #if DEBUG + void DEBUGGERMESSAGE(char *string); + #else + #define DEBUGGERMESSAGE(a) + #endif + #endif + #endif + +#endif diff --git a/src/hostapi/asio/ASIOSDK/common/combase.cpp b/src/hostapi/asio/ASIOSDK/common/combase.cpp new file mode 100644 index 0000000..84b64f8 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/combase.cpp @@ -0,0 +1,202 @@ +//==========================================================================; +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY +// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR +// PURPOSE. +// +// Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved. +// +//--------------------------------------------------------------------------; + +// Base class hierachy for creating COM objects, December 1994 + +#include +#include "wxdebug.h" +#include "combase.h" +#pragma warning( disable : 4514 ) // Disable warnings re unused inline functions + + +/* Define the static member variable */ + +LONG CBaseObject::m_cObjects = 0; + + +/* Constructor */ + +CBaseObject::CBaseObject(TCHAR *pName) +{ + /* Increment the number of active objects */ + InterlockedIncrement(&m_cObjects); + +#ifdef DEBUG + m_dwCookie = DbgRegisterObjectCreation(pName); +#endif +} + + +/* Destructor */ + +CBaseObject::~CBaseObject() +{ + /* Decrement the number of objects active */ + InterlockedDecrement(&m_cObjects); + +#ifdef DEBUG + DbgRegisterObjectDestruction(m_dwCookie); +#endif +} + + +/* Constructor */ + +// We know we use "this" in the initialization list, we also know we don't modify *phr. +#pragma warning( disable : 4355 4100 ) +CUnknown::CUnknown(TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr) +: CBaseObject(pName) +/* Start the object with a reference count of zero - when the */ +/* object is queried for it's first interface this may be */ +/* incremented depending on whether or not this object is */ +/* currently being aggregated upon */ +, m_cRef(0) +/* Set our pointer to our IUnknown interface. */ +/* If we have an outer, use its, otherwise use ours. */ +/* This pointer effectivly points to the owner of */ +/* this object and can be accessed by the GetOwner() method. */ +, m_pUnknown( pUnk != 0 ? pUnk : reinterpret_cast( static_cast(this) ) ) + /* Why the double cast? Well, the inner cast is a type-safe cast */ + /* to pointer to a type from which we inherit. The second is */ + /* type-unsafe but works because INonDelegatingUnknown "behaves */ + /* like" IUnknown. (Only the names on the methods change.) */ +{ + // Everything we need to do has been done in the initializer list +} +#pragma warning( default : 4355 4100 ) + +/* QueryInterface */ + +STDMETHODIMP CUnknown::NonDelegatingQueryInterface(REFIID riid, void ** ppv) +{ + CheckPointer(ppv,E_POINTER); + ValidateReadWritePtr(ppv,sizeof(PVOID)); + + /* We know only about IUnknown */ + + if (riid == IID_IUnknown) { + GetInterface((LPUNKNOWN) (PNDUNKNOWN) this, ppv); + return NOERROR; + } else { + *ppv = NULL; + return E_NOINTERFACE; + } +} + +/* We have to ensure that we DON'T use a max macro, since these will typically */ +/* lead to one of the parameters being evaluated twice. Since we are worried */ +/* about concurrency, we can't afford to access the m_cRef twice since we can't */ +/* afford to run the risk that its value having changed between accesses. */ +#ifdef max + #undef max +#endif + +template inline static T max( const T & a, const T & b ) +{ + return a > b ? a : b; +} + +/* AddRef */ + +STDMETHODIMP_(ULONG) CUnknown::NonDelegatingAddRef() +{ + LONG lRef = InterlockedIncrement( &m_cRef ); + ASSERT(lRef > 0); + DbgLog((LOG_MEMORY,3,TEXT(" Obj %d ref++ = %d"), + m_dwCookie, m_cRef)); + return max(ULONG(m_cRef), 1ul); +} + + + +/* Release */ + +STDMETHODIMP_(ULONG) CUnknown::NonDelegatingRelease() +{ + /* If the reference count drops to zero delete ourselves */ + + LONG lRef = InterlockedDecrement( &m_cRef ); + ASSERT(lRef >= 0); + + DbgLog((LOG_MEMORY,3,TEXT(" Object %d ref-- = %d"), + m_dwCookie, m_cRef)); + if (lRef == 0) { + + // COM rules say we must protect against re-entrancy. + // If we are an aggregator and we hold our own interfaces + // on the aggregatee, the QI for these interfaces will + // addref ourselves. So after doing the QI we must release + // a ref count on ourselves. Then, before releasing the + // private interface, we must addref ourselves. When we do + // this from the destructor here it will result in the ref + // count going to 1 and then back to 0 causing us to + // re-enter the destructor. Hence we add an extra refcount here + // once we know we will delete the object. + // for an example aggregator see filgraph\distrib.cpp. + + m_cRef++; + + delete this; + return ULONG(0); + } else { + return max(ULONG(m_cRef), 1ul); + } +} + + +/* Return an interface pointer to a requesting client + performing a thread safe AddRef as necessary */ + +HRESULT CUnknown::GetInterface(LPUNKNOWN pUnk, void **ppv) +{ + CheckPointer(ppv, E_POINTER); + *ppv = pUnk; + pUnk->AddRef(); + return NOERROR; +} + + +/* Compares two interfaces and returns TRUE if they are on the same object */ + +BOOL IsEqualObject(IUnknown *pFirst, IUnknown *pSecond) +{ + /* Different objects can't have the same interface pointer for + any interface + */ + if (pFirst == pSecond) { + return TRUE; + } + /* OK - do it the hard way - check if they have the same + IUnknown pointers - a single object can only have one of these + */ + LPUNKNOWN pUnknown1; // Retrieve the IUnknown interface + LPUNKNOWN pUnknown2; // Retrieve the other IUnknown interface + HRESULT hr; // General OLE return code + + ASSERT(pFirst); + ASSERT(pSecond); + + /* See if the IUnknown pointers match */ + + hr = pFirst->QueryInterface(IID_IUnknown,(void **) &pUnknown1); + ASSERT(SUCCEEDED(hr)); + ASSERT(pUnknown1); + + hr = pSecond->QueryInterface(IID_IUnknown,(void **) &pUnknown2); + ASSERT(SUCCEEDED(hr)); + ASSERT(pUnknown2); + + /* Release the extra interfaces we hold */ + + pUnknown1->Release(); + pUnknown2->Release(); + return (pUnknown1 == pUnknown2); +} diff --git a/src/hostapi/asio/ASIOSDK/common/combase.h b/src/hostapi/asio/ASIOSDK/common/combase.h new file mode 100644 index 0000000..6141803 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/combase.h @@ -0,0 +1,284 @@ +//==========================================================================; +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY +// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR +// PURPOSE. +// +// Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved. +// +//--------------------------------------------------------------------------; + +// Base class hierachy for creating COM objects, December 1994 + +/* + +a. Derive your COM object from CUnknown + +b. Make a static CreateInstance function that takes an LPUNKNOWN, an HRESULT * + and a TCHAR *. The LPUNKNOWN defines the object to delegate IUnknown calls + to. The HRESULT * allows error codes to be passed around constructors and + the TCHAR * is a descriptive name that can be printed on the debugger. + + It is important that constructors only change the HRESULT * if they have + to set an ERROR code, if it was successful then leave it alone or you may + overwrite an error code from an object previously created. + + When you call a constructor the descriptive name should be in static store + as we do not copy the string. To stop large amounts of memory being used + in retail builds by all these static strings use the NAME macro, + + CMyFilter = new CImplFilter(NAME("My filter"),pUnknown,phr); + if (FAILED(hr)) { + return hr; + } + + In retail builds NAME(_x_) compiles to NULL, the base CBaseObject class + knows not to do anything with objects that don't have a name. + +c. Have a constructor for your object that passes the LPUNKNOWN, HRESULT * and + TCHAR * to the CUnknown constructor. You can set the HRESULT if you have an + error, or just simply pass it through to the constructor. + + The object creation will fail in the class factory if the HRESULT indicates + an error (ie FAILED(HRESULT) == TRUE) + +d. Create a FactoryTemplate with your object's class id and CreateInstance + function. + +Then (for each interface) either + +Multiple inheritance + +1. Also derive it from ISomeInterface +2. Include DECLARE_IUNKNOWN in your class definition to declare + implementations of QueryInterface, AddRef and Release that + call the outer unknown +3. Override NonDelegatingQueryInterface to expose ISomeInterface by + code something like + + if (riid == IID_ISomeInterface) { + return GetInterface((ISomeInterface *) this, ppv); + } else { + return CUnknown::NonDelegatingQueryInterface(riid, ppv); + } + +4. Declare and implement the member functions of ISomeInterface. + +or: Nested interfaces + +1. Declare a class derived from CUnknown +2. Include DECLARE_IUNKNOWN in your class definition +3. Override NonDelegatingQueryInterface to expose ISomeInterface by + code something like + + if (riid == IID_ISomeInterface) { + return GetInterface((ISomeInterface *) this, ppv); + } else { + return CUnknown::NonDelegatingQueryInterface(riid, ppv); + } + +4. Implement the member functions of ISomeInterface. Use GetOwner() to + access the COM object class. + +And in your COM object class: + +5. Make the nested class a friend of the COM object class, and declare + an instance of the nested class as a member of the COM object class. + + NOTE that because you must always pass the outer unknown and an hResult + to the CUnknown constructor you cannot use a default constructor, in + other words you will have to make the member variable a pointer to the + class and make a NEW call in your constructor to actually create it. + +6. override the NonDelegatingQueryInterface with code like this: + + if (riid == IID_ISomeInterface) { + return m_pImplFilter-> + NonDelegatingQueryInterface(IID_ISomeInterface, ppv); + } else { + return CUnknown::NonDelegatingQueryInterface(riid, ppv); + } + +You can have mixed classes which support some interfaces via multiple +inheritance and some via nested classes + +*/ + +#ifndef __COMBASE__ +#define __COMBASE__ + +/* The DLLENTRY module initialises the module handle on loading */ + +extern HINSTANCE g_hInst; + +/* On DLL load remember which platform we are running on */ + +extern DWORD g_amPlatform; +extern OSVERSIONINFO g_osInfo; // Filled in by GetVersionEx + +/* Version of IUnknown that is renamed to allow a class to support both + non delegating and delegating IUnknowns in the same COM object */ + +DECLARE_INTERFACE(INonDelegatingUnknown) +{ + STDMETHOD(NonDelegatingQueryInterface) (THIS_ REFIID, LPVOID *) PURE; + STDMETHOD_(ULONG, NonDelegatingAddRef)(THIS) PURE; + STDMETHOD_(ULONG, NonDelegatingRelease)(THIS) PURE; +}; + +typedef INonDelegatingUnknown *PNDUNKNOWN; + + +/* This is the base object class that supports active object counting. As + part of the debug facilities we trace every time a C++ object is created + or destroyed. The name of the object has to be passed up through the class + derivation list during construction as you cannot call virtual functions + in the constructor. The downside of all this is that every single object + constructor has to take an object name parameter that describes it */ + +class CBaseObject +{ + +private: + + // Disable the copy constructor and assignment by default so you will get + // compiler errors instead of unexpected behaviour if you pass objects + // by value or assign objects. + CBaseObject(const CBaseObject& objectSrc); // no implementation + void operator=(const CBaseObject& objectSrc); // no implementation + +private: + static LONG m_cObjects; /* Total number of objects active */ + +protected: +#ifdef DEBUG + DWORD m_dwCookie; /* Cookie identifying this object */ +#endif + + +public: + + /* These increment and decrement the number of active objects */ + + CBaseObject(TCHAR *pName); + ~CBaseObject(); + + /* Call this to find if there are any CUnknown derived objects active */ + + static LONG ObjectsActive() { + return m_cObjects; + }; +}; + + +/* An object that supports one or more COM interfaces will be based on + this class. It supports counting of total objects for DLLCanUnloadNow + support, and an implementation of the core non delegating IUnknown */ + +class CUnknown : public INonDelegatingUnknown, + public CBaseObject +{ + +private: + const LPUNKNOWN m_pUnknown; /* Owner of this object */ + +protected: /* So we can override NonDelegatingRelease() */ + volatile LONG m_cRef; /* Number of reference counts */ + +public: + + CUnknown(TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr); + virtual ~CUnknown() {}; + + /* Return the owner of this object */ + + LPUNKNOWN GetOwner() const { + return m_pUnknown; + }; + + /* Called from the class factory to create a new instance, it is + pure virtual so it must be overriden in your derived class */ + + /* static CUnknown *CreateInstance(LPUNKNOWN, HRESULT *) */ + + /* Non delegating unknown implementation */ + + STDMETHODIMP NonDelegatingQueryInterface(REFIID, void **); + STDMETHODIMP_(ULONG) NonDelegatingAddRef(); + STDMETHODIMP_(ULONG) NonDelegatingRelease(); + + /* Return an interface pointer to a requesting client + performing a thread safe AddRef as necessary */ + + HRESULT GetInterface(LPUNKNOWN pUnk, void **ppv); + + +}; + +#if WINVER < 0x0501 + +/* The standard InterlockedXXX functions won't take volatiles */ +static inline LONG InterlockedIncrement( volatile LONG * plong ) +{ return InterlockedIncrement( const_cast( plong ) ); } + +static inline LONG InterlockedDecrement( volatile LONG * plong ) +{ return InterlockedDecrement( const_cast( plong ) ); } + +static inline LONG InterlockedExchange( volatile LONG * plong, LONG new_value ) +{ return InterlockedExchange( const_cast( plong ), new_value ); } + +#endif + +/* A function that can create a new COM object */ + +typedef CUnknown *(*LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr); + +/* A function (can be NULL) which is called from the DLL entrypoint + routine for each factory template: + + bLoading - TRUE on DLL load, FALSE on DLL unload + rclsid - the m_ClsID of the entry +*/ +typedef void (*LPFNInitRoutine)(BOOL bLoading, const CLSID *rclsid); + +/* Create one of these per object class in an array so that + the default class factory code can create new instances */ + +class CFactoryTemplate { + +public: + + const WCHAR *m_Name; + const CLSID *m_ClsID; + LPFNNewCOMObject m_lpfnNew; + LPFNInitRoutine m_lpfnInit; + + BOOL IsClassID(REFCLSID rclsid) const { + return (IsEqualCLSID(*m_ClsID,rclsid)); + }; + + CUnknown *CreateInstance(LPUNKNOWN pUnk, HRESULT *phr) const { + return m_lpfnNew(pUnk, phr); + }; +}; + + +/* You must override the (pure virtual) NonDelegatingQueryInterface to return + interface pointers (using GetInterface) to the interfaces your derived + class supports (the default implementation only supports IUnknown) */ + +#define DECLARE_IUNKNOWN \ + STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { \ + return GetOwner()->QueryInterface(riid,ppv); \ + }; \ + STDMETHODIMP_(ULONG) AddRef() { \ + return GetOwner()->AddRef(); \ + }; \ + STDMETHODIMP_(ULONG) Release() { \ + return GetOwner()->Release(); \ + }; + +#endif /* __COMBASE__ */ + + diff --git a/src/hostapi/asio/ASIOSDK/common/debugmessage.cpp b/src/hostapi/asio/ASIOSDK/common/debugmessage.cpp new file mode 100644 index 0000000..2f47926 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/debugmessage.cpp @@ -0,0 +1,14 @@ +#include "asiosys.h" + +#if DEBUG +#if MAC +#include +void DEBUGGERMESSAGE(char *string) +{ + c2pstr(string); + DebugStr((unsigned char *)string); +} +#else +#error debugmessage +#endif +#endif diff --git a/src/hostapi/asio/ASIOSDK/common/dllentry.cpp b/src/hostapi/asio/ASIOSDK/common/dllentry.cpp new file mode 100644 index 0000000..be717d4 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/dllentry.cpp @@ -0,0 +1,323 @@ +//==========================================================================; +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY +// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR +// PURPOSE. +// +// Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved. +// +//--------------------------------------------------------------------------; + +// +// classes used to support dll entrypoints for COM objects. +// +// #include "switches.h" + +#include +#include "wxdebug.h" +#include "combase.h" +#ifdef DEBUG +#include +#endif + +#include + +extern CFactoryTemplate g_Templates[]; +extern int g_cTemplates; + +HINSTANCE hinstance = 0; +DWORD g_amPlatform; // VER_PLATFORM_WIN32_WINDOWS etc... (from GetVersionEx) +OSVERSIONINFO g_osInfo; + +// +// an instance of this is created by the DLLGetClassObject entrypoint +// it uses the CFactoryTemplate object it is given to support the +// IClassFactory interface + +class CClassFactory : public IClassFactory +{ + +private: + const CFactoryTemplate * m_pTemplate; + + ULONG m_cRef; + + static int m_cLocked; +public: + CClassFactory(const CFactoryTemplate *); + + // IUnknown + STDMETHODIMP QueryInterface(REFIID riid, void ** ppv); + STDMETHODIMP_(ULONG)AddRef(); + STDMETHODIMP_(ULONG)Release(); + + // IClassFactory + STDMETHODIMP CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, void **pv); + STDMETHODIMP LockServer(BOOL fLock); + + // allow DLLGetClassObject to know about global server lock status + static BOOL IsLocked() { + return (m_cLocked > 0); + }; +}; + +// process-wide dll locked state +int CClassFactory::m_cLocked = 0; + +CClassFactory::CClassFactory(const CFactoryTemplate *pTemplate) +{ + m_cRef = 0; + m_pTemplate = pTemplate; +} + + +STDMETHODIMP CClassFactory::QueryInterface(REFIID riid,void **ppv) +{ + CheckPointer(ppv,E_POINTER) + ValidateReadWritePtr(ppv,sizeof(PVOID)); + *ppv = NULL; + + // any interface on this object is the object pointer. + if ((riid == IID_IUnknown) || (riid == IID_IClassFactory)) { + *ppv = (LPVOID) this; + // AddRef returned interface pointer + ((LPUNKNOWN) *ppv)->AddRef(); + return NOERROR; + } + + return ResultFromScode(E_NOINTERFACE); +} + + +STDMETHODIMP_(ULONG) CClassFactory::AddRef() +{ + return ++m_cRef; +} + +STDMETHODIMP_(ULONG) CClassFactory::Release() +{ + LONG rc; + + if (--m_cRef == 0) { + delete this; + rc = 0; + } else rc = m_cRef; + + return rc; +} + +STDMETHODIMP CClassFactory::CreateInstance(LPUNKNOWN pUnkOuter,REFIID riid,void **pv) +{ + CheckPointer(pv,E_POINTER) + ValidateReadWritePtr(pv,sizeof(void *)); + + /* Enforce the normal OLE rules regarding interfaces and delegation */ + + if (pUnkOuter != NULL) { + if (IsEqualIID(riid,IID_IUnknown) == FALSE) { + return ResultFromScode(E_NOINTERFACE); + } + } + + /* Create the new object through the derived class's create function */ + + HRESULT hr = NOERROR; + CUnknown *pObj = m_pTemplate->CreateInstance(pUnkOuter, &hr); + + if (pObj == NULL) { + return E_OUTOFMEMORY; + } + + /* Delete the object if we got a construction error */ + + if (FAILED(hr)) { + delete pObj; + return hr; + } + + /* Get a reference counted interface on the object */ + + /* We wrap the non-delegating QI with NDAddRef & NDRelease. */ + /* This protects any outer object from being prematurely */ + /* released by an inner object that may have to be created */ + /* in order to supply the requested interface. */ + pObj->NonDelegatingAddRef(); + hr = pObj->NonDelegatingQueryInterface(riid, pv); + pObj->NonDelegatingRelease(); + /* Note that if NonDelegatingQueryInterface fails, it will */ + /* not increment the ref count, so the NonDelegatingRelease */ + /* will drop the ref back to zero and the object will "self-*/ + /* destruct". Hence we don't need additional tidy-up code */ + /* to cope with NonDelegatingQueryInterface failing. */ + + if (SUCCEEDED(hr)) { + ASSERT(*pv); + } + + return hr; +} + +STDMETHODIMP CClassFactory::LockServer(BOOL fLock) +{ + if (fLock) { + m_cLocked++; + } else { + m_cLocked--; + } + return NOERROR; +} + + +// --- COM entrypoints ----------------------------------------- +// DllRegisterServer + +//called by COM to get the class factory object for a given class +STDAPI DllGetClassObject(REFCLSID rClsID,REFIID riid,void **pv) +{ + // DebugBreak(); + + if (!(riid == IID_IUnknown) && !(riid == IID_IClassFactory)) { + return E_NOINTERFACE; + } + + // traverse the array of templates looking for one with this + // class id + for (int i = 0; i < g_cTemplates; i++) { + const CFactoryTemplate * pT = &g_Templates[i]; + if (pT->IsClassID(rClsID)) { + + // found a template - make a class factory based on this + // template + + *pv = (LPVOID) (LPUNKNOWN) new CClassFactory(pT); + if (*pv == NULL) { + return E_OUTOFMEMORY; + } + ((LPUNKNOWN)*pv)->AddRef(); + return NOERROR; + } + } + return CLASS_E_CLASSNOTAVAILABLE; +} + +// +// Call any initialization routines +// +void DllInitClasses(BOOL bLoading) +{ + int i; + + // DebugBreak(); + + // traverse the array of templates calling the init routine + // if they have one + for (i = 0; i < g_cTemplates; i++) { + const CFactoryTemplate * pT = &g_Templates[i]; + if (pT->m_lpfnInit != NULL) { + (*pT->m_lpfnInit)(bLoading, pT->m_ClsID); + } + } + +} + +// called by COM to determine if this dll can be unloaded +// return ok unless there are outstanding objects or a lock requested +// by IClassFactory::LockServer +// +// CClassFactory has a static function that can tell us about the locks, +// and CCOMObject has a static function that can tell us about the active +// object count +STDAPI DllCanUnloadNow() +{ + // DebugBreak(); + + DbgLog((LOG_MEMORY,2,TEXT("DLLCanUnloadNow called - IsLocked = %d, Active objects = %d"), + CClassFactory::IsLocked(), + CBaseObject::ObjectsActive())); + + if (CClassFactory::IsLocked() || CBaseObject::ObjectsActive()) { + + return S_FALSE; + } + else { + return S_OK; + } +} + + +// --- standard WIN32 entrypoints -------------------------------------- + + +//extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID); +//BOOL WINAPI DllEntryPoint(HINSTANCE hInstance,ULONG ulReason,LPVOID pv) +//BOOL WINAPI DllMain (HINSTANCE hInstance,ULONG ulReason,LPVOID pv) +BOOL WINAPI DllEntryPoint (HINSTANCE hInstance,ULONG ulReason,LPVOID pv) +{ + + // DebugBreak(); + + switch (ulReason) { + + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstance); + DbgInitialise(hInstance); + { + // The platform identifier is used to work out whether + // full unicode support is available or not. Hence the + // default will be the lowest common denominator - i.e. N/A + g_amPlatform = VER_PLATFORM_WIN32_WINDOWS; // win95 assumed in case GetVersionEx fails + + g_osInfo.dwOSVersionInfoSize = sizeof(g_osInfo); + if (GetVersionEx(&g_osInfo)) { + g_amPlatform = g_osInfo.dwPlatformId; + } + else { + DbgLog((LOG_ERROR, 1, "Failed to get the OS platform, assuming Win95")); + } + } + hinstance = hInstance; + DllInitClasses(TRUE); + + break; + + case DLL_PROCESS_DETACH: + DllInitClasses(FALSE); + +#ifdef DEBUG + if (CBaseObject::ObjectsActive()) { + DbgSetModuleLevel(LOG_MEMORY, 2); + TCHAR szInfo[512]; + extern TCHAR m_ModuleName[]; // Cut down module name + + TCHAR FullName[_MAX_PATH]; // Load the full path and module name + TCHAR *pName; // Searches from the end for a backslash + + GetModuleFileName(NULL,FullName,_MAX_PATH); + pName = _tcsrchr(FullName,'\\'); + if (pName == NULL) { + pName = FullName; + } + else { + pName++; + } + + DWORD cch = wsprintf(szInfo, TEXT("Executable: %s Pid %x Tid %x. "), + pName, GetCurrentProcessId(), GetCurrentThreadId()); + + wsprintf(szInfo+cch, TEXT("Module %s, %d objects left active!"), + m_ModuleName, CBaseObject::ObjectsActive()); + DbgAssert(szInfo, TEXT(__FILE__),__LINE__); + + // If running remotely wait for the Assert to be acknowledged + // before dumping out the object register + DbgDumpObjectRegister(); + } + DbgTerminate(); +#endif + break; + } + return TRUE; +} + + diff --git a/src/hostapi/asio/ASIOSDK/common/iasiodrv.h b/src/hostapi/asio/ASIOSDK/common/iasiodrv.h new file mode 100644 index 0000000..1496f0f --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/iasiodrv.h @@ -0,0 +1,37 @@ +#include "asiosys.h" +#include "asio.h" + +/* Forward Declarations */ + +#ifndef __ASIODRIVER_FWD_DEFINED__ +#define __ASIODRIVER_FWD_DEFINED__ +typedef interface IASIO IASIO; +#endif /* __ASIODRIVER_FWD_DEFINED__ */ + +interface IASIO : public IUnknown +{ + + virtual ASIOBool init(void *sysHandle) = 0; + virtual void getDriverName(char *name) = 0; + virtual long getDriverVersion() = 0; + virtual void getErrorMessage(char *string) = 0; + virtual ASIOError start() = 0; + virtual ASIOError stop() = 0; + virtual ASIOError getChannels(long *numInputChannels, long *numOutputChannels) = 0; + virtual ASIOError getLatencies(long *inputLatency, long *outputLatency) = 0; + virtual ASIOError getBufferSize(long *minSize, long *maxSize, + long *preferredSize, long *granularity) = 0; + virtual ASIOError canSampleRate(ASIOSampleRate sampleRate) = 0; + virtual ASIOError getSampleRate(ASIOSampleRate *sampleRate) = 0; + virtual ASIOError setSampleRate(ASIOSampleRate sampleRate) = 0; + virtual ASIOError getClockSources(ASIOClockSource *clocks, long *numSources) = 0; + virtual ASIOError setClockSource(long reference) = 0; + virtual ASIOError getSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) = 0; + virtual ASIOError getChannelInfo(ASIOChannelInfo *info) = 0; + virtual ASIOError createBuffers(ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks) = 0; + virtual ASIOError disposeBuffers() = 0; + virtual ASIOError controlPanel() = 0; + virtual ASIOError future(long selector,void *opt) = 0; + virtual ASIOError outputReady() = 0; +}; diff --git a/src/hostapi/asio/ASIOSDK/common/register.cpp b/src/hostapi/asio/ASIOSDK/common/register.cpp new file mode 100644 index 0000000..8c6cbea --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/register.cpp @@ -0,0 +1,332 @@ +#include +#include + +typedef struct keylist +{ + HKEY mainKey; + HKEY subKey; + char *keyname; + struct keylist *next; +} KEYLIST, *LPKEYLIST; + +#define CLSID_STRING_LEN 100 +#define MAX_PATH_LEN 360 + +#define DEV_ERR_SELFREG -100 +#define ERRSREG_MODULE_NOT_FOUND DEV_ERR_SELFREG-1 +#define ERRSREG_MODPATH_NOT_FOUND DEV_ERR_SELFREG-2 +#define ERRSREG_STRING_FROM_CLSID DEV_ERR_SELFREG-3 +#define ERRSREG_CHAR_TO_MULTIBYTE DEV_ERR_SELFREG-4 + +#define SZREGSTR_DESCRIPTION "Description" +#define SZREGSTR_CLSID "CLSID" +#define SZREGSTR_INPROCSERVER32 "InprocServer32" +#define SZREGSTR_THREADINGMODEL "ThreadingModel" +#define SZREGSTR_SOFTWARE "SOFTWARE" +#define SZREGSTR_ASIO "ASIO" + +LONG RegisterAsioDriver (CLSID,char *,char *,char *,char *); +LONG UnregisterAsioDriver (CLSID,char *,char *); + +static LONG findRegPath (HKEY,char *); +static LONG createRegPath (HKEY,char *,char *); +static LONG createRegStringValue (HKEY,char *,char *,char *); +static LONG getRegString (HKEY,char *,char *,LPVOID,DWORD); +static LPKEYLIST findAllSubKeys (HKEY,HKEY,DWORD,char *,LPKEYLIST); +static LONG deleteRegPath (HKEY,char *,char *); + +static char subkeybuf[MAX_PATH_LEN]; + + +// ------------------------------------------ +// Global Functions +// ------------------------------------------ +LONG RegisterAsioDriver (CLSID clsid,char *szdllname,char *szregname,char *szasiodesc,char *szthreadmodel) +{ + HMODULE hMod; + char szDLLPath[MAX_PATH_LEN]; + char szModuleName[MAX_PATH_LEN]; + char szregpath[MAX_PATH_LEN]; + char szclsid[CLSID_STRING_LEN]; + LPOLESTR wszCLSID = NULL; + BOOL newregentry = FALSE; + LONG rc; + + hMod = GetModuleHandle(szdllname); + if (!hMod) return ERRSREG_MODULE_NOT_FOUND; + szModuleName[0] = 0; + GetModuleFileName(hMod,szModuleName,MAX_PATH_LEN); + if (!szModuleName[0]) return ERRSREG_MODPATH_NOT_FOUND; + CharLower((LPTSTR)szModuleName); + + rc = (LONG)StringFromCLSID(clsid,&wszCLSID); + if (rc != S_OK) return ERRSREG_STRING_FROM_CLSID; + rc = (LONG)WideCharToMultiByte(CP_ACP,0,(LPWSTR)wszCLSID,-1,szclsid,CLSID_STRING_LEN,0,0); + if (!rc) return ERRSREG_CHAR_TO_MULTIBYTE; + + sprintf(szregpath,"%s\\%s",SZREGSTR_CLSID,szclsid); + rc = findRegPath(HKEY_CLASSES_ROOT,szregpath); + if (rc) { + sprintf(szregpath,"%s\\%s\\%s",SZREGSTR_CLSID,szclsid,SZREGSTR_INPROCSERVER32); + getRegString (HKEY_CLASSES_ROOT,szregpath,0,(LPVOID)szDLLPath,MAX_PATH_LEN); + CharLower((LPTSTR)szDLLPath); + rc = (LONG)strcmp(szDLLPath,szModuleName); + if (rc) { + // delete old regentry + sprintf(szregpath,"%s",SZREGSTR_CLSID); + deleteRegPath(HKEY_CLASSES_ROOT,szregpath,szclsid); + newregentry = TRUE; + } + } + else newregentry = TRUE; + + if (newregentry) { + // HKEY_CLASSES_ROOT\CLSID\{...} + sprintf(szregpath,"%s",SZREGSTR_CLSID); + createRegPath (HKEY_CLASSES_ROOT,szregpath,szclsid); + // HKEY_CLASSES_ROOT\CLSID\{...} -> Description + sprintf(szregpath,"%s\\%s",SZREGSTR_CLSID,szclsid); + createRegStringValue(HKEY_CLASSES_ROOT,szregpath,0,szasiodesc); + // HKEY_CLASSES_ROOT\CLSID\InProcServer32 + sprintf(szregpath,"%s\\%s",SZREGSTR_CLSID,szclsid); + createRegPath (HKEY_CLASSES_ROOT,szregpath,SZREGSTR_INPROCSERVER32); + // HKEY_CLASSES_ROOT\CLSID\InProcServer32 -> DLL path + sprintf(szregpath,"%s\\%s\\%s",SZREGSTR_CLSID,szclsid,SZREGSTR_INPROCSERVER32); + createRegStringValue(HKEY_CLASSES_ROOT,szregpath,0,szModuleName); + // HKEY_CLASSES_ROOT\CLSID\InProcServer32 -> ThreadingModel + createRegStringValue(HKEY_CLASSES_ROOT,szregpath,SZREGSTR_THREADINGMODEL,szthreadmodel); + } + + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO + sprintf(szregpath,"%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO); + rc = findRegPath(HKEY_LOCAL_MACHINE,szregpath); + if (rc) { + sprintf(szregpath,"%s\\%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO,szregname); + rc = findRegPath(HKEY_LOCAL_MACHINE,szregpath); + if (rc) { + sprintf(szregpath,"%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO); + deleteRegPath(HKEY_LOCAL_MACHINE,szregpath,szregname); + } + } + else { + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO + sprintf(szregpath,"%s",SZREGSTR_SOFTWARE); + createRegPath (HKEY_LOCAL_MACHINE,szregpath,SZREGSTR_ASIO); + } + + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO\ + sprintf(szregpath,"%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO); + createRegPath (HKEY_LOCAL_MACHINE,szregpath,szregname); + + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO\ -> CLSID + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO\ -> Description + sprintf(szregpath,"%s\\%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO,szregname); + createRegStringValue(HKEY_LOCAL_MACHINE,szregpath,SZREGSTR_CLSID,szclsid); + createRegStringValue(HKEY_LOCAL_MACHINE,szregpath,SZREGSTR_DESCRIPTION,szasiodesc); + + return 0; +} + + +LONG UnregisterAsioDriver (CLSID clsid,char *szdllname,char *szregname) +{ + LONG rc; + HMODULE hMod; + char szregpath[MAX_PATH_LEN]; + char szModuleName[MAX_PATH_LEN]; + char szclsid[CLSID_STRING_LEN]; + LPOLESTR wszCLSID = NULL; + + + hMod = GetModuleHandle(szdllname); + if (!hMod) return ERRSREG_MODULE_NOT_FOUND; + szModuleName[0] = 0; + GetModuleFileName(hMod,szModuleName,MAX_PATH_LEN); + if (!szModuleName[0]) return ERRSREG_MODPATH_NOT_FOUND; + CharLower((LPTSTR)szModuleName); + + rc = (LONG)StringFromCLSID(clsid,&wszCLSID) ; + if (rc != S_OK) return ERRSREG_STRING_FROM_CLSID; + rc = (LONG)WideCharToMultiByte(CP_ACP,0,(LPWSTR)wszCLSID,-1,szclsid,CLSID_STRING_LEN,0,0); + if (!rc) return ERRSREG_CHAR_TO_MULTIBYTE; + + + sprintf(szregpath,"%s\\%s",SZREGSTR_CLSID,szclsid); + rc = findRegPath(HKEY_CLASSES_ROOT,szregpath); + if (rc) { + // delete old regentry + sprintf(szregpath,"%s",SZREGSTR_CLSID); + deleteRegPath(HKEY_CLASSES_ROOT,szregpath,szclsid); + } + + + // HKEY_LOCAL_MACHINE\SOFTWARE\ASIO + sprintf(szregpath,"%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO); + rc = findRegPath(HKEY_LOCAL_MACHINE,szregpath); + if (rc) { + sprintf(szregpath,"%s\\%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO,szregname); + rc = findRegPath(HKEY_LOCAL_MACHINE,szregpath); + if (rc) { + sprintf(szregpath,"%s\\%s",SZREGSTR_SOFTWARE,SZREGSTR_ASIO); + deleteRegPath(HKEY_LOCAL_MACHINE,szregpath,szregname); + } + } + + return 0; +} + + +// ------------------------------------------ +// Local Functions +// ------------------------------------------ +static LONG findRegPath (HKEY mainkey,char *szregpath) +{ + HKEY hkey; + LONG cr,rc = -1; + + if (szregpath) { + if ((cr = RegOpenKey(mainkey,szregpath,&hkey)) == ERROR_SUCCESS) { + RegCloseKey(hkey); + rc = 1; + } + else rc = 0; + } + + return rc; +} + +static LONG createRegPath (HKEY mainkey,char *szregpath,char *sznewpath) +{ + HKEY hkey,hksub; + LONG cr,rc = -1; + char newregpath[MAX_PATH_LEN]; + + sprintf(newregpath,"%s\\%s",szregpath,sznewpath); + if (!(cr = findRegPath(mainkey,newregpath))) { + if ((cr = RegOpenKey(mainkey,szregpath,&hkey)) == ERROR_SUCCESS) { + if ((cr = RegCreateKey(hkey,sznewpath,&hksub)) == ERROR_SUCCESS) { + RegCloseKey(hksub); + rc = 0; + } + RegCloseKey(hkey); + } + } + else if (cr > 0) rc = 0; + + return rc; +} + +static LONG createRegStringValue (HKEY mainkey,char *szregpath,char *valname,char *szvalstr) +{ + LONG cr,rc = -1; + HKEY hkey; + + if (szregpath) { + if ((cr = RegOpenKey(mainkey,szregpath,&hkey)) == ERROR_SUCCESS) { + cr = RegSetValueEx(hkey,(LPCTSTR)valname,0,REG_SZ,(const BYTE *)szvalstr,(DWORD)strlen(szvalstr)); + RegCloseKey(hkey); + if (cr == ERROR_SUCCESS) rc = 0; + } + } + + return rc; +} + + +static LONG getRegString (HKEY mainkey,char *szregpath,char *valname,LPVOID pval,DWORD vsize) +{ + HKEY hkey; + LONG cr,rc = -1; + DWORD hsize,htype; + + if (szregpath) { + if ((cr = RegOpenKey(mainkey,szregpath,&hkey)) == ERROR_SUCCESS) { + cr = RegQueryValueEx(hkey,valname,0,&htype,0,&hsize); + if (cr == ERROR_SUCCESS) { + if (hsize <= vsize) { + cr = RegQueryValueEx(hkey,valname,0,&htype,(LPBYTE)pval,&hsize); + rc = 0; + } + } + RegCloseKey(hkey); + } + } + return rc; +} + +static LPKEYLIST findAllSubKeys (HKEY hkey,HKEY hksub,DWORD index,char *keyname,LPKEYLIST kl) +{ + HKEY hknew = 0; + char *newkey; + LONG cr; + + if (!hksub) { + cr = RegOpenKeyEx(hkey,(LPCTSTR)keyname,0,KEY_ALL_ACCESS,&hknew); + if (cr != ERROR_SUCCESS) return kl; + } + else hknew = hksub; + + cr = RegEnumKey(hknew,index,(LPTSTR)subkeybuf,MAX_PATH_LEN); + if (cr == ERROR_SUCCESS) { + newkey = new char[strlen(subkeybuf)+1]; + strcpy(newkey,subkeybuf); + + kl = findAllSubKeys(hknew,0,0,newkey,kl); + kl = findAllSubKeys(hkey,hknew,index+1,keyname,kl); + + return kl; + + } + + if (!kl->next) { + kl->next = new KEYLIST[1]; + kl = kl->next; + kl->mainKey = hkey; + kl->subKey = hknew; + kl->keyname = keyname; + kl->next = 0; + } + + return kl; +} + +static LONG deleteRegPath (HKEY mainkey,char *szregpath,char *szdelpath) +{ + HKEY hkey; + LONG cr,rc = -1; + KEYLIST klist; + LPKEYLIST pkl,k; + char *keyname = 0; + + if ((cr = RegOpenKey(mainkey,szregpath,&hkey)) == ERROR_SUCCESS) { + + keyname = new char[strlen(szdelpath)+1]; + if (!keyname) { + RegCloseKey(hkey); + return rc; + } + strcpy(keyname,szdelpath); + klist.next = 0; + + findAllSubKeys(hkey,0,0,keyname,&klist); + + if (klist.next) { + pkl = klist.next; + + while (pkl) { + RegCloseKey(pkl->subKey); + cr = RegDeleteKey(pkl->mainKey,pkl->keyname); + delete pkl->keyname; + k = pkl; + pkl = pkl->next; + delete k; + } + rc = 0; + } + + RegCloseKey(hkey); + } + + return rc; +} + diff --git a/src/hostapi/asio/ASIOSDK/common/wxdebug.h b/src/hostapi/asio/ASIOSDK/common/wxdebug.h new file mode 100644 index 0000000..9273eeb --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/common/wxdebug.h @@ -0,0 +1,326 @@ +//==========================================================================; +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY +// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR +// PURPOSE. +// +// Copyright (c) 1992 - 1996 Microsoft Corporation. All Rights Reserved. +// +//--------------------------------------------------------------------------; + +// Debugging facilities, January 1995 + +#ifndef __WXDEBUG__ +#define __WXDEBUG__ + +// Avoid conflict with MFC +#undef ASSERT + +// This library provides fairly straight forward debugging functionality, this +// is split into two main sections. The first is assertion handling, there are +// three types of assertions provided here. The most commonly used one is the +// ASSERT(condition) macro which will pop up a message box including the file +// and line number if the condition evaluates to FALSE. Then there is the +// EXECUTE_ASSERT macro which is the same as ASSERT except the condition will +// still be executed in NON debug builds. The final type of assertion is the +// KASSERT macro which is more suitable for pure (perhaps kernel) filters as +// the condition is printed onto the debugger rather than in a message box. +// +// The other part of the debug module facilties is general purpose logging. +// This is accessed by calling DbgLog(). The function takes a type and level +// field which define the type of informational string you are presenting and +// it's relative importance. The type field can be a combination (one or more) +// of LOG_TIMING, LOG_TRACE, LOG_MEMORY, LOG_LOCKING and LOG_ERROR. The level +// is a DWORD value where zero defines highest important. Use of zero as the +// debug logging level is to be encouraged ONLY for major errors or events as +// they will ALWAYS be displayed on the debugger. Other debug output has it's +// level matched against the current debug output level stored in the registry +// for this module and if less than the current setting it will be displayed. +// +// Each module or executable has it's own debug output level for each of the +// five types. These are read in when the DbgInitialise function is called +// for DLLs linking to STRMBASE.LIB this is done automatically when the DLL +// is loaded, executables must call it explicitely with the module instance +// handle given to them through the WINMAIN entry point. An executable must +// also call DbgTerminate when they have finished to clean up the resources +// the debug library uses, once again this is done automatically for DLLs + +// These are the five different categories of logging information + +enum { LOG_TIMING = 0x01, // Timing and performance measurements + LOG_TRACE = 0x02, // General step point call tracing + LOG_MEMORY = 0x04, // Memory and object allocation/destruction + LOG_LOCKING = 0x08, // Locking/unlocking of critical sections + LOG_ERROR = 0x10 }; // Debug error notification + +enum { CDISP_HEX = 0x01, + CDISP_DEC = 0x02}; + +// For each object created derived from CBaseObject (in debug builds) we +// create a descriptor that holds it's name (statically allocated memory) +// and a cookie we assign it. We keep a list of all the active objects +// we have registered so that we can dump a list of remaining objects + +typedef struct tag_ObjectDesc { + TCHAR *m_pName; + DWORD m_dwCookie; + tag_ObjectDesc *m_pNext; +} ObjectDesc; + +#define DLLIMPORT __declspec(dllimport) +#define DLLEXPORT __declspec(dllexport) + +#ifdef DEBUG + + #define NAME(x) TEXT(x) + + // These are used internally by the debug library (PRIVATE) + + void DbgInitKeyLevels(HKEY hKey); + void DbgInitGlobalSettings(); + void DbgInitModuleSettings(); + void DbgInitModuleName(); + DWORD DbgRegisterObjectCreation(TCHAR *pObjectName); + BOOL DbgRegisterObjectDestruction(DWORD dwCookie); + + // These are the PUBLIC entry points + + BOOL DbgCheckModuleLevel(DWORD Type,DWORD Level); + void DbgSetModuleLevel(DWORD Type,DWORD Level); + + // Initialise the library with the module handle + + void DbgInitialise(HINSTANCE hInst); + void DbgTerminate(); + + void DbgDumpObjectRegister(); + + // Display error and logging to the user + + void DbgAssert(const TCHAR *pCondition,const TCHAR *pFileName,INT iLine); + void DbgBreakPoint(const TCHAR *pCondition,const TCHAR *pFileName,INT iLine); + void DbgKernelAssert(const TCHAR *pCondition,const TCHAR *pFileName,INT iLine); + void DbgLogInfo(DWORD Type,DWORD Level,const TCHAR *pFormat,...); + void DbgOutString(LPCTSTR psz); + + // Debug infinite wait stuff + DWORD DbgWaitForSingleObject(HANDLE h); + DWORD DbgWaitForMultipleObjects(DWORD nCount, + CONST HANDLE *lpHandles, + BOOL bWaitAll); + void DbgSetWaitTimeout(DWORD dwTimeout); + +#ifdef __strmif_h__ + void DisplayType(LPSTR label, const AM_MEDIA_TYPE *pmtIn); +#endif + + #define KASSERT(_x_) if (!(_x_)) \ + DbgKernelAssert(TEXT(#_x_),TEXT(__FILE__),__LINE__) + + // Break on the debugger without putting up a message box + // message goes to debugger instead + + #define KDbgBreak(_x_) \ + DbgKernelAssert(TEXT(#_x_),TEXT(__FILE__),__LINE__) + + #define ASSERT(_x_) if (!(_x_)) \ + DbgAssert(TEXT(#_x_),TEXT(__FILE__),__LINE__) + + // Put up a message box informing the user of a halt + // condition in the program + + #define DbgBreak(_x_) \ + DbgBreakPoint(TEXT(#_x_),TEXT(__FILE__),__LINE__) + + #define EXECUTE_ASSERT(_x_) ASSERT(_x_) + #define DbgLog(_x_) DbgLogInfo _x_ + + // MFC style trace macros + + #define NOTE(_x_) DbgLog((LOG_TRACE,5,TEXT(_x_))); + #define NOTE1(_x_,a) DbgLog((LOG_TRACE,5,TEXT(_x_),a)); + #define NOTE2(_x_,a,b) DbgLog((LOG_TRACE,5,TEXT(_x_),a,b)); + #define NOTE3(_x_,a,b,c) DbgLog((LOG_TRACE,5,TEXT(_x_),a,b,c)); + #define NOTE4(_x_,a,b,c,d) DbgLog((LOG_TRACE,5,TEXT(_x_),a,b,c,d)); + #define NOTE5(_x_,a,b,c,d,e) DbgLog((LOG_TRACE,5,TEXT(_x_),a,b,c,d,e)); + +#else + + // Retail builds make public debug functions inert - WARNING the source + // files do not define or build any of the entry points in debug builds + // (public entry points compile to nothing) so if you go trying to call + // any of the private entry points in your source they won't compile + + #define NAME(_x_) NULL + + #define DbgInitialise(hInst) + #define DbgTerminate() + #define DbgLog(_x_) + #define DbgOutString(psz) + + #define DbgRegisterObjectCreation(pObjectName) + #define DbgRegisterObjectDestruction(dwCookie) + #define DbgDumpObjectRegister() + + #define DbgCheckModuleLevel(Type,Level) + #define DbgSetModuleLevel(Type,Level) + + #define DbgWaitForSingleObject(h) WaitForSingleObject(h, INFINITE) + #define DbgWaitForMultipleObjects(nCount, lpHandles, bWaitAll) \ + WaitForMultipleObjects(nCount, lpHandles, bWaitAll, INFINITE) + #define DbgSetWaitTimeout(dwTimeout) + + #define KDbgBreak(_x_) + #define DbgBreak(_x_) + + #define KASSERT(_x_) + #define ASSERT(_x_) + #define EXECUTE_ASSERT(_x_) _x_ + + // MFC style trace macros + + #define NOTE(_x_) + #define NOTE1(_x_,a) + #define NOTE2(_x_,a,b) + #define NOTE3(_x_,a,b,c) + #define NOTE4(_x_,a,b,c,d) + #define NOTE5(_x_,a,b,c,d,e) + + #define DisplayType(label, pmtIn) + +#endif + + +// Checks a pointer which should be non NULL - can be used as follows. + +#define CheckPointer(p,ret) {if((p)==NULL) return (ret);} + +// HRESULT Foo(VOID *pBar) +// { +// CheckPointer(pBar,E_INVALIDARG) +// } +// +// Or if the function returns a boolean +// +// BOOL Foo(VOID *pBar) +// { +// CheckPointer(pBar,FALSE) +// } + +// These validate pointers when symbol VFWROBUST is defined +// This will normally be defined in debug not retail builds + +#ifdef DEBUG + #define VFWROBUST +#endif + +#ifdef VFWROBUST + + #define ValidateReadPtr(p,cb) \ + {if(IsBadReadPtr((PVOID)p,cb) == TRUE) \ + DbgBreak("Invalid read pointer");} + + #define ValidateWritePtr(p,cb) \ + {if(IsBadWritePtr((PVOID)p,cb) == TRUE) \ + DbgBreak("Invalid write pointer");} + + #define ValidateReadWritePtr(p,cb) \ + {ValidateReadPtr(p,cb) ValidateWritePtr(p,cb)} + + #define ValidateStringPtr(p) \ + {if(IsBadStringPtr((LPCTSTR)p,INFINITE) == TRUE) \ + DbgBreak("Invalid string pointer");} + + #define ValidateStringPtrA(p) \ + {if(IsBadStringPtrA((LPCSTR)p,INFINITE) == TRUE) \ + DbgBreak("Invalid ANSII string pointer");} + + #define ValidateStringPtrW(p) \ + {if(IsBadStringPtrW((LPCWSTR)p,INFINITE) == TRUE) \ + DbgBreak("Invalid UNICODE string pointer");} + +#else + #define ValidateReadPtr(p,cb) + #define ValidateWritePtr(p,cb) + #define ValidateReadWritePtr(p,cb) + #define ValidateStringPtr(p) + #define ValidateStringPtrA(p) + #define ValidateStringPtrW(p) +#endif + + +#ifdef _OBJBASE_H_ + + // Outputting GUID names. If you want to include the name + // associated with a GUID (eg CLSID_...) then + // + // GuidNames[yourGUID] + // + // Returns the name defined in uuids.h as a string + + typedef struct { + TCHAR *szName; + GUID guid; + } GUID_STRING_ENTRY; + + class CGuidNameList { + public: + TCHAR *operator [] (const GUID& guid); + }; + + extern CGuidNameList GuidNames; + +#endif + + +// REMIND macro - generates warning as reminder to complete coding +// (eg) usage: +// +// #pragma message (REMIND("Add automation support")) + + +#define QUOTE(x) #x +#define QQUOTE(y) QUOTE(y) +#define REMIND(str) __FILE__ "(" QQUOTE(__LINE__) ") : " str + + +// Hack to display objects in a useful format +// +// eg If you want to display a LONGLONG ll in a debug string do (eg) +// +// DbgLog((LOG_TRACE, n, TEXT("Value is %s"), (LPCTSTR)CDisp(ll, CDISP_HEX))); + + +class CDispBasic +{ +public: + CDispBasic() { m_pString = m_String; }; + ~CDispBasic(); +protected: + PTCHAR m_pString; // normally points to m_String... unless too much data + TCHAR m_String[50]; +}; +class CDisp : public CDispBasic +{ +public: + CDisp(LONGLONG ll, int Format = CDISP_HEX); // Display a LONGLONG in CDISP_HEX or CDISP_DEC form + CDisp(REFCLSID clsid); // Display a GUID + CDisp(double d); // Display a floating point number +#ifdef __strmif_h__ +#ifdef __STREAMS__ + CDisp(CRefTime t); // Display a Reference Time +#endif + CDisp(IPin *pPin); // Display a pin as {filter clsid}(pin name) +#endif // __strmif_h__ + ~CDisp(); + + // Implement cast to (LPCTSTR) as parameter to logger + operator LPCTSTR() + { + return (LPCTSTR)m_pString; + }; +}; + +#endif // __WXDEBUG__ + diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.def b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.def new file mode 100644 index 0000000..963b98c --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.def @@ -0,0 +1,9 @@ +LIBRARY ASIOSample +DESCRIPTION 'ASIO Sample Driver' +PROTMODE +EXPORTS + DllMain + DllGetClassObject + DllCanUnloadNow + DllRegisterServer + DllUnregisterServer diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.txt b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.txt new file mode 100644 index 0000000..8f28b9b --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample.txt @@ -0,0 +1,23 @@ +Asiosample + +This sample driver illustrates the implementation of an ASIO driver. + + + +Windows notes: + +For Windows a COM implementation is provided. The final driver can be +installed in the system by dragging the asiosample.dll onto the +regsvr32.exe in the windows\system directory. + +It is normal that the LNK4104 warning is issued for the following 4 +exported symbols: + +DllGetClassObject +DllCanUnloadNow +DllRegisterServer +DllUnregisterServer + + +Macintosh notes: +The supplied project is created with CodeWarrior Pro 5. diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.dsp b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.dsp new file mode 100644 index 0000000..f0a0b01 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.dsp @@ -0,0 +1,151 @@ +# Microsoft Developer Studio Project File - Name="asiosample" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=asiosample - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "asiosample.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "asiosample.mak" CFG="asiosample - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "asiosample - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "asiosample - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "asiosample - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\Common" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /machine:I386 + +!ELSEIF "$(CFG)" == "asiosample - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD CPP /nologo /G5 /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\Common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "asiosample - Win32 Release" +# Name "asiosample - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\asiosample.def +# End Source File +# Begin Source File + +SOURCE=..\asiosmpl.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\combase.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\dllentry.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\register.cpp +# End Source File +# Begin Source File + +SOURCE=..\wintimer.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\..\common\asio.h +# End Source File +# Begin Source File + +SOURCE=..\..\Common\Asiodrvr.h +# End Source File +# Begin Source File + +SOURCE=..\asiosmpl.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\asiosys.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\combase.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\common\iasiodrv.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.vcproj b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.vcproj new file mode 100644 index 0000000..9f49594 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosample/asiosample.vcproj @@ -0,0 +1,629 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.cpp b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.cpp new file mode 100644 index 0000000..ca72be7 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.cpp @@ -0,0 +1,660 @@ +/* + Steinberg Audio Stream I/O API + (c) 1996, Steinberg Soft- und Hardware GmbH + charlie (May 1996) + + asiosmpl.cpp + + sample implementation of asio. can be set to simulate input with some + stupid oscillators. + this driver doesn't output sound at all... + timing is done via the extended time manager on the mac, and + a simple thread on pc. + you may test various configurations by changing the kNumInputs/Outputs, + and kBlockFrames. note that when using wave generation, as i/o is not optimized + at all, it moves quite a bit of memory, too many i/o channels may make it + pretty slow. + + if you use this file as a template, make sure to resolve places where the + search string !!! can be found... +*/ + +#include +#include +#include "asiosmpl.h" +//#include "virtape.h" + +//------------------------------------------------------------------------------------------ + +// extern +void getNanoSeconds(ASIOTimeStamp *time); + +// local + +double AsioSamples2double (ASIOSamples* samples); + +static const double twoRaisedTo32 = 4294967296.; +static const double twoRaisedTo32Reciprocal = 1. / twoRaisedTo32; + +//------------------------------------------------------------------------------------------ +// on windows, we do the COM stuff. + +#if WINDOWS +#include "windows.h" +#include "mmsystem.h" + +// class id. !!! NOTE: !!! you will obviously have to create your own class id! +// {188135E1-D565-11d2-854F-00A0C99F5D19} +CLSID IID_ASIO_DRIVER = { 0x188135e1, 0xd565, 0x11d2, { 0x85, 0x4f, 0x0, 0xa0, 0xc9, 0x9f, 0x5d, 0x19 } }; + +CFactoryTemplate g_Templates[1] = { + {L"ASIOSAMPLE", &IID_ASIO_DRIVER, AsioSample::CreateInstance} +}; +int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]); + +CUnknown* AsioSample::CreateInstance (LPUNKNOWN pUnk, HRESULT *phr) +{ + return (CUnknown*)new AsioSample (pUnk,phr); +}; + +STDMETHODIMP AsioSample::NonDelegatingQueryInterface (REFIID riid, void ** ppv) +{ + if (riid == IID_ASIO_DRIVER) + { + return GetInterface (this, ppv); + } + return CUnknown::NonDelegatingQueryInterface (riid, ppv); +} + +// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// Register ASIO Driver +// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +extern LONG RegisterAsioDriver (CLSID,char *,char *,char *,char *); +extern LONG UnregisterAsioDriver (CLSID,char *,char *); + +// +// Server registration, called on REGSVR32.EXE "the dllname.dll" +// +HRESULT _stdcall DllRegisterServer() +{ + LONG rc; + char errstr[128]; + + rc = RegisterAsioDriver (IID_ASIO_DRIVER,"ASIOSample.dll","ASIO Sample Driver","ASIO Sample","Apartment"); + + if (rc) { + memset(errstr,0,128); + sprintf(errstr,"Register Server failed ! (%d)",rc); + MessageBox(0,(LPCTSTR)errstr,(LPCTSTR)"ASIO sample Driver",MB_OK); + return -1; + } + + return S_OK; +} + +// +// Server unregistration +// +HRESULT _stdcall DllUnregisterServer() +{ + LONG rc; + char errstr[128]; + + rc = UnregisterAsioDriver (IID_ASIO_DRIVER,"ASIOSample.dll","ASIO Sample Driver"); + + if (rc) { + memset(errstr,0,128); + sprintf(errstr,"Unregister Server failed ! (%d)",rc); + MessageBox(0,(LPCTSTR)errstr,(LPCTSTR)"ASIO Korg1212 I/O Driver",MB_OK); + return -1; + } + + return S_OK; +} + +//------------------------------------------------------------------------------------------ +//------------------------------------------------------------------------------------------ +AsioSample::AsioSample (LPUNKNOWN pUnk, HRESULT *phr) + : CUnknown("ASIOSAMPLE", pUnk, phr) + +//------------------------------------------------------------------------------------------ + +#else + +// when not on windows, we derive from AsioDriver +AsioSample::AsioSample () : AsioDriver () + +#endif +{ + long i; + + blockFrames = kBlockFrames; + inputLatency = blockFrames; // typically + outputLatency = blockFrames * 2; + // typically blockFrames * 2; try to get 1 by offering direct buffer + // access, and using asioPostOutput for lower latency + samplePosition = 0; + sampleRate = 44100.; + milliSeconds = (long)((double)(kBlockFrames * 1000) / sampleRate); + active = false; + started = false; + timeInfoMode = false; + tcRead = false; + for (i = 0; i < kNumInputs; i++) + { + inputBuffers[i] = 0; + inMap[i] = 0; + } +#if TESTWAVES + sawTooth = sineWave = 0; +#endif + for (i = 0; i < kNumOutputs; i++) + { + outputBuffers[i] = 0; + outMap[i] = 0; + } + callbacks = 0; + activeInputs = activeOutputs = 0; + toggle = 0; +} + +//------------------------------------------------------------------------------------------ +AsioSample::~AsioSample () +{ + stop (); + outputClose (); + inputClose (); + disposeBuffers (); +} + +//------------------------------------------------------------------------------------------ +void AsioSample::getDriverName (char *name) +{ + strcpy (name, "Sample ASIO"); +} + +//------------------------------------------------------------------------------------------ +long AsioSample::getDriverVersion () +{ + return 0x00000001L; +} + +//------------------------------------------------------------------------------------------ +void AsioSample::getErrorMessage (char *string) +{ + strcpy (string, errorMessage); +} + +//------------------------------------------------------------------------------------------ +ASIOBool AsioSample::init (void* sysRef) +{ + sysRef = sysRef; + if (active) + return true; + strcpy (errorMessage, "ASIO Driver open Failure!"); + if (inputOpen ()) + { + if (outputOpen ()) + { + active = true; + return true; + } + } + timerOff (); // de-activate 'hardware' + + outputClose (); + inputClose (); + return false; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::start () +{ + if (callbacks) + { + started = false; + samplePosition = 0; + theSystemTime.lo = theSystemTime.hi = 0; + toggle = 0; + + timerOn (); // activate 'hardware' + started = true; + + return ASE_OK; + } + return ASE_NotPresent; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::stop () +{ + started = false; + timerOff (); // de-activate 'hardware' + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getChannels (long *numInputChannels, long *numOutputChannels) +{ + *numInputChannels = kNumInputs; + *numOutputChannels = kNumOutputs; + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getLatencies (long *_inputLatency, long *_outputLatency) +{ + *_inputLatency = inputLatency; + *_outputLatency = outputLatency; + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getBufferSize (long *minSize, long *maxSize, + long *preferredSize, long *granularity) +{ + *minSize = *maxSize = *preferredSize = blockFrames; // allow this size only + *granularity = 0; + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::canSampleRate (ASIOSampleRate sampleRate) +{ + if (sampleRate == 44100. || sampleRate == 48000.) // allow these rates only + return ASE_OK; + return ASE_NoClock; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getSampleRate (ASIOSampleRate *sampleRate) +{ + *sampleRate = this->sampleRate; + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::setSampleRate (ASIOSampleRate sampleRate) +{ + if (sampleRate != 44100. && sampleRate != 48000.) + return ASE_NoClock; + if (sampleRate != this->sampleRate) + { + this->sampleRate = sampleRate; + asioTime.timeInfo.sampleRate = sampleRate; + asioTime.timeInfo.flags |= kSampleRateChanged; + milliSeconds = (long)((double)(kBlockFrames * 1000) / this->sampleRate); + if (callbacks && callbacks->sampleRateDidChange) + callbacks->sampleRateDidChange (this->sampleRate); + } + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getClockSources (ASIOClockSource *clocks, long *numSources) +{ + // internal + clocks->index = 0; + clocks->associatedChannel = -1; + clocks->associatedGroup = -1; + clocks->isCurrentSource = ASIOTrue; + strcpy(clocks->name, "Internal"); + *numSources = 1; + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::setClockSource (long index) +{ + if (!index) + { + asioTime.timeInfo.flags |= kClockSourceChanged; + return ASE_OK; + } + return ASE_NotPresent; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getSamplePosition (ASIOSamples *sPos, ASIOTimeStamp *tStamp) +{ + tStamp->lo = theSystemTime.lo; + tStamp->hi = theSystemTime.hi; + if (samplePosition >= twoRaisedTo32) + { + sPos->hi = (unsigned long)(samplePosition * twoRaisedTo32Reciprocal); + sPos->lo = (unsigned long)(samplePosition - (sPos->hi * twoRaisedTo32)); + } + else + { + sPos->hi = 0; + sPos->lo = (unsigned long)samplePosition; + } + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::getChannelInfo (ASIOChannelInfo *info) +{ + if (info->channel < 0 || (info->isInput ? info->channel >= kNumInputs : info->channel >= kNumOutputs)) + return ASE_InvalidParameter; +#if WINDOWS + info->type = ASIOSTInt16LSB; +#else + info->type = ASIOSTInt16MSB; +#endif + info->channelGroup = 0; + info->isActive = ASIOFalse; + long i; + if (info->isInput) + { + for (i = 0; i < activeInputs; i++) + { + if (inMap[i] == info->channel) + { + info->isActive = ASIOTrue; + break; + } + } + } + else + { + for (i = 0; i < activeOutputs; i++) + { + if (outMap[i] == info->channel) + { + info->isActive = ASIOTrue; + break; + } + } + } + strcpy(info->name, "Sample "); + return ASE_OK; +} + +//------------------------------------------------------------------------------------------ +ASIOError AsioSample::createBuffers (ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks) +{ + ASIOBufferInfo *info = bufferInfos; + long i; + bool notEnoughMem = false; + + activeInputs = 0; + activeOutputs = 0; + blockFrames = bufferSize; + for (i = 0; i < numChannels; i++, info++) + { + if (info->isInput) + { + if (info->channelNum < 0 || info->channelNum >= kNumInputs) + goto error; + inMap[activeInputs] = info->channelNum; + inputBuffers[activeInputs] = new short[blockFrames * 2]; // double buffer + if (inputBuffers[activeInputs]) + { + info->buffers[0] = inputBuffers[activeInputs]; + info->buffers[1] = inputBuffers[activeInputs] + blockFrames; + } + else + { + info->buffers[0] = info->buffers[1] = 0; + notEnoughMem = true; + } + activeInputs++; + if (activeInputs > kNumInputs) + { +error: + disposeBuffers(); + return ASE_InvalidParameter; + } + } + else // output + { + if (info->channelNum < 0 || info->channelNum >= kNumOutputs) + goto error; + outMap[activeOutputs] = info->channelNum; + outputBuffers[activeOutputs] = new short[blockFrames * 2]; // double buffer + if (outputBuffers[activeOutputs]) + { + info->buffers[0] = outputBuffers[activeOutputs]; + info->buffers[1] = outputBuffers[activeOutputs] + blockFrames; + } + else + { + info->buffers[0] = info->buffers[1] = 0; + notEnoughMem = true; + } + activeOutputs++; + if (activeOutputs > kNumOutputs) + { + activeOutputs--; + disposeBuffers(); + return ASE_InvalidParameter; + } + } + } + if (notEnoughMem) + { + disposeBuffers(); + return ASE_NoMemory; + } + + this->callbacks = callbacks; + if (callbacks->asioMessage (kAsioSupportsTimeInfo, 0, 0, 0)) + { + timeInfoMode = true; + asioTime.timeInfo.speed = 1.; + asioTime.timeInfo.systemTime.hi = asioTime.timeInfo.systemTime.lo = 0; + asioTime.timeInfo.samplePosition.hi = asioTime.timeInfo.samplePosition.lo = 0; + asioTime.timeInfo.sampleRate = sampleRate; + asioTime.timeInfo.flags = kSystemTimeValid | kSamplePositionValid | kSampleRateValid; + + asioTime.timeCode.speed = 1.; + asioTime.timeCode.timeCodeSamples.lo = asioTime.timeCode.timeCodeSamples.hi = 0; + asioTime.timeCode.flags = kTcValid | kTcRunning ; + } + else + timeInfoMode = false; + return ASE_OK; +} + +//--------------------------------------------------------------------------------------------- +ASIOError AsioSample::disposeBuffers() +{ + long i; + + callbacks = 0; + stop(); + for (i = 0; i < activeInputs; i++) + delete inputBuffers[i]; + activeInputs = 0; + for (i = 0; i < activeOutputs; i++) + delete outputBuffers[i]; + activeOutputs = 0; + return ASE_OK; +} + +//--------------------------------------------------------------------------------------------- +ASIOError AsioSample::controlPanel() +{ + return ASE_NotPresent; +} + +//--------------------------------------------------------------------------------------------- +ASIOError AsioSample::future (long selector, void* opt) // !!! check properties +{ + ASIOTransportParameters* tp = (ASIOTransportParameters*)opt; + switch (selector) + { + case kAsioEnableTimeCodeRead: tcRead = true; return ASE_SUCCESS; + case kAsioDisableTimeCodeRead: tcRead = false; return ASE_SUCCESS; + case kAsioSetInputMonitor: return ASE_SUCCESS; // for testing!!! + case kAsioCanInputMonitor: return ASE_SUCCESS; // for testing!!! + case kAsioCanTimeInfo: return ASE_SUCCESS; + case kAsioCanTimeCode: return ASE_SUCCESS; + } + return ASE_NotPresent; +} + +//-------------------------------------------------------------------------------------------------------- +// private methods +//-------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------------- +// input +//-------------------------------------------------------------------------------------------------------- + +//--------------------------------------------------------------------------------------------- +bool AsioSample::inputOpen () +{ +#if TESTWAVES + sineWave = new short[blockFrames]; + if (!sineWave) + { + strcpy (errorMessage, "ASIO Sample Driver: Out of Memory!"); + return false; + } + makeSine (sineWave); + + sawTooth = new short[blockFrames]; + if (!sawTooth) + { + strcpy(errorMessage, "ASIO Sample Driver: Out of Memory!"); + return false; + } + makeSaw(sawTooth); +#endif + return true; +} + +#if TESTWAVES + +#include + +const double pi = 0.3141592654; + +//--------------------------------------------------------------------------------------------- +void AsioSample::makeSine (short *wave) +{ + double frames = (double)blockFrames; + double i, f = (pi * 2.) / frames; + + for (i = 0; i < frames; i++) + *wave++ = (short)((double)0x7fff * sin(f * i)); +} + +//--------------------------------------------------------------------------------------------- +void AsioSample::makeSaw(short *wave) +{ + double frames = (double)blockFrames; + double i, f = 2. / frames; + + for (i = 0; i < frames; i++) + *wave++ = (short)((double)0x7fff * (-1. + f * i)); +} +#endif + +//--------------------------------------------------------------------------------------------- +void AsioSample::inputClose () +{ +#if TESTWAVES + if (sineWave) + delete sineWave; + sineWave = 0; + if (sawTooth) + delete sawTooth; + sawTooth = 0; +#endif +} + +//--------------------------------------------------------------------------------------------- +void AsioSample::input() +{ +#if TESTWAVES + long i; + short *in = 0; + + for (i = 0; i < activeInputs; i++) + { + in = inputBuffers[i]; + if (in) + { + if (toggle) + in += blockFrames; + if ((i & 1) && sawTooth) + memcpy(in, sawTooth, (unsigned long)(blockFrames * 2)); + else if (sineWave) + memcpy(in, sineWave, (unsigned long)(blockFrames * 2)); + } + } +#endif +} + +//------------------------------------------------------------------------------------------------------------------ +// output +//------------------------------------------------------------------------------------------------------------------ + +//--------------------------------------------------------------------------------------------- +bool AsioSample::outputOpen() +{ + return true; +} + +//--------------------------------------------------------------------------------------------- +void AsioSample::outputClose () +{ +} + +//--------------------------------------------------------------------------------------------- +void AsioSample::output () +{ +} + +//--------------------------------------------------------------------------------------------- +void AsioSample::bufferSwitch () +{ + if (started && callbacks) + { + getNanoSeconds(&theSystemTime); // latch system time + input(); + output(); + samplePosition += blockFrames; + if (timeInfoMode) + bufferSwitchX (); + else + callbacks->bufferSwitch (toggle, ASIOFalse); + toggle = toggle ? 0 : 1; + } +} + +//--------------------------------------------------------------------------------------------- +// asio2 buffer switch +void AsioSample::bufferSwitchX () +{ + getSamplePosition (&asioTime.timeInfo.samplePosition, &asioTime.timeInfo.systemTime); + long offset = toggle ? blockFrames : 0; + if (tcRead) + { // Create a fake time code, which is 10 minutes ahead of the card's sample position + // Please note that for simplicity here time code will wrap after 32 bit are reached + asioTime.timeCode.timeCodeSamples.lo = asioTime.timeInfo.samplePosition.lo + 600.0 * sampleRate; + asioTime.timeCode.timeCodeSamples.hi = 0; + } + callbacks->bufferSwitchTimeInfo (&asioTime, toggle, ASIOFalse); + asioTime.timeInfo.flags &= ~(kSampleRateChanged | kClockSourceChanged); +} + +//--------------------------------------------------------------------------------------------- +ASIOError AsioSample::outputReady () +{ + return ASE_NotPresent; +} + +//--------------------------------------------------------------------------------------------- +double AsioSamples2double (ASIOSamples* samples) +{ + double a = (double)(samples->lo); + if (samples->hi) + a += (double)(samples->hi) * twoRaisedTo32; + return a; +} + diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.h b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.h new file mode 100644 index 0000000..8316f12 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/asiosmpl.h @@ -0,0 +1,148 @@ +/* + Steinberg Audio Stream I/O API + (c) 1999, Steinberg Soft- und Hardware GmbH + + asiosmpl.h + + test implementation of asio +*/ + +#ifndef _asiosmpl_ +#define _asiosmpl_ + +#include "asiosys.h" + +#define TESTWAVES 1 +// when true, will feed the left input (to host) with +// a sine wave, and the right one with a sawtooth + +enum +{ + kBlockFrames = 256, + kNumInputs = 16, + kNumOutputs = 16 +}; + +#if WINDOWS + +#include "rpc.h" +#include "rpcndr.h" +#ifndef COM_NO_WINDOWS_H +#include +#include "ole2.h" +#endif + +#include "combase.h" +#include "iasiodrv.h" + +class AsioSample : public IASIO, public CUnknown +{ +public: + AsioSample(LPUNKNOWN pUnk, HRESULT *phr); + ~AsioSample(); + + DECLARE_IUNKNOWN + //STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { \ + // return GetOwner()->QueryInterface(riid,ppv); \ + //}; \ + //STDMETHODIMP_(ULONG) AddRef() { \ + // return GetOwner()->AddRef(); \ + //}; \ + //STDMETHODIMP_(ULONG) Release() { \ + // return GetOwner()->Release(); \ + //}; + + // Factory method + static CUnknown *CreateInstance(LPUNKNOWN pUnk, HRESULT *phr); + // IUnknown + virtual HRESULT STDMETHODCALLTYPE NonDelegatingQueryInterface(REFIID riid,void **ppvObject); +#else + +#include "asiodrvr.h" + +//--------------------------------------------------------------------------------------------- +class AsioSample : public AsioDriver +{ +public: + AsioSample (); + ~AsioSample (); +#endif + + ASIOBool init (void* sysRef); + void getDriverName (char *name); // max 32 bytes incl. terminating zero + long getDriverVersion (); + void getErrorMessage (char *string); // max 128 bytes incl. + + ASIOError start (); + ASIOError stop (); + + ASIOError getChannels (long *numInputChannels, long *numOutputChannels); + ASIOError getLatencies (long *inputLatency, long *outputLatency); + ASIOError getBufferSize (long *minSize, long *maxSize, + long *preferredSize, long *granularity); + + ASIOError canSampleRate (ASIOSampleRate sampleRate); + ASIOError getSampleRate (ASIOSampleRate *sampleRate); + ASIOError setSampleRate (ASIOSampleRate sampleRate); + ASIOError getClockSources (ASIOClockSource *clocks, long *numSources); + ASIOError setClockSource (long index); + + ASIOError getSamplePosition (ASIOSamples *sPos, ASIOTimeStamp *tStamp); + ASIOError getChannelInfo (ASIOChannelInfo *info); + + ASIOError createBuffers (ASIOBufferInfo *bufferInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks); + ASIOError disposeBuffers (); + + ASIOError controlPanel (); + ASIOError future (long selector, void *opt); + ASIOError outputReady (); + + void bufferSwitch (); + long getMilliSeconds () {return milliSeconds;} + +private: +friend void myTimer(); + + bool inputOpen (); +#if TESTWAVES + void makeSine (short *wave); + void makeSaw (short *wave); +#endif + void inputClose (); + void input (); + + bool outputOpen (); + void outputClose (); + void output (); + + void timerOn (); + void timerOff (); + void bufferSwitchX (); + + double samplePosition; + double sampleRate; + ASIOCallbacks *callbacks; + ASIOTime asioTime; + ASIOTimeStamp theSystemTime; + short *inputBuffers[kNumInputs * 2]; + short *outputBuffers[kNumOutputs * 2]; +#if TESTWAVES + short *sineWave, *sawTooth; +#endif + long inMap[kNumInputs]; + long outMap[kNumOutputs]; + long blockFrames; + long inputLatency; + long outputLatency; + long activeInputs; + long activeOutputs; + long toggle; + long milliSeconds; + bool active, started; + bool timeInfoMode, tcRead; + char errorMessage[128]; +}; + +#endif + diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/macnanosecs.cpp b/src/hostapi/asio/ASIOSDK/driver/asiosample/macnanosecs.cpp new file mode 100644 index 0000000..3a46fb2 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/macnanosecs.cpp @@ -0,0 +1,15 @@ +#include "asio.h" +#include + +void getNanoSeconds(ASIOTimeStamp *time); + +static const double twoRaisedTo32 = 4294967296.; + +void getNanoSeconds(ASIOTimeStamp *time) +{ + UnsignedWide ys; + Microseconds(&ys); + double r = 1000. * ((double)ys.hi * twoRaisedTo32 + (double)ys.lo); + time->hi = (unsigned long)(r / twoRaisedTo32); + time->lo = (unsigned long)(r - (double)time->hi * twoRaisedTo32); +} diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/mactimer.cpp b/src/hostapi/asio/ASIOSDK/driver/asiosample/mactimer.cpp new file mode 100644 index 0000000..1f0008b --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/mactimer.cpp @@ -0,0 +1,52 @@ +/* + Steinberg Audio Stream I/O API + (c) 1996, Steinberg Soft- und Hardware GmbH + charlie (May 1996) + + asiosmpl.cpp + + sample implementation of asio. + time manager irq + **** mac os specific **** +*/ + +#include +#include +#include +#include "asiosmpl.h" + +static TMTask myTmTask; +static bool tmTaskOn = false; +static AsioSample *theSound = 0; + +void myTimer(); +void myTimer() +{ + if(theSound) + theSound->bufferSwitch(); + PrimeTime((QElemPtr)&myTmTask, theSound->milliSeconds); +} + +void AsioSample::timerOn() +{ + theSound = this; // for irq + if(!tmTaskOn) + { + memset(&myTmTask, 0, sizeof(TMTask)); + myTmTask.tmAddr = NewTimerProc(myTimer); + myTmTask.tmWakeUp = 0; + tmTaskOn = true; + InsXTime((QElemPtr)&myTmTask); + PrimeTime((QElemPtr)&myTmTask, theSound->milliSeconds); + } +} + +void AsioSample::timerOff() +{ + if(tmTaskOn) + { + RmvTime((QElemPtr)&myTmTask); + tmTaskOn = false; + } + theSound = 0; +} diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/makesamp.cpp b/src/hostapi/asio/ASIOSDK/driver/asiosample/makesamp.cpp new file mode 100644 index 0000000..25a2f41 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/makesamp.cpp @@ -0,0 +1,6 @@ +#include "asiosmpl.h" + +AsioDriver *getDriver() +{ + return new AsioSample(); +} diff --git a/src/hostapi/asio/ASIOSDK/driver/asiosample/wintimer.cpp b/src/hostapi/asio/ASIOSDK/driver/asiosample/wintimer.cpp new file mode 100644 index 0000000..c861bb3 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/driver/asiosample/wintimer.cpp @@ -0,0 +1,55 @@ +#include +#include "asiosmpl.h" + +static DWORD __stdcall ASIOThread (void *param); +static HANDLE ASIOThreadHandle = 0; +static bool done = false; +const double twoRaisedTo32 = 4294967296.; + +AsioSample* theDriver = 0; + +//------------------------------------------------------------------------------------------ +void getNanoSeconds (ASIOTimeStamp* ts) +{ + double nanoSeconds = (double)((unsigned long)timeGetTime ()) * 1000000.; + ts->hi = (unsigned long)(nanoSeconds / twoRaisedTo32); + ts->lo = (unsigned long)(nanoSeconds - (ts->hi * twoRaisedTo32)); +} + +//------------------------------------------------------------------------------------------ +void AsioSample::timerOn () +{ + theDriver = this; + DWORD asioId; + done = false; + ASIOThreadHandle = CreateThread (0, 0, &ASIOThread, 0, 0, &asioId); +} + +//------------------------------------------------------------------------------------------ +void AsioSample::timerOff () +{ + done = true; + if (ASIOThreadHandle) + WaitForSingleObject(ASIOThreadHandle, 1000); + ASIOThreadHandle = 0; +} + +//------------------------------------------------------------------------------------------ +static DWORD __stdcall ASIOThread (void *param) +{ + do + { + if (theDriver) + { + theDriver->bufferSwitch (); + Sleep (theDriver->getMilliSeconds ()); + } + else + { + double a = 1000. / 44100.; + Sleep ((long)(a * (double)kBlockFrames)); + + } + } while (!done); + return 0; +} diff --git a/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.cpp b/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.cpp new file mode 100644 index 0000000..16e441e --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.cpp @@ -0,0 +1,859 @@ +#include "ginclude.h" +#include "ASIOConvertSamples.h" +#include + +#if MAC +#define TRUNCATE 0 + +#elif ASIO_CPU_X86 || ASIO_CPU_SPARC || ASIO_CPU_MIPS +#define TRUNCATE 1 +#undef MAXFLOAT +#define MAXFLOAT 0x7fffff00L +#endif + +ASIOConvertSamples::ASIOConvertSamples() +{ +} + + +//------------------------------------------------------------------------------------------- +// mono + +void ASIOConvertSamples::convertMono8Unsigned(long *source, char *dest, long frames) +{ + unsigned char *c = (unsigned char *)source; + unsigned char a; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = c[3]; +#else + a = c[0]; +#endif + c += 4; + a -= 0x80U; + *++dest = a; + } +} + +void ASIOConvertSamples::convertMono8(long *source, char *dest, long frames) +{ + char *c = (char *)source; + char a; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = c[3]; +#else + a = c[0]; +#endif + c += 4; + *++dest = a; + } +} + +void ASIOConvertSamples::convertMono16(long *source, short *dest, long frames) +{ +#if ASIO_LITTLE_ENDIAN + char* s = (char*)source; + char* d = (char*)dest; + while(--frames >= 0) + { + *d++ = s[3]; // dest big endian, msb first + *d++ = s[2]; + s += 4; + } +#else + long l; + + source--; + dest--; + while(--frames >= 0) + { + l = *++source; + *++dest = (short)(l >> 16); + } +#endif +} + +void ASIOConvertSamples::convertMono24(long *source, char *dest, long frames) +{ + // work with chars in order to prevent misalignments + char *s = (char *)source; + char a, b, c; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = s[3]; // msb + b = s[2]; + c = s[1]; // lsb +#else + a = s[0]; + b = s[1]; + c = s[2]; +#endif + s += 4; + *++dest = a; // big endian, msb first + *++dest = b; + *++dest = c; + } +} + +// small endian + +void ASIOConvertSamples::convertMono16SmallEndian(long *source, short *dest, long frames) +{ + char *s = (char *)source; + char *d = (char *)dest; + char a, b; + + d--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = s[3]; + b = s[2]; +#else + a = s[0]; + b = s[1]; +#endif + s += 4; + *++d = b; // dest small endian, lsb first + *++d = a; + } +} + +void ASIOConvertSamples::convertMono24SmallEndian(long *source, char *dest, long frames) +{ + // work with chars in order to prevent misalignments + char *s = (char *)source; + char a, b, c; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = s[3]; + b = s[2]; + c = s[1]; +#else + a = s[0]; + b = s[1]; + c = s[2]; +#endif + s += 4; + *++dest = c; // lsb first + *++dest = b; + *++dest = a; + } +} + + +//------------------------------------------------------------------------------------------- +// stereo interleaved + +void ASIOConvertSamples::convertStereo8InterleavedUnsigned(long *left, long *right, char *dest, long frames) +{ + unsigned char *cl = (unsigned char *)left; + unsigned char *cr = (unsigned char *)right; + unsigned char a, b; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = cl[3]; + b = cr[3]; +#else + a = cl[0]; + b = cr[0]; +#endif + cl += 4; + cr += 4; + a -= 0x80U; + b -= 0x80U; + *++dest = a; + *++dest = b; + } +} + +void ASIOConvertSamples::convertStereo8Interleaved(long *left, long *right, char *dest, long frames) +{ + unsigned char *cl = (unsigned char *)left; + unsigned char *cr = (unsigned char *)right; + unsigned char a, b; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = cl[3]; + b = cr[3]; +#else + a = cl[0]; + b = cr[0]; +#endif + cl += 4; + cr += 4; + *++dest = a; + *++dest = b; + } +} + +void ASIOConvertSamples::convertStereo16Interleaved(long *left, long *right, short *dest, long frames) +{ +#if ASIO_LITTLE_ENDIAN + char* sl = (char*)left; + char* sr = (char*)right; + char* d = (char*)dest; + while(--frames >= 0) + { + *d++ = sl[3]; // msb first + *d++ = sl[2]; + *d++ = sr[3]; + *d++ = sr[2]; + sl += 4; + sr += 4; + } +#else + long l, r; + + left--; + right--; + dest--; + while(--frames >= 0) + { + l = *++left; + r = *++right; + *++dest = (short)(l >> 16); + *++dest = (short)(r >> 16); + } +#endif +} + +void ASIOConvertSamples::convertStereo24Interleaved(long *left, long *right, char *dest, long frames) +{ + // work with chars in order to prevent misalignments + char *sl = (char *)left; + char *sr = (char *)right; + char al, bl, cl, ar, br, cr; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + cl = sl[1]; + ar = sr[3]; + br = sr[2]; + cr = sr[1]; +#else + al = sl[0]; + bl = sl[1]; + cl = sl[2]; + ar = sr[0]; + br = sr[1]; + cr = sr[2]; +#endif + sl += 4; + sr += 4; + *++dest = al; + *++dest = bl; + *++dest = cl; + *++dest = ar; + *++dest = br; + *++dest = cr; + } +} + +void ASIOConvertSamples::convertStereo16InterleavedSmallEndian(long *left, long *right, short *dest, long frames) +{ + char *sl = (char *)left; + char *sr = (char *)right; + char *d = (char *)dest; + char al, bl, ar, br; + + d--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + ar = sr[3]; + br = sr[2]; +#else + al = sl[0]; + bl = sl[1]; + ar = sr[0]; + br = sr[1]; +#endif + sl += 4; + sr += 4; + *++d = bl; // lsb first + *++d = al; + *++d = br; + *++d = ar; + } +} + +void ASIOConvertSamples::convertStereo24InterleavedSmallEndian(long *left, long *right, char *dest, long frames) +{ + // work with chars in order to prevent misalignments + char *sl = (char *)left; + char *sr = (char *)right; + char al, bl, cl, ar, br, cr; + + dest--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + cl = sl[1]; + ar = sr[3]; + br = sr[2]; + cr = sr[1]; +#else + al = sl[0]; + bl = sl[1]; + cl = sl[2]; + ar = sr[0]; + br = sr[1]; + cr = sr[2]; +#endif + sl += 4; + sr += 4; + *++dest = cl; + *++dest = bl; + *++dest = al; + *++dest = cr; + *++dest = br; + *++dest = ar; + } +} + + +//------------------------------------------------------------------------------------------- +// stereo split + +void ASIOConvertSamples::convertStereo8Unsigned(long *left, long *right, char *dLeft, char *dRight, long frames) +{ + unsigned char *cl = (unsigned char *)left; + unsigned char *cr = (unsigned char *)right; + unsigned char a, b; + + dLeft--; + dRight--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = cl[3]; + b = cr[3]; +#else + a = cl[0]; + b = cr[0]; +#endif + cl += 4; + cr += 4; + a -= 0x80U; + b -= 0x80U; + *++dLeft = a; + *++dRight = b; + } +} + +void ASIOConvertSamples::convertStereo8(long *left, long *right, char *dLeft, char *dRight, long frames) +{ + unsigned char *cl = (unsigned char *)left; + unsigned char *cr = (unsigned char *)right; + unsigned char a, b; + + dLeft--; + dRight--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = cl[3]; + b = cr[3]; +#else + a = cl[0]; + b = cr[0]; +#endif + cl += 4; + cr += 4; + *++dLeft = a; + *++dRight = b; + } +} + +void ASIOConvertSamples::convertStereo16(long *left, long *right, short *dLeft, short *dRight, long frames) +{ +#if ASIO_LITTLE_ENDIAN + char* sl = (char*)left; + char* sr = (char*)right; + char* dl = (char*)dLeft; + char* dr = (char*)dRight; + while(--frames >= 0) + { + *dl++ = sl[3]; // msb first + *dl++ = sl[2]; + *dr++ = sr[3]; + *dr++ = sr[2]; + sl += 4; + sr += 4; + } +#else + long l, r; + + left--; + right--; + dLeft--; + dRight--; + while(--frames >= 0) + { + l = *++left; + r = *++right; + *++dLeft = (short)(l >> 16); + *++dRight = (short)(r >> 16); + } +#endif +} + +void ASIOConvertSamples::convertStereo24(long *left, long *right, char *dLeft, char *dRight, long frames) +{ + // work with chars in order to prevent misalignments + char *sl = (char *)left; + char *sr = (char *)right; + char al, bl, cl, ar, br, cr; + + dLeft--; + dRight--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + cl = sl[1]; + ar = sr[3]; + br = sr[2]; + cr = sr[1]; +#else + al = sl[0]; + bl = sl[1]; + cl = sl[2]; + ar = sr[0]; + br = sr[1]; + cr = sr[2]; +#endif + sl += 4; + sr += 4; + *++dLeft = al; + *++dLeft = bl; + *++dLeft = cl; + *++dRight = ar; + *++dRight = br; + *++dRight = cr; + } +} + +// small endian +void ASIOConvertSamples::convertStereo16SmallEndian(long *left, long *right, short *dLeft, short *dRight, long frames) +{ + char *sl = (char *)left; + char *sr = (char *)right; + char *dl = (char *)dLeft; + char *dr = (char *)dRight; + char al, bl, ar, br; + + dl--; + dr--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + ar = sr[3]; + br = sr[2]; +#else + al = sl[0]; + bl = sl[1]; + ar = sr[0]; + br = sr[1]; +#endif + sl += 4; + sr += 4; + *++dl = bl; + *++dl = al; + *++dr = br; + *++dr = ar; + } +} + +void ASIOConvertSamples::convertStereo24SmallEndian(long *left, long *right, char *dLeft, char *dRight, long frames) +{ + // work with chars in order to prevent misalignments + char *sl = (char *)left; + char *sr = (char *)right; + char al, bl, cl, ar, br, cr; + + dLeft--; + dRight--; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + al = sl[3]; + bl = sl[2]; + cl = sl[1]; + ar = sr[3]; + br = sr[2]; + cr = sr[1]; +#else + al = sl[0]; + bl = sl[1]; + cl = sl[2]; + ar = sr[0]; + br = sr[1]; + cr = sr[2]; +#endif + sl += 4; + sr += 4; + *++dLeft = cl; + *++dLeft = bl; + *++dLeft = al; + *++dRight = cr; + *++dRight = br; + *++dRight = ar; + } +} + +//------------------------------------------------------------------------------------------ +// in place integer conversions + +void ASIOConvertSamples::int32msb16to16inPlace(long *in, long frames) +{ + short *d1 = (short *)in; + short* out = d1; +#if ASIO_LITTLE_ENDIAN + d1++; +#endif + while(--frames >= 0) + { + *out++ = *d1; + d1 += 2; + } +} + +void ASIOConvertSamples::int32lsb16to16inPlace(long *in, long frames) +{ + short *d1 = (short *)in; + short* out = d1; +#if !ASIO_LITTLE_ENDIAN + d1++; +#endif + while(--frames >= 0) + { + *out++ = *d1; + d1 += 2; + } +} + +void ASIOConvertSamples::int32msb16shiftedTo16inPlace(long *in, long frames, long shift) +{ + short* out = (short*)in; + while(--frames >= 0) + *out++ = (short)(*in++ >> shift); +} + +void ASIOConvertSamples::int24msbto16inPlace(unsigned char *in, long frames) +{ + short a; + short* out = (short*)in; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = (short)in[2]; + a <<= 8; + a |= (in[1] & 0xff); +#else + a = (short)in[0]; + a <<= 8; + a |= (in[1] & 0xff); +#endif + *out++ = a; + in += 3; + } +} + +//----------------------------------------------------------------------------------------- + +void ASIOConvertSamples::shift32(void* buffer, long shiftAmount, long targetByteWidth, + bool revertEndian, long sampleFrames) +{ + long a; + long frames = sampleFrames; + long* source = (long*)buffer; + if(revertEndian) + { + reverseEndian(buffer, 4, sampleFrames); + revertEndian = false; + } + + if(targetByteWidth == 2) + { + short* dest = (short*)buffer; + short* al = (short*)&a; +#if ASIO_LITTLE_ENDIAN + al++; +#endif + while(--frames >= 0) + { + a = *source++; + a <<= shiftAmount; + *dest++ = *al; + } + } + + else if(targetByteWidth == 3) + { + char* dest = (char*)buffer; + long* source = (long*)buffer; + char* aa = (char*)&a; + while(--frames >= 0) + { + a = *source++; + a <<= shiftAmount; +#if ASIO_LITTLE_ENDIAN + dest[0] = aa[1]; // lsb + dest[1] = aa[2]; + dest[2] = aa[3]; // msb +#else + dest[0] = aa[0]; // msb + dest[1] = aa[1]; + dest[2] = aa[2]; // lsb +#endif + dest += 3; + } + } + + else if(targetByteWidth == 4) + { + long* dest = source; + while(--frames >= 0) + *dest++ = *source++ << shiftAmount; + } +} + +void ASIOConvertSamples::reverseEndian(void* buffer, long byteWidth, long frames) +{ + char* a = (char*)buffer; + char* b = a; + char c; + if(byteWidth == 2) + { + while(--frames >= 0) + { + c = a[0]; + a[0] = a[1]; + a[1] = c; + a += 2; + } + } + else if(byteWidth == 3) + { + while(--frames >= 0) + { + c = a[0]; + a[0] = a[2]; + a[2] = c; + a += 3; + } + } + else if(byteWidth == 4) + { + while(--frames >= 0) + { + c = a[0]; + a[0] = a[3]; + a[3] = c; + c = a[1]; + a[1] = a[2]; + a[2] = c; + a += 4; + } + } +} + +//------------------------------------------------------------------------------------------------- + +void ASIOConvertSamples::int32to16inPlace(void* buffer, long frames) +{ + short* in = (short*)buffer; + short* out = in; +#if ASIO_LITTLE_ENDIAN + in++; +#endif + while(--frames >= 0) + { + *out++ = *in; + in += 2; + } +} + +void ASIOConvertSamples::int24to16inPlace(void* buffer, long frames) +{ + char* from = (char*)buffer; + char* to = from; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + to[0] = from[1]; + to[1] = from[2]; +#else + to[0] = from[0]; + to[1] = from[1]; +#endif + from += 3; + to += 2; + } +} + +void ASIOConvertSamples::int32to24inPlace(void* buffer, long frames) +{ + long* in = (long*)buffer; + char* out = (char*)buffer; + long a; + while(--frames >= 0) + { + a = *in++; + a >>= 8; // 32->24 +#if ASIO_LITTLE_ENDIAN + out[0] = (char)a; // lsb + a >>= 8; + out[1] = (char)a; + a >>= 8; + out[2] = (char)a; +#else + out[2] = (char)a; // lsb + a >>= 8; + out[1] = (char)a; + a >>= 8; + out[0] = (char)a; +#endif + out += 3; + } +} + +void ASIOConvertSamples::int16to24inPlace(void* buffer, long frames) +{ + char* in = (char*)buffer; + char* out = (char*)buffer; + in += frames * 2; + out += frames * 3; + while(--frames >= 0) + { + out -= 3; + in -= 2; +#if ASIO_LITTLE_ENDIAN + out[2] = in[1]; // msb + out[1] = in[0]; // lsb + out[0] = 0; +#else + out[2] = 0; + out[1] = in[1]; // lsb + out[0] = in[0]; // msb +#endif + } +} + +void ASIOConvertSamples::int24to32inPlace(void* buffer, long frames) +{ + long a, b, c; + char* in = (char*)buffer; + long* out = (long*)buffer; + in += (frames * 3); + out += frames; + while(--frames >= 0) + { +#if ASIO_LITTLE_ENDIAN + a = (long)in[-1]; // msb + b = (long)in[-2]; + c = (long)in[-3]; +#else + a = (long)in[-3]; // msb + b = (long)in[-2]; + c = (long)in[-1]; +#endif + a <<= 24; + b <<= 16; + b &= 0x00ff0000; + a |= b; + c <<= 8; + c &= 0x0000ff00; + a |= c; + *--out = a; + in -= 3; + } +} + +void ASIOConvertSamples::int16to32inPlace(void* buffer, long frames) +{ + short* in = (short*)buffer; + long* out = (long*)buffer; + in += frames; + out += frames; + while(--frames >= 0) + *--out = ((long)(*--in)) << 16; +} + +//------------------------------------------------------------------------------------------ +// float to int + +const double fScaler16 = (double)0x7fffL; +const double fScaler24 = (double)0x7fffffL; +const double fScaler32 = (double)0x7fffffffL; + +void ASIOConvertSamples::float32toInt16inPlace(float* buffer, long frames) +{ + double sc = fScaler16 + .49999; + short* b = (short*)buffer; + while(--frames >= 0) + *b++ = (short)((double)(*buffer++) * sc); +} + +void ASIOConvertSamples::float32toInt24inPlace(float* buffer, long frames) +{ + double sc = fScaler24 + .49999; + long a; + char* b = (char*)buffer; + char* aa = (char*)&a; + + while(--frames >= 0) + { + a = (long)((double)(*buffer++) * sc); +#if ASIO_LITTLE_ENDIAN + *b++ = aa[3]; + *b++ = aa[2]; + *b++ = aa[1]; +#else + *b++ = aa[1]; + *b++ = aa[2]; + *b++ = aa[3]; +#endif + } +} + +void ASIOConvertSamples::float32toInt32inPlace(float* buffer, long frames) +{ + double sc = fScaler32 + .49999; + long* b = (long*)buffer; + while(--frames >= 0) + *b++ = (long)((double)(*buffer++) * sc); +} + diff --git a/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.h b/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.h new file mode 100644 index 0000000..d1918a2 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/ASIOConvertSamples.h @@ -0,0 +1,62 @@ +#ifndef __ASIOConvertSamples__ +#define __ASIOConvertSamples__ + +class ASIOConvertSamples +{ +public: + ASIOConvertSamples(); + ~ASIOConvertSamples() {} + + // format converters, input 32 bit integer + // mono + void convertMono8(long *source, char *dest, long frames); + void convertMono8Unsigned(long *source, char *dest, long frames); + void convertMono16(long *source, short *dest, long frames); + void convertMono16SmallEndian(long *source, short *dest, long frames); + void convertMono24(long *source, char *dest, long frames); + void convertMono24SmallEndian(long *source, char *dest, long frames); + + // stereo interleaved + void convertStereo8Interleaved(long *left, long *right, char *dest, long frames); + void convertStereo8InterleavedUnsigned(long *left, long *right, char *dest, long frames); + void convertStereo16Interleaved(long *left, long *right, short *dest, long frames); + void convertStereo16InterleavedSmallEndian(long *left, long *right, short *dest, long frames); + void convertStereo24Interleaved(long *left, long *right, char *dest, long frames); + void convertStereo24InterleavedSmallEndian(long *left, long *right, char *dest, long frames); + + // stereo split + void convertStereo8(long *left, long *right, char *dLeft, char *dRight, long frames); + void convertStereo8Unsigned(long *left, long *right, char *dLeft, char *dRight, long frames); + void convertStereo16(long *left, long *right, short *dLeft, short *dRight, long frames); + void convertStereo16SmallEndian(long *left, long *right, short *dLeft, short *dRight, long frames); + void convertStereo24(long *left, long *right, char *dLeft, char *dRight, long frames); + void convertStereo24SmallEndian(long *left, long *right, char *dLeft, char *dRight, long frames); + + // integer in place conversions + + void int32msb16to16inPlace(long *in, long frames); + void int32lsb16to16inPlace(long *in, long frames); + void int32msb16shiftedTo16inPlace(long *in1, long frames, long shift); + void int24msbto16inPlace(unsigned char *in, long frames); + + // integer to integer + + void shift32(void* buffer, long shiftAmount, long targetByteWidth, + bool reverseEndian, long frames); + void reverseEndian(void* buffer, long byteWidth, long frames); + + void int32to16inPlace(void* buffer, long frames); + void int24to16inPlace(void* buffer, long frames); + void int32to24inPlace(void* buffer, long frames); + void int16to24inPlace(void* buffer, long frames); + void int24to32inPlace(void* buffer, long frames); + void int16to32inPlace(void* buffer, long frames); + + // float to integer + + void float32toInt16inPlace(float* buffer, long frames); + void float32toInt24inPlace(float* buffer, long frames); + void float32toInt32inPlace(float* buffer, long frames); +}; + +#endif diff --git a/src/hostapi/asio/ASIOSDK/host/asiodrivers.cpp b/src/hostapi/asio/ASIOSDK/host/asiodrivers.cpp new file mode 100644 index 0000000..4067bc0 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/asiodrivers.cpp @@ -0,0 +1,186 @@ +#include +#include "asiodrivers.h" + +AsioDrivers* asioDrivers = 0; + +bool loadAsioDriver(char *name); + +bool loadAsioDriver(char *name) +{ + if(!asioDrivers) + asioDrivers = new AsioDrivers(); + if(asioDrivers) + return asioDrivers->loadDriver(name); + return false; +} + +//------------------------------------------------------------------------------------ + +#if MAC + +bool resolveASIO(unsigned long aconnID); + +AsioDrivers::AsioDrivers() : CodeFragments("ASIO Drivers", 'AsDr', 'Asio') +{ + connID = -1; + curIndex = -1; +} + +AsioDrivers::~AsioDrivers() +{ + removeCurrentDriver(); +} + +bool AsioDrivers::getCurrentDriverName(char *name) +{ + if(curIndex >= 0) + return getName(curIndex, name); + return false; +} + +long AsioDrivers::getDriverNames(char **names, long maxDrivers) +{ + for(long i = 0; i < getNumFragments() && i < maxDrivers; i++) + getName(i, names[i]); + return getNumFragments() < maxDrivers ? getNumFragments() : maxDrivers; +} + +bool AsioDrivers::loadDriver(char *name) +{ + char dname[64]; + unsigned long newID; + + for(long i = 0; i < getNumFragments(); i++) + { + if(getName(i, dname) && !strcmp(name, dname)) + { + if(newInstance(i, &newID)) + { + if(resolveASIO(newID)) + { + if(connID != -1) + removeInstance(curIndex, connID); + curIndex = i; + connID = newID; + return true; + } + } + break; + } + } + return false; +} + +void AsioDrivers::removeCurrentDriver() +{ + if(connID != -1) + removeInstance(curIndex, connID); + connID = -1; + curIndex = -1; +} + +//------------------------------------------------------------------------------------ + +#elif WINDOWS + +#include "iasiodrv.h" + +extern IASIO* theAsioDriver; + +AsioDrivers::AsioDrivers() : AsioDriverList() +{ + curIndex = -1; +} + +AsioDrivers::~AsioDrivers() +{ +} + +bool AsioDrivers::getCurrentDriverName(char *name) +{ + if(curIndex >= 0) + return asioGetDriverName(curIndex, name, 32) == 0 ? true : false; + name[0] = 0; + return false; +} + +long AsioDrivers::getDriverNames(char **names, long maxDrivers) +{ + for(long i = 0; i < asioGetNumDev() && i < maxDrivers; i++) + asioGetDriverName(i, names[i], 32); + return asioGetNumDev() < maxDrivers ? asioGetNumDev() : maxDrivers; +} + +bool AsioDrivers::loadDriver(char *name) +{ + char dname[64]; + char curName[64]; + + for(long i = 0; i < asioGetNumDev(); i++) + { + if(!asioGetDriverName(i, dname, 32) && !strcmp(name, dname)) + { + curName[0] = 0; + getCurrentDriverName(curName); // in case we fail... + removeCurrentDriver(); + + if(!asioOpenDriver(i, (void **)&theAsioDriver)) + { + curIndex = i; + return true; + } + else + { + theAsioDriver = 0; + if(curName[0] && strcmp(dname, curName)) + loadDriver(curName); // try restore + } + break; + } + } + return false; +} + +void AsioDrivers::removeCurrentDriver() +{ + if(curIndex != -1) + asioCloseDriver(curIndex); + curIndex = -1; +} + +#elif SGI || BEOS + +#include "asiolist.h" + +AsioDrivers::AsioDrivers() + : AsioDriverList() +{ + curIndex = -1; +} + +AsioDrivers::~AsioDrivers() +{ +} + +bool AsioDrivers::getCurrentDriverName(char *name) +{ + return false; +} + +long AsioDrivers::getDriverNames(char **names, long maxDrivers) +{ + return 0; +} + +bool AsioDrivers::loadDriver(char *name) +{ + return false; +} + +void AsioDrivers::removeCurrentDriver() +{ +} + +#else +#error implement me +#endif diff --git a/src/hostapi/asio/ASIOSDK/host/asiodrivers.h b/src/hostapi/asio/ASIOSDK/host/asiodrivers.h new file mode 100644 index 0000000..511f2ea --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/asiodrivers.h @@ -0,0 +1,41 @@ +#ifndef __AsioDrivers__ +#define __AsioDrivers__ + +#include "ginclude.h" + +#if MAC +#include "CodeFragments.hpp" + +class AsioDrivers : public CodeFragments + +#elif WINDOWS +#include +#include "asiolist.h" + +class AsioDrivers : public AsioDriverList + +#elif SGI || BEOS +#include "asiolist.h" + +class AsioDrivers : public AsioDriverList + +#else +#error implement me +#endif + +{ +public: + AsioDrivers(); + ~AsioDrivers(); + + bool getCurrentDriverName(char *name); + long getDriverNames(char **names, long maxDrivers); + bool loadDriver(char *name); + void removeCurrentDriver(); + long getCurrentDriverIndex() {return curIndex;} +protected: + unsigned long connID; + long curIndex; +}; + +#endif diff --git a/src/hostapi/asio/ASIOSDK/host/ginclude.h b/src/hostapi/asio/ASIOSDK/host/ginclude.h new file mode 100644 index 0000000..97cb7b7 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/ginclude.h @@ -0,0 +1,38 @@ +#ifndef __gInclude__ +#define __gInclude__ + +#if SGI + #undef BEOS + #undef MAC + #undef WINDOWS + // + #define ASIO_BIG_ENDIAN 1 + #define ASIO_CPU_MIPS 1 +#elif defined(_WIN32) || defined(_WIN64) + #undef BEOS + #undef MAC + #undef SGI + #define WINDOWS 1 + #define ASIO_LITTLE_ENDIAN 1 + #define ASIO_CPU_X86 1 +#elif BEOS + #undef MAC + #undef SGI + #undef WINDOWS + #define ASIO_LITTLE_ENDIAN 1 + #define ASIO_CPU_X86 1 + // +#else + #define MAC 1 + #undef BEOS + #undef WINDOWS + #undef SGI + #define ASIO_BIG_ENDIAN 1 + #define ASIO_CPU_PPC 1 +#endif + +// always +#define NATIVE_INT64 0 +#define IEEE754_64FLOAT 1 + +#endif // __gInclude__ diff --git a/src/hostapi/asio/ASIOSDK/host/mac/asioshlib.cpp b/src/hostapi/asio/ASIOSDK/host/mac/asioshlib.cpp new file mode 100644 index 0000000..77163e5 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/mac/asioshlib.cpp @@ -0,0 +1,342 @@ +// asio code fragment 'linker' +// mac specific +// loads the symbols via the fragment manager, and +// translates them into function pointers. this +// means no asio lib must be linked, as the +// 'real' asio functions are here + +#include "ginclude.h" +#include +#include +#include +#include "asio.h" + +// Macro below has to 0 if external drivers will be used. +// Can be set to 1 if a specific ASIO driver should be linked into the program +#define ASIOINCLUDED 0 + + + +// export +bool resolveASIO(unsigned long aconnID); + +//------------------------------------------------------------------------------------------------------ +// private + +#if ASIOINCLUDED +bool resolveASIO(unsigned long aconnID) {aconnID = aconnID; return true;} +#else + +enum +{ + kASIOInit = 0, + kASIOExit, + kASIOStart, + kASIOStop, + kASIOGetChannels, + kASIOGetLatencies, + kASIOGetBufferSize, + kASIOCanSampleRate, + kASIOGetSampleRate, + kASIOSetSampleRate, + kASIOGetClockSources, + kASIOSetClockSource, + kASIOGetSamplePosition, + kASIOGetChannelInfo, + kASIOCreateBuffers, + kASIODisposeBuffers, + kASIOControlPanel, + kASIOFuture, + + kASIOOutputReady, + + kNumSymbols, + kRequiredSymbols = kNumSymbols - 1 +}; + +static char *asioTable[kNumSymbols] = +{ + "ASIOInit", + "ASIOExit", + "ASIOStart", + "ASIOStop", + "ASIOGetChannels", + "ASIOGetLatencies", + "ASIOGetBufferSize", + "ASIOCanSampleRate", + "ASIOGetSampleRate", + "ASIOSetSampleRate", + "ASIOGetClockSources", + "ASIOSetClockSource", + "ASIOGetSamplePosition", + "ASIOGetChannelInfo", + "ASIOCreateBuffers", + "ASIODisposeBuffers", + "ASIOControlPanel", + "ASIOFuture", + "ASIOOutputReady" +}; + +typedef ASIOError (*fasioInit) (ASIODriverInfo *info); +typedef ASIOError (*fasioExit) (void); +typedef ASIOError (*fasioStart) (void); +typedef ASIOError (*fasioStop) (void); +typedef ASIOError (*asioGetChannels) (long *numInputChannels, long *numOutputChannels); +typedef ASIOError (*asioGetLatencies) (long *inputLatency, long *outputLatency); +typedef ASIOError (*asioGetBufferSize) (long *minSize, long *maxSize, long *preferredSize, long *granularity); +typedef ASIOError (*asioCanSampleRate) (ASIOSampleRate sampleRate); +typedef ASIOError (*asioGetSampleRate) (ASIOSampleRate *currentRate); +typedef ASIOError (*asioSetSampleRate) (ASIOSampleRate sampleRate); +typedef ASIOError (*asioGetClockSources) (ASIOClockSource *clocks, long *numSources); +typedef ASIOError (*asioSetClockSource) (long reference); +typedef ASIOError (*asioGetSamplePosition) (ASIOSamples *sPos, ASIOTimeStamp *tStamp); +typedef ASIOError (*asioGetChannelInfo) (ASIOChannelInfo *info); +typedef ASIOError (*asioCreateBuffers) (ASIOBufferInfo *channelInfos, long numChannels, + long bufferSize, ASIOCallbacks *callbacks); +typedef ASIOError (*asioDisposeBuffers) (void); +typedef ASIOError (*asioControlPanel) (void); +typedef ASIOError (*asioFuture)(long selector, void *opt); +typedef ASIOError (*asioOutputReady) (void); + +static void *functionTable[kNumSymbols] = {0}; +static bool inited = false; + +//--------------------------------------------------------------------------------------------------------- + +#include + +bool resolveASIO(unsigned long aconnID) +{ + OSErr err; + CFragConnectionID connID = (CFragConnectionID)aconnID; + CFragSymbolClass symClass; + Ptr symAddr = nil; + Str255 myName; + long myCount = 0; + + err = CountSymbols(connID, &myCount); + if(err != noErr || myCount < (kRequiredSymbols + 1)) // there must be a main() + return false; + + long n, c = 0; + for(n = kRequiredSymbols; n < kNumSymbols; n++) + functionTable[n] = 0; + for(n = 0; n < myCount; n++) + { + // we can't use FindSymbol(), as the compiler adds mangling + // (such as ASIOInit__Fv). also, the symbols don't appear + // in the order they are declared or implemented. + // so we use strncmp() + err = GetIndSymbol(connID, n, myName, &symAddr, &symClass); + if(err != noErr) + break; + PtoCstr(myName); + if(!strncmp((char *)myName, "main", 4L)) + c++; + else + { + for(long i = 0; i < kNumSymbols; i++) + { + long sc = strlen(asioTable[i]); + if(!strncmp((char *)myName, asioTable[i], sc)) + { + functionTable[i] = symAddr; + if(i < kRequiredSymbols) + c++; + break; + } + } + } + // if(c >= kNumSymbols + 1) + // break; + } + if(c >= kRequiredSymbols + 1) + { + inited = true; + return true; + } + return false; +} + +//--------------------------------------------------------------------------------------------------- +//--------------------------------------------------------------------------------------------------- + +#pragma export on + +static short curRes = 0; +#define saveRes() curRes = CurResFile() +#define restRes() UseResFile(curRes); + + +ASIOError ASIOInit(ASIODriverInfo *info) +{ + saveRes(); + strcpy(info->errorMessage, "No ASIO Driver could be Loaded!"); + if(!inited) + return ASE_NotPresent; + fasioInit f = (fasioInit)functionTable[kASIOInit]; + ASIOError e = (*f)(info); + restRes(); + return e; +} + +ASIOError ASIOExit(void) +{ + if(!inited) + return ASE_NotPresent; + saveRes(); + fasioExit f = (fasioExit)functionTable[kASIOExit]; + ASIOError e = (*f)(); + restRes(); + return e; +} + +ASIOError ASIOStart(void) +{ + if(!inited) + return ASE_NotPresent; + fasioStart f = (fasioStart)functionTable[kASIOStart]; + return (*f)(); +} + +ASIOError ASIOStop(void) +{ + if(!inited) + return ASE_NotPresent; + fasioStop f = (fasioStop)functionTable[kASIOStop]; + return (*f)(); +} + +ASIOError ASIOGetChannels(long *numInputChannels, long *numOutputChannels) +{ + if(!inited) + return ASE_NotPresent; + asioGetChannels f = (asioGetChannels)functionTable[kASIOGetChannels]; + return (*f)(numInputChannels, numOutputChannels); +} + +ASIOError ASIOGetLatencies(long *inputLatency, long *outputLatency) +{ + if(!inited) + return ASE_NotPresent; + asioGetLatencies f = (asioGetLatencies)functionTable[kASIOGetLatencies]; + return (*f)(inputLatency, outputLatency); +} + +ASIOError ASIOGetBufferSize(long *minSize, long *maxSize, long *preferredSize, long *granularity) +{ + if(!inited) + return ASE_NotPresent; + asioGetBufferSize f = (asioGetBufferSize)functionTable[kASIOGetBufferSize]; + return (*f)(minSize, maxSize, preferredSize, granularity); +} + +ASIOError ASIOCanSampleRate(ASIOSampleRate sampleRate) +{ + if(!inited) + return ASE_NotPresent; + asioCanSampleRate f = (asioCanSampleRate)functionTable[kASIOCanSampleRate]; + return (*f)(sampleRate); +} + +ASIOError ASIOGetSampleRate(ASIOSampleRate *currentRate) +{ + if(!inited) + return ASE_NotPresent; + asioGetSampleRate f = (asioGetSampleRate)functionTable[kASIOGetSampleRate]; + return (*f)(currentRate); +} + +ASIOError ASIOSetSampleRate(ASIOSampleRate sampleRate) +{ + if(!inited) + return ASE_NotPresent; + asioSetSampleRate f = (asioSetSampleRate)functionTable[kASIOSetSampleRate]; + return (*f)(sampleRate); +} + +ASIOError ASIOGetClockSources(ASIOClockSource *clocks, long *numSources) +{ + if(!inited) + return ASE_NotPresent; + asioGetClockSources f = (asioGetClockSources)functionTable[kASIOGetClockSources]; + return (*f)(clocks, numSources); +} + +ASIOError ASIOSetClockSource(long reference) +{ + if(!inited) + return ASE_NotPresent; + asioSetClockSource f = (asioSetClockSource)functionTable[kASIOSetClockSource]; + return (*f)(reference); +} + +ASIOError ASIOGetSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) +{ + if(!inited) + return ASE_NotPresent; + asioGetSamplePosition f = (asioGetSamplePosition)functionTable[kASIOGetSamplePosition]; + return (*f)(sPos, tStamp); +} + +ASIOError ASIOGetChannelInfo(ASIOChannelInfo *info) +{ + if(!inited) + return ASE_NotPresent; + asioGetChannelInfo f = (asioGetChannelInfo)functionTable[kASIOGetChannelInfo]; + return (*f)(info); +} + +ASIOError ASIOCreateBuffers(ASIOBufferInfo *channelInfos, long numChannels, long bufferSize, ASIOCallbacks *callbacks) +{ + if(!inited) + return ASE_NotPresent; + saveRes(); + asioCreateBuffers f = (asioCreateBuffers)functionTable[kASIOCreateBuffers]; + ASIOError e = (*f)(channelInfos, numChannels, bufferSize, callbacks); + restRes(); + return e; +} + +ASIOError ASIODisposeBuffers(void) +{ + if(!inited) + return ASE_NotPresent; + asioDisposeBuffers f = (asioDisposeBuffers)functionTable[kASIODisposeBuffers]; + return (*f)(); +} + +ASIOError ASIOControlPanel(void) +{ + if(!inited) + return ASE_NotPresent; + saveRes(); + asioControlPanel f = (asioControlPanel)functionTable[kASIOControlPanel]; + ASIOError e = (*f)(); + restRes(); + return e; +} + +ASIOError ASIOFuture(long selector, void *opt) +{ + if(!inited) + return 0; + saveRes(); + asioFuture f = (asioFuture)functionTable[kASIOFuture]; + ASIOError e = (*f)(selector, opt); + restRes(); + return e; +} + +ASIOError ASIOOutputReady(void) +{ + asioOutputReady f = (asioControlPanel)functionTable[kASIOOutputReady]; + if(!inited || !f) + return ASE_NotPresent; + return (*f)(); +} + +#pragma export off + +#endif // ASIOINCLUDED + diff --git a/src/hostapi/asio/ASIOSDK/host/mac/codefragments.cpp b/src/hostapi/asio/ASIOSDK/host/mac/codefragments.cpp new file mode 100644 index 0000000..6b3cb07 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/mac/codefragments.cpp @@ -0,0 +1,349 @@ +// very MAC specific; generic code fragment handler +#include "ginclude.h" +#include +#include +#include +#include +#include "CodeFragments.hpp" + +enum +{ + kNewCFragCopy = kPrivateCFragCopy +}; + +class CodeFragmentInstance +{ +private: +friend class CodeFragment; + CodeFragmentInstance() {next = 0; handle = 0; connID = (void*)-1;} + ~CodeFragmentInstance() {CloseConnection((CFragConnectionID*)&connID); DisposeHandle(handle);} + + CodeFragmentInstance *next; + Handle handle; + void* connID; +}; + +class CodeFragment +{ +public: + CodeFragment(); + ~CodeFragment(); + + bool newInstance(void** cID); + void removeInstance(void* id); + bool getName(char *name) {if(!resName[0]) return false; strcpy(name, resName); return true;} + +private: +friend class CodeFragments; + + CodeFragment *next; + CodeFragmentInstance *root; + Handle handle; + long numInstances; + long index; + char resName[64]; +}; + +//------------------------------------------------------------------------------------------ + +CodeFragment::CodeFragment() +{ + next = 0; + root = 0; + handle = 0; + numInstances = 0; + index = 0; + resName[0] = 0; +} + +CodeFragment::~CodeFragment() +{ + // could delete all instances + // rather omit it... +} + +bool CodeFragment::newInstance(void** cID) +{ + Ptr myMainAddr; + Str255 myErrName; + char pname[256]; + + *cID = (void*)-1; + if(!handle) + return false; + CodeFragmentInstance *c = new CodeFragmentInstance(); + if(!c) + return false; + c->handle = this->handle; + OSErr err = HandToHand(&c->handle); + if(err == noErr) + { + // use fragment loader + myMainAddr = 0; + strcpy(pname, resName); + CtoPstr(pname); + err = GetMemFragment(*handle, GetHandleSize(handle), + (unsigned char *)pname, kNewCFragCopy, (CFragConnectionID*)&c->connID, + &myMainAddr, myErrName); + if(err == noErr && myMainAddr) + { + if(!root) + root = c; + else + { + CodeFragmentInstance *cc = root; + while(cc->next) + cc = cc->next; + cc->next = c; + } + numInstances++; + *cID = c->connID; + return true; + } + } + return false; +} + +void CodeFragment::removeInstance(void* id) +{ + CodeFragmentInstance *c = root, *last = root; + while(c) + { + if(c->connID == id) + { + if(c == root) + root = root->next; + else + last->next = c->next; + delete c; + numInstances--; + return; + } + last = c; + c = c->next; + } +} + +//---------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------- + +CodeFragments::CodeFragments(char *folderName, long fileType, long resType) +{ + root = 0; + numFragments = 0; + gARefNum = -1; + + if(setFolder(folderName)) + { + loadFragments(gARefNum, fileType, resType); + SetVol(0L, defVol); + } +} + +CodeFragments::~CodeFragments() +{ + while(root) + { + CodeFragment *c = root->next; + delete root; + root = c; + } +} + +bool CodeFragments::newInstance(long index, unsigned long* cID) +{ + *cID = -1; + CodeFragment *c = root; + while(c) + { + if(c->index == index) + return c->newInstance((void**)cID); + c = c->next; + } + return false; +} + +void CodeFragments::removeInstance(long index, unsigned long cID) +{ + CodeFragment *c = root; + while(c) + { + if(c->index == index) + { + c->removeInstance((void*)cID); + break; + } + c = c->next; + } +} + +bool CodeFragments::getName(long index, char *name) +{ + CodeFragment *c = root; + while(c) + { + if(c->index == index) + { + strcpy(name, c->resName); + return true; + } + c = c->next; + } + return false; +} + +//------------------------------------------------------------------------------------ +// private + +void CodeFragments::loadFragments(short folderRef, long fileType, long resType) +{ + Str255 fileName; + HFileParam parmblock; + short resRef,index = 1,lindex; + short resID; + ResType resourceType; + Str255 resName; + Handle h; + short curResFile = CurResFile(); + + while(true) + { + // find any file in the folder + memset (&parmblock,0,(long)sizeof(HFileParam)); + parmblock.ioNamePtr = fileName; + parmblock.ioVRefNum = folderRef; + parmblock.ioFDirIndex = index; + if(PBHGetFInfoSync ((HParmBlkPtr)&parmblock) != noErr) + break; + + // see if the file type matches + if(parmblock.ioFlFndrInfo.fdType == fileType) + { + resRef = OpenResFile(fileName); + if(ResError()==noErr) + { + UseResFile(resRef); + lindex = 1; + // search resources in the file found which match + while(true) + { + h = Get1IndResource(resType, lindex); + if(h) + { + CodeFragment *c = new CodeFragment; + if(!root) + root = c; + else + { + CodeFragment *cc = root; + while(cc->next) + cc = cc->next; + cc->next = c; + } + GetResInfo(h, &resID, &resourceType, resName); + // PtoCstr(fileName); + // strcpy(c->fileName, (char *)fileName); + PtoCstr(resName); + strcpy(c->resName, (char*)resName); + DetachResource(h); + HLockHi(h); + c->handle = h; + c->index = numFragments; + numFragments++; + } + else + break; + lindex++; + } + CloseResFile(resRef); + } + } + index++; + } + UseResFile(curResFile); +} + +//----------------------------------------------------------------------------------------- + +bool CodeFragments::setFolder(char *folderName) +{ + FSSpec fss; + + if(gARefNum == -1) + { + if(!getFrontProcessDirectory(&fss)) + return false; + if(!openFragmentFolder(&fss, folderName, &gARefNum)) + return false; + } + defVol = getDefVol(); + SetVol(0L, gARefNum); + return true; +} + +bool CodeFragments::getFrontProcessDirectory(void *specs) +{ + FSSpec *fss = (FSSpec *)specs; + ProcessInfoRec pif; + ProcessSerialNumber psn; + + memset(&psn,0,(long)sizeof(ProcessSerialNumber)); + if(GetFrontProcess(&psn) == noErr) + { + pif.processName = 0; //(StringPtr)name; + pif.processAppSpec = fss; + pif.processInfoLength = sizeof(ProcessInfoRec); + if(GetProcessInformation(&psn, &pif) == noErr) + return true; + } + return false; +} + +bool CodeFragments::openFragmentFolder(void *specs, char *foldername, short *found_vref) +{ + FSSpec *fss = (FSSpec *)specs; + WDPBRec funcparms,homefolder; + HFileInfo my_funcfolder; + char funcFolder_name[32]; + + *found_vref = -1; + strcpy(funcFolder_name,foldername); + CtoPstr(funcFolder_name); + + memset (&homefolder,0,(long)sizeof(WDPBRec)); + homefolder.ioVRefNum = fss->vRefNum; + homefolder.ioWDDirID = fss->parID; + if(PBOpenWDSync(&homefolder) != noErr) + return false; + memset(&my_funcfolder,0,(long)sizeof(CInfoPBRec)); + my_funcfolder.ioNamePtr = (StringPtr)funcFolder_name; + my_funcfolder.ioVRefNum = homefolder.ioVRefNum; + if(PBGetCatInfoSync((CInfoPBPtr)&my_funcfolder) != noErr) + { + PBCloseWDSync(&homefolder); + return false; + } + memset (&funcparms,0,(long)sizeof(WDPBRec)); + funcparms.ioWDProcID = 'stCA'; + funcparms.ioVRefNum = my_funcfolder.ioVRefNum; + funcparms.ioWDDirID = my_funcfolder.ioDirID; + if(PBOpenWDSync(&funcparms) != noErr) + { + PBCloseWDSync(&homefolder); + return false; + } + PBCloseWDSync(&homefolder); + *found_vref = funcparms.ioVRefNum; + return true; +} + +short CodeFragments::getDefVol() +{ + unsigned char text[32]; + short vol_ref = 0; + + *text=0; + if(GetVol(text, &vol_ref) == noErr) + return (vol_ref); + return 0; +} diff --git a/src/hostapi/asio/ASIOSDK/host/mac/codefragments.hpp b/src/hostapi/asio/ASIOSDK/host/mac/codefragments.hpp new file mode 100644 index 0000000..2eb6ba2 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/mac/codefragments.hpp @@ -0,0 +1,30 @@ +#ifndef __CodeFragments__ +#define __CodeFragments__ + +class CodeFragment; + +class CodeFragments +{ +public: + CodeFragments(char *folderName, long fileType, long resType); + ~CodeFragments(); + + long getNumFragments() {return numFragments;} + bool newInstance(long index, unsigned long *cID); + void removeInstance(long index, unsigned long cID); + bool getName(long index, char *name); + +protected: + void loadFragments(short folderRef, long fileType, long resType); + bool setFolder(char *folderName); + bool openFragmentFolder(void *specs, char *foldername, short *found_vref); + bool getFrontProcessDirectory(void *specs); + short getDefVol(); + + CodeFragment *root; + long numFragments; + short gARefNum; + short defVol; +}; + +#endif diff --git a/src/hostapi/asio/ASIOSDK/host/pc/asiolist.cpp b/src/hostapi/asio/ASIOSDK/host/pc/asiolist.cpp new file mode 100644 index 0000000..88b1632 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/pc/asiolist.cpp @@ -0,0 +1,268 @@ +#include +#include "iasiodrv.h" +#include "asiolist.h" + +#define ASIODRV_DESC "description" +#define INPROC_SERVER "InprocServer32" +#define ASIO_PATH "software\\asio" +#define COM_CLSID "clsid" + +// ****************************************************************** +// Local Functions +// ****************************************************************** +static LONG findDrvPath (char *clsidstr,char *dllpath,int dllpathsize) +{ + HKEY hkEnum,hksub,hkpath; + char databuf[512]; + LONG cr,rc = -1; + DWORD datatype,datasize; + DWORD index; + OFSTRUCT ofs; + HFILE hfile; + BOOL found = FALSE; + + CharLowerBuff(clsidstr,strlen(clsidstr)); + if ((cr = RegOpenKey(HKEY_CLASSES_ROOT,COM_CLSID,&hkEnum)) == ERROR_SUCCESS) { + + index = 0; + while (cr == ERROR_SUCCESS && !found) { + cr = RegEnumKey(hkEnum,index++,(LPTSTR)databuf,512); + if (cr == ERROR_SUCCESS) { + CharLowerBuff(databuf,strlen(databuf)); + if (!(strcmp(databuf,clsidstr))) { + if ((cr = RegOpenKeyEx(hkEnum,(LPCTSTR)databuf,0,KEY_READ,&hksub)) == ERROR_SUCCESS) { + if ((cr = RegOpenKeyEx(hksub,(LPCTSTR)INPROC_SERVER,0,KEY_READ,&hkpath)) == ERROR_SUCCESS) { + datatype = REG_SZ; datasize = (DWORD)dllpathsize; + cr = RegQueryValueEx(hkpath,0,0,&datatype,(LPBYTE)dllpath,&datasize); + if (cr == ERROR_SUCCESS) { + memset(&ofs,0,sizeof(OFSTRUCT)); + ofs.cBytes = sizeof(OFSTRUCT); + hfile = OpenFile(dllpath,&ofs,OF_EXIST); + if (hfile) rc = 0; + } + RegCloseKey(hkpath); + } + RegCloseKey(hksub); + } + found = TRUE; // break out + } + } + } + RegCloseKey(hkEnum); + } + return rc; +} + + +static LPASIODRVSTRUCT newDrvStruct (HKEY hkey,char *keyname,int drvID,LPASIODRVSTRUCT lpdrv) +{ + HKEY hksub; + char databuf[256]; + char dllpath[MAXPATHLEN]; + WORD wData[100]; + CLSID clsid; + DWORD datatype,datasize; + LONG cr,rc; + + if (!lpdrv) { + if ((cr = RegOpenKeyEx(hkey,(LPCTSTR)keyname,0,KEY_READ,&hksub)) == ERROR_SUCCESS) { + + datatype = REG_SZ; datasize = 256; + cr = RegQueryValueEx(hksub,COM_CLSID,0,&datatype,(LPBYTE)databuf,&datasize); + if (cr == ERROR_SUCCESS) { + rc = findDrvPath (databuf,dllpath,MAXPATHLEN); + if (rc == 0) { + lpdrv = new ASIODRVSTRUCT[1]; + if (lpdrv) { + memset(lpdrv,0,sizeof(ASIODRVSTRUCT)); + lpdrv->drvID = drvID; + MultiByteToWideChar(CP_ACP,0,(LPCSTR)databuf,-1,(LPWSTR)wData,100); + if ((cr = CLSIDFromString((LPOLESTR)wData,(LPCLSID)&clsid)) == S_OK) { + memcpy(&lpdrv->clsid,&clsid,sizeof(CLSID)); + } + + datatype = REG_SZ; datasize = 256; + cr = RegQueryValueEx(hksub,ASIODRV_DESC,0,&datatype,(LPBYTE)databuf,&datasize); + if (cr == ERROR_SUCCESS) { + strcpy(lpdrv->drvname,databuf); + } + else strcpy(lpdrv->drvname,keyname); + } + } + } + RegCloseKey(hksub); + } + } + else lpdrv->next = newDrvStruct(hkey,keyname,drvID+1,lpdrv->next); + + return lpdrv; +} + +static void deleteDrvStruct (LPASIODRVSTRUCT lpdrv) +{ + IASIO *iasio; + + if (lpdrv != 0) { + deleteDrvStruct(lpdrv->next); + if (lpdrv->asiodrv) { + iasio = (IASIO *)lpdrv->asiodrv; + iasio->Release(); + } + delete lpdrv; + } +} + + +static LPASIODRVSTRUCT getDrvStruct (int drvID,LPASIODRVSTRUCT lpdrv) +{ + while (lpdrv) { + if (lpdrv->drvID == drvID) return lpdrv; + lpdrv = lpdrv->next; + } + return 0; +} +// ****************************************************************** + + +// ****************************************************************** +// AsioDriverList +// ****************************************************************** +AsioDriverList::AsioDriverList () +{ + HKEY hkEnum = 0; + char keyname[MAXDRVNAMELEN]; + LPASIODRVSTRUCT pdl; + LONG cr; + DWORD index = 0; + BOOL fin = FALSE; + + numdrv = 0; + lpdrvlist = 0; + + cr = RegOpenKey(HKEY_LOCAL_MACHINE,ASIO_PATH,&hkEnum); + while (cr == ERROR_SUCCESS) { + if ((cr = RegEnumKey(hkEnum,index++,(LPTSTR)keyname,MAXDRVNAMELEN))== ERROR_SUCCESS) { + lpdrvlist = newDrvStruct (hkEnum,keyname,0,lpdrvlist); + } + else fin = TRUE; + } + if (hkEnum) RegCloseKey(hkEnum); + + pdl = lpdrvlist; + while (pdl) { + numdrv++; + pdl = pdl->next; + } + + if (numdrv) CoInitialize(0); // initialize COM +} + +AsioDriverList::~AsioDriverList () +{ + if (numdrv) { + deleteDrvStruct(lpdrvlist); + CoUninitialize(); + } +} + + +LONG AsioDriverList::asioGetNumDev (VOID) +{ + return (LONG)numdrv; +} + + +LONG AsioDriverList::asioOpenDriver (int drvID,LPVOID *asiodrv) +{ + LPASIODRVSTRUCT lpdrv = 0; + long rc; + + if (!asiodrv) return DRVERR_INVALID_PARAM; + + if ((lpdrv = getDrvStruct(drvID,lpdrvlist)) != 0) { + if (!lpdrv->asiodrv) { + rc = CoCreateInstance(lpdrv->clsid,0,CLSCTX_INPROC_SERVER,lpdrv->clsid,asiodrv); + if (rc == S_OK) { + lpdrv->asiodrv = *asiodrv; + return 0; + } + // else if (rc == REGDB_E_CLASSNOTREG) + // strcpy (info->messageText, "Driver not registered in the Registration Database!"); + } + else rc = DRVERR_DEVICE_ALREADY_OPEN; + } + else rc = DRVERR_DEVICE_NOT_FOUND; + + return rc; +} + + +LONG AsioDriverList::asioCloseDriver (int drvID) +{ + LPASIODRVSTRUCT lpdrv = 0; + IASIO *iasio; + + if ((lpdrv = getDrvStruct(drvID,lpdrvlist)) != 0) { + if (lpdrv->asiodrv) { + iasio = (IASIO *)lpdrv->asiodrv; + iasio->Release(); + lpdrv->asiodrv = 0; + } + } + + return 0; +} + +LONG AsioDriverList::asioGetDriverName (int drvID,char *drvname,int drvnamesize) +{ + LPASIODRVSTRUCT lpdrv = 0; + + if (!drvname) return DRVERR_INVALID_PARAM; + + if ((lpdrv = getDrvStruct(drvID,lpdrvlist)) != 0) { + if (strlen(lpdrv->drvname) < (unsigned int)drvnamesize) { + strcpy(drvname,lpdrv->drvname); + } + else { + memcpy(drvname,lpdrv->drvname,drvnamesize-4); + drvname[drvnamesize-4] = '.'; + drvname[drvnamesize-3] = '.'; + drvname[drvnamesize-2] = '.'; + drvname[drvnamesize-1] = 0; + } + return 0; + } + return DRVERR_DEVICE_NOT_FOUND; +} + +LONG AsioDriverList::asioGetDriverPath (int drvID,char *dllpath,int dllpathsize) +{ + LPASIODRVSTRUCT lpdrv = 0; + + if (!dllpath) return DRVERR_INVALID_PARAM; + + if ((lpdrv = getDrvStruct(drvID,lpdrvlist)) != 0) { + if (strlen(lpdrv->dllpath) < (unsigned int)dllpathsize) { + strcpy(dllpath,lpdrv->dllpath); + return 0; + } + dllpath[0] = 0; + return DRVERR_INVALID_PARAM; + } + return DRVERR_DEVICE_NOT_FOUND; +} + +LONG AsioDriverList::asioGetDriverCLSID (int drvID,CLSID *clsid) +{ + LPASIODRVSTRUCT lpdrv = 0; + + if (!clsid) return DRVERR_INVALID_PARAM; + + if ((lpdrv = getDrvStruct(drvID,lpdrvlist)) != 0) { + memcpy(clsid,&lpdrv->clsid,sizeof(CLSID)); + return 0; + } + return DRVERR_DEVICE_NOT_FOUND; +} + + diff --git a/src/hostapi/asio/ASIOSDK/host/pc/asiolist.h b/src/hostapi/asio/ASIOSDK/host/pc/asiolist.h new file mode 100644 index 0000000..1f504af --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/pc/asiolist.h @@ -0,0 +1,46 @@ +#ifndef __asiolist__ +#define __asiolist__ + +#define DRVERR -5000 +#define DRVERR_INVALID_PARAM DRVERR-1 +#define DRVERR_DEVICE_ALREADY_OPEN DRVERR-2 +#define DRVERR_DEVICE_NOT_FOUND DRVERR-3 + +#define MAXPATHLEN 512 +#define MAXDRVNAMELEN 128 + +struct asiodrvstruct +{ + int drvID; + CLSID clsid; + char dllpath[MAXPATHLEN]; + char drvname[MAXDRVNAMELEN]; + LPVOID asiodrv; + struct asiodrvstruct *next; +}; + +typedef struct asiodrvstruct ASIODRVSTRUCT; +typedef ASIODRVSTRUCT *LPASIODRVSTRUCT; + +class AsioDriverList { +public: + AsioDriverList(); + ~AsioDriverList(); + + LONG asioOpenDriver (int,VOID **); + LONG asioCloseDriver (int); + + // nice to have + LONG asioGetNumDev (VOID); + LONG asioGetDriverName (int,char *,int); + LONG asioGetDriverPath (int,char *,int); + LONG asioGetDriverCLSID (int,CLSID *); + + // or use directly access + LPASIODRVSTRUCT lpdrvlist; + int numdrv; +}; + +typedef class AsioDriverList *LPASIODRIVERLIST; + +#endif diff --git a/src/hostapi/asio/ASIOSDK/host/sample/hostsample.cpp b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.cpp new file mode 100644 index 0000000..16283bc --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.cpp @@ -0,0 +1,526 @@ +// hostsample.cpp : a simple ASIO host example. +// - instantiates the driver +// - get the information from the driver +// - built up some audio channels +// - plays silence for 20 seconds +// - destruct the driver +// Note: This sample cannot work with the "ASIO DirectX Driver" as it does +// not have a valid Application Window handle, which is used as sysRef +// on the Windows platform. + +#include +#include +#include "asiosys.h" +#include "asio.h" +#include "asiodrivers.h" + +// name of the ASIO device to be used +#if WINDOWS +// #define ASIO_DRIVER_NAME "ASIO Multimedia Driver" + #define ASIO_DRIVER_NAME "ASIO Sample" +#elif MAC +// #define ASIO_DRIVER_NAME "Apple Sound Manager" + #define ASIO_DRIVER_NAME "ASIO Sample" +#endif + +#define TEST_RUN_TIME 20.0 // run for 20 seconds + + +enum { + // number of input and outputs supported by the host application + // you can change these to higher or lower values + kMaxInputChannels = 32, + kMaxOutputChannels = 32 +}; + + +// internal data storage +typedef struct DriverInfo +{ + // ASIOInit() + ASIODriverInfo driverInfo; + + // ASIOGetChannels() + long inputChannels; + long outputChannels; + + // ASIOGetBufferSize() + long minSize; + long maxSize; + long preferredSize; + long granularity; + + // ASIOGetSampleRate() + ASIOSampleRate sampleRate; + + // ASIOOutputReady() + bool postOutput; + + // ASIOGetLatencies () + long inputLatency; + long outputLatency; + + // ASIOCreateBuffers () + long inputBuffers; // becomes number of actual created input buffers + long outputBuffers; // becomes number of actual created output buffers + ASIOBufferInfo bufferInfos[kMaxInputChannels + kMaxOutputChannels]; // buffer info's + + // ASIOGetChannelInfo() + ASIOChannelInfo channelInfos[kMaxInputChannels + kMaxOutputChannels]; // channel info's + // The above two arrays share the same indexing, as the data in them are linked together + + // Information from ASIOGetSamplePosition() + // data is converted to double floats for easier use, however 64 bit integer can be used, too + double nanoSeconds; + double samples; + double tcSamples; // time code samples + + // bufferSwitchTimeInfo() + ASIOTime tInfo; // time info state + unsigned long sysRefTime; // system reference time, when bufferSwitch() was called + + // Signal the end of processing in this example + bool stopped; +} DriverInfo; + + +DriverInfo asioDriverInfo = {0}; +ASIOCallbacks asioCallbacks; + +//---------------------------------------------------------------------------------- +// some external references +extern AsioDrivers* asioDrivers; +bool loadAsioDriver(char *name); + +// internal prototypes (required for the Metrowerks CodeWarrior compiler) +int main(int argc, char* argv[]); +long init_asio_static_data (DriverInfo *asioDriverInfo); +ASIOError create_asio_buffers (DriverInfo *asioDriverInfo); +unsigned long get_sys_reference_time(); + + +// callback prototypes +void bufferSwitch(long index, ASIOBool processNow); +ASIOTime *bufferSwitchTimeInfo(ASIOTime *timeInfo, long index, ASIOBool processNow); +void sampleRateChanged(ASIOSampleRate sRate); +long asioMessages(long selector, long value, void* message, double* opt); + + + +//---------------------------------------------------------------------------------- +long init_asio_static_data (DriverInfo *asioDriverInfo) +{ // collect the informational data of the driver + // get the number of available channels + if(ASIOGetChannels(&asioDriverInfo->inputChannels, &asioDriverInfo->outputChannels) == ASE_OK) + { + printf ("ASIOGetChannels (inputs: %d, outputs: %d);\n", asioDriverInfo->inputChannels, asioDriverInfo->outputChannels); + + // get the usable buffer sizes + if(ASIOGetBufferSize(&asioDriverInfo->minSize, &asioDriverInfo->maxSize, &asioDriverInfo->preferredSize, &asioDriverInfo->granularity) == ASE_OK) + { + printf ("ASIOGetBufferSize (min: %d, max: %d, preferred: %d, granularity: %d);\n", + asioDriverInfo->minSize, asioDriverInfo->maxSize, + asioDriverInfo->preferredSize, asioDriverInfo->granularity); + + // get the currently selected sample rate + if(ASIOGetSampleRate(&asioDriverInfo->sampleRate) == ASE_OK) + { + printf ("ASIOGetSampleRate (sampleRate: %f);\n", asioDriverInfo->sampleRate); + if (asioDriverInfo->sampleRate <= 0.0 || asioDriverInfo->sampleRate > 96000.0) + { + // Driver does not store it's internal sample rate, so set it to a know one. + // Usually you should check beforehand, that the selected sample rate is valid + // with ASIOCanSampleRate(). + if(ASIOSetSampleRate(44100.0) == ASE_OK) + { + if(ASIOGetSampleRate(&asioDriverInfo->sampleRate) == ASE_OK) + printf ("ASIOGetSampleRate (sampleRate: %f);\n", asioDriverInfo->sampleRate); + else + return -6; + } + else + return -5; + } + + // check wether the driver requires the ASIOOutputReady() optimization + // (can be used by the driver to reduce output latency by one block) + if(ASIOOutputReady() == ASE_OK) + asioDriverInfo->postOutput = true; + else + asioDriverInfo->postOutput = false; + printf ("ASIOOutputReady(); - %s\n", asioDriverInfo->postOutput ? "Supported" : "Not supported"); + + return 0; + } + return -3; + } + return -2; + } + return -1; +} + + +//---------------------------------------------------------------------------------- +// conversion from 64 bit ASIOSample/ASIOTimeStamp to double float +#if NATIVE_INT64 + #define ASIO64toDouble(a) (a) +#else + const double twoRaisedTo32 = 4294967296.; + #define ASIO64toDouble(a) ((a).lo + (a).hi * twoRaisedTo32) +#endif + +ASIOTime *bufferSwitchTimeInfo(ASIOTime *timeInfo, long index, ASIOBool processNow) +{ // the actual processing callback. + // Beware that this is normally in a seperate thread, hence be sure that you take care + // about thread synchronization. This is omitted here for simplicity. + static long processedSamples = 0; + + // store the timeInfo for later use + asioDriverInfo.tInfo = *timeInfo; + + // get the time stamp of the buffer, not necessary if no + // synchronization to other media is required + if (timeInfo->timeInfo.flags & kSystemTimeValid) + asioDriverInfo.nanoSeconds = ASIO64toDouble(timeInfo->timeInfo.systemTime); + else + asioDriverInfo.nanoSeconds = 0; + + if (timeInfo->timeInfo.flags & kSamplePositionValid) + asioDriverInfo.samples = ASIO64toDouble(timeInfo->timeInfo.samplePosition); + else + asioDriverInfo.samples = 0; + + if (timeInfo->timeCode.flags & kTcValid) + asioDriverInfo.tcSamples = ASIO64toDouble(timeInfo->timeCode.timeCodeSamples); + else + asioDriverInfo.tcSamples = 0; + + // get the system reference time + asioDriverInfo.sysRefTime = get_sys_reference_time(); + +#if WINDOWS && _DEBUG + // a few debug messages for the Windows device driver developer + // tells you the time when driver got its interrupt and the delay until the app receives + // the event notification. + static double last_samples = 0; + char tmp[128]; + sprintf (tmp, "diff: %d / %d ms / %d ms / %d samples \n", asioDriverInfo.sysRefTime - (long)(asioDriverInfo.nanoSeconds / 1000000.0), asioDriverInfo.sysRefTime, (long)(asioDriverInfo.nanoSeconds / 1000000.0), (long)(asioDriverInfo.samples - last_samples)); + OutputDebugString (tmp); + last_samples = asioDriverInfo.samples; +#endif + + // buffer size in samples + long buffSize = asioDriverInfo.preferredSize; + + // perform the processing + for (int i = 0; i < asioDriverInfo.inputBuffers + asioDriverInfo.outputBuffers; i++) + { + if (asioDriverInfo.bufferInfos[i].isInput == false) + { + // OK do processing for the outputs only + switch (asioDriverInfo.channelInfos[i].type) + { + case ASIOSTInt16LSB: + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 2); + break; + case ASIOSTInt24LSB: // used for 20 bits as well + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 3); + break; + case ASIOSTInt32LSB: + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + case ASIOSTFloat32LSB: // IEEE 754 32 bit float, as found on Intel x86 architecture + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + case ASIOSTFloat64LSB: // IEEE 754 64 bit double float, as found on Intel x86 architecture + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 8); + break; + + // these are used for 32 bit data buffer, with different alignment of the data inside + // 32 bit PCI bus systems can more easily used with these + case ASIOSTInt32LSB16: // 32 bit data with 18 bit alignment + case ASIOSTInt32LSB18: // 32 bit data with 18 bit alignment + case ASIOSTInt32LSB20: // 32 bit data with 20 bit alignment + case ASIOSTInt32LSB24: // 32 bit data with 24 bit alignment + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + + case ASIOSTInt16MSB: + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 2); + break; + case ASIOSTInt24MSB: // used for 20 bits as well + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 3); + break; + case ASIOSTInt32MSB: + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + case ASIOSTFloat32MSB: // IEEE 754 32 bit float, as found on Intel x86 architecture + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + case ASIOSTFloat64MSB: // IEEE 754 64 bit double float, as found on Intel x86 architecture + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 8); + break; + + // these are used for 32 bit data buffer, with different alignment of the data inside + // 32 bit PCI bus systems can more easily used with these + case ASIOSTInt32MSB16: // 32 bit data with 18 bit alignment + case ASIOSTInt32MSB18: // 32 bit data with 18 bit alignment + case ASIOSTInt32MSB20: // 32 bit data with 20 bit alignment + case ASIOSTInt32MSB24: // 32 bit data with 24 bit alignment + memset (asioDriverInfo.bufferInfos[i].buffers[index], 0, buffSize * 4); + break; + } + } + } + + // finally if the driver supports the ASIOOutputReady() optimization, do it here, all data are in place + if (asioDriverInfo.postOutput) + ASIOOutputReady(); + + if (processedSamples >= asioDriverInfo.sampleRate * TEST_RUN_TIME) // roughly measured + asioDriverInfo.stopped = true; + else + processedSamples += buffSize; + + return 0L; +} + +//---------------------------------------------------------------------------------- +void bufferSwitch(long index, ASIOBool processNow) +{ // the actual processing callback. + // Beware that this is normally in a seperate thread, hence be sure that you take care + // about thread synchronization. This is omitted here for simplicity. + + // as this is a "back door" into the bufferSwitchTimeInfo a timeInfo needs to be created + // though it will only set the timeInfo.samplePosition and timeInfo.systemTime fields and the according flags + ASIOTime timeInfo; + memset (&timeInfo, 0, sizeof (timeInfo)); + + // get the time stamp of the buffer, not necessary if no + // synchronization to other media is required + if(ASIOGetSamplePosition(&timeInfo.timeInfo.samplePosition, &timeInfo.timeInfo.systemTime) == ASE_OK) + timeInfo.timeInfo.flags = kSystemTimeValid | kSamplePositionValid; + + bufferSwitchTimeInfo (&timeInfo, index, processNow); +} + + +//---------------------------------------------------------------------------------- +void sampleRateChanged(ASIOSampleRate sRate) +{ + // do whatever you need to do if the sample rate changed + // usually this only happens during external sync. + // Audio processing is not stopped by the driver, actual sample rate + // might not have even changed, maybe only the sample rate status of an + // AES/EBU or S/PDIF digital input at the audio device. + // You might have to update time/sample related conversion routines, etc. +} + +//---------------------------------------------------------------------------------- +long asioMessages(long selector, long value, void* message, double* opt) +{ + // currently the parameters "value", "message" and "opt" are not used. + long ret = 0; + switch(selector) + { + case kAsioSelectorSupported: + if(value == kAsioResetRequest + || value == kAsioEngineVersion + || value == kAsioResyncRequest + || value == kAsioLatenciesChanged + // the following three were added for ASIO 2.0, you don't necessarily have to support them + || value == kAsioSupportsTimeInfo + || value == kAsioSupportsTimeCode + || value == kAsioSupportsInputMonitor) + ret = 1L; + break; + case kAsioResetRequest: + // defer the task and perform the reset of the driver during the next "safe" situation + // You cannot reset the driver right now, as this code is called from the driver. + // Reset the driver is done by completely destruct is. I.e. ASIOStop(), ASIODisposeBuffers(), Destruction + // Afterwards you initialize the driver again. + asioDriverInfo.stopped; // In this sample the processing will just stop + ret = 1L; + break; + case kAsioResyncRequest: + // This informs the application, that the driver encountered some non fatal data loss. + // It is used for synchronization purposes of different media. + // Added mainly to work around the Win16Mutex problems in Windows 95/98 with the + // Windows Multimedia system, which could loose data because the Mutex was hold too long + // by another thread. + // However a driver can issue it in other situations, too. + ret = 1L; + break; + case kAsioLatenciesChanged: + // This will inform the host application that the drivers were latencies changed. + // Beware, it this does not mean that the buffer sizes have changed! + // You might need to update internal delay data. + ret = 1L; + break; + case kAsioEngineVersion: + // return the supported ASIO version of the host application + // If a host applications does not implement this selector, ASIO 1.0 is assumed + // by the driver + ret = 2L; + break; + case kAsioSupportsTimeInfo: + // informs the driver wether the asioCallbacks.bufferSwitchTimeInfo() callback + // is supported. + // For compatibility with ASIO 1.0 drivers the host application should always support + // the "old" bufferSwitch method, too. + ret = 1; + break; + case kAsioSupportsTimeCode: + // informs the driver wether application is interested in time code info. + // If an application does not need to know about time code, the driver has less work + // to do. + ret = 0; + break; + } + return ret; +} + + +//---------------------------------------------------------------------------------- +ASIOError create_asio_buffers (DriverInfo *asioDriverInfo) +{ // create buffers for all inputs and outputs of the card with the + // preferredSize from ASIOGetBufferSize() as buffer size + long i; + ASIOError result; + + // fill the bufferInfos from the start without a gap + ASIOBufferInfo *info = asioDriverInfo->bufferInfos; + + // prepare inputs (Though this is not necessaily required, no opened inputs will work, too + if (asioDriverInfo->inputChannels > kMaxInputChannels) + asioDriverInfo->inputBuffers = kMaxInputChannels; + else + asioDriverInfo->inputBuffers = asioDriverInfo->inputChannels; + for(i = 0; i < asioDriverInfo->inputBuffers; i++, info++) + { + info->isInput = ASIOTrue; + info->channelNum = i; + info->buffers[0] = info->buffers[1] = 0; + } + + // prepare outputs + if (asioDriverInfo->outputChannels > kMaxOutputChannels) + asioDriverInfo->outputBuffers = kMaxOutputChannels; + else + asioDriverInfo->outputBuffers = asioDriverInfo->outputChannels; + for(i = 0; i < asioDriverInfo->outputBuffers; i++, info++) + { + info->isInput = ASIOFalse; + info->channelNum = i; + info->buffers[0] = info->buffers[1] = 0; + } + + // create and activate buffers + result = ASIOCreateBuffers(asioDriverInfo->bufferInfos, + asioDriverInfo->inputBuffers + asioDriverInfo->outputBuffers, + asioDriverInfo->preferredSize, &asioCallbacks); + if (result == ASE_OK) + { + // now get all the buffer details, sample word length, name, word clock group and activation + for (i = 0; i < asioDriverInfo->inputBuffers + asioDriverInfo->outputBuffers; i++) + { + asioDriverInfo->channelInfos[i].channel = asioDriverInfo->bufferInfos[i].channelNum; + asioDriverInfo->channelInfos[i].isInput = asioDriverInfo->bufferInfos[i].isInput; + result = ASIOGetChannelInfo(&asioDriverInfo->channelInfos[i]); + if (result != ASE_OK) + break; + } + + if (result == ASE_OK) + { + // get the input and output latencies + // Latencies often are only valid after ASIOCreateBuffers() + // (input latency is the age of the first sample in the currently returned audio block) + // (output latency is the time the first sample in the currently returned audio block requires to get to the output) + result = ASIOGetLatencies(&asioDriverInfo->inputLatency, &asioDriverInfo->outputLatency); + if (result == ASE_OK) + printf ("ASIOGetLatencies (input: %d, output: %d);\n", asioDriverInfo->inputLatency, asioDriverInfo->outputLatency); + } + } + return result; +} + +int main(int argc, char* argv[]) +{ + // load the driver, this will setup all the necessary internal data structures + if (loadAsioDriver (ASIO_DRIVER_NAME)) + { + // initialize the driver + if (ASIOInit (&asioDriverInfo.driverInfo) == ASE_OK) + { + printf ("asioVersion: %d\n" + "driverVersion: %d\n" + "Name: %s\n" + "ErrorMessage: %s\n", + asioDriverInfo.driverInfo.asioVersion, asioDriverInfo.driverInfo.driverVersion, + asioDriverInfo.driverInfo.name, asioDriverInfo.driverInfo.errorMessage); + if (init_asio_static_data (&asioDriverInfo) == 0) + { + // ASIOControlPanel(); you might want to check wether the ASIOControlPanel() can open + + // set up the asioCallback structure and create the ASIO data buffer + asioCallbacks.bufferSwitch = &bufferSwitch; + asioCallbacks.sampleRateDidChange = &sampleRateChanged; + asioCallbacks.asioMessage = &asioMessages; + asioCallbacks.bufferSwitchTimeInfo = &bufferSwitchTimeInfo; + if (create_asio_buffers (&asioDriverInfo) == ASE_OK) + { + if (ASIOStart() == ASE_OK) + { + // Now all is up and running + fprintf (stdout, "\nASIO Driver started succefully.\n\n"); + while (!asioDriverInfo.stopped) + { +#if WINDOWS + Sleep(100); // goto sleep for 100 milliseconds +#elif MAC + unsigned long dummy; + Delay (6, &dummy); +#endif + fprintf (stdout, "%d ms / %d ms / %d samples", asioDriverInfo.sysRefTime, (long)(asioDriverInfo.nanoSeconds / 1000000.0), (long)asioDriverInfo.samples); + + // create a more readable time code format (the quick and dirty way) + double remainder = asioDriverInfo.tcSamples; + long hours = (long)(remainder / (asioDriverInfo.sampleRate * 3600)); + remainder -= hours * asioDriverInfo.sampleRate * 3600; + long minutes = (long)(remainder / (asioDriverInfo.sampleRate * 60)); + remainder -= minutes * asioDriverInfo.sampleRate * 60; + long seconds = (long)(remainder / asioDriverInfo.sampleRate); + remainder -= seconds * asioDriverInfo.sampleRate; + fprintf (stdout, " / TC: %2.2d:%2.2d:%2.2d:%5.5d", (long)hours, (long)minutes, (long)seconds, (long)remainder); + + fprintf (stdout, " \r"); + #if !MAC + fflush (stdout); + #endif + } + ASIOStop(); + } + ASIODisposeBuffers(); + } + } + ASIOExit(); + } + asioDrivers->removeCurrentDriver(); + } + return 0; +} + + +unsigned long get_sys_reference_time() +{ // get the system reference time +#if WINDOWS + return timeGetTime(); +#elif MAC +static const double twoRaisedTo32 = 4294967296.; + UnsignedWide ys; + Microseconds(&ys); + double r = ((double)ys.hi * twoRaisedTo32 + (double)ys.lo); + return (unsigned long)(r / 1000.); +#endif +} diff --git a/src/hostapi/asio/ASIOSDK/host/sample/hostsample.dsp b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.dsp new file mode 100644 index 0000000..1c38f06 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.dsp @@ -0,0 +1,134 @@ +# Microsoft Developer Studio Project File - Name="hostsample" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=hostsample - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "hostsample.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "hostsample.mak" CFG="hostsample - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "hostsample - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "hostsample - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "hostsample - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "../../common" /I "../../host" /I "../../host/pc" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x809 /d "NDEBUG" +# ADD RSC /l 0x809 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "hostsample - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../common" /I "../../host" /I "../../host/pc" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x809 /d "_DEBUG" +# ADD RSC /l 0x809 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "hostsample - Win32 Release" +# Name "hostsample - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\common\asio.cpp +# End Source File +# Begin Source File + +SOURCE=..\asiodrivers.cpp +# End Source File +# Begin Source File + +SOURCE=..\pc\asiolist.cpp +# End Source File +# Begin Source File + +SOURCE=.\hostsample.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\common\asio.h +# End Source File +# Begin Source File + +SOURCE=..\asiodrivers.h +# End Source File +# Begin Source File + +SOURCE=..\pc\asiolist.h +# End Source File +# Begin Source File + +SOURCE=..\ginclude.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Source File + +SOURCE=.\ReadMe.txt +# End Source File +# End Target +# End Project diff --git a/src/hostapi/asio/ASIOSDK/host/sample/hostsample.vcproj b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.vcproj new file mode 100644 index 0000000..130fc5c --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/host/sample/hostsample.vcproj @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/hostapi/asio/ASIOSDK/readme.txt b/src/hostapi/asio/ASIOSDK/readme.txt new file mode 100644 index 0000000..35f62e6 --- /dev/null +++ b/src/hostapi/asio/ASIOSDK/readme.txt @@ -0,0 +1,55 @@ +ASIO 2.3 SDK Contents +--------------------- + +readme.txt - this file +changes.txt - contains change information between + SDK releases +ASIO SDK 2.3.pdf - ASIO SDK 2.3 specification +Steinberg ASIO Licensing Agreement.pdf - Licencing Agreement + +common: +asio.h - ASIO C definition +iasiodrv.h - interface definition for the ASIO driver class +asio.cpp - asio host interface (not used on Mac) +asiodrvr.h +asiodrvr.cpp - ASIO driver class base definition +combase.h +combase.cpp - COM base definitions (PC only) +dllentry.cpp - DLL functions (PC only) +register.cpp - driver self registration functionality +wxdebug.h +debugmessage.cpp - some debugging help + +host: +asiodrivers.h +asiodrivers.cpp - ASIO driver managment (enumeration and instantiation) +ASIOConvertSamples.h +ASIOConvertSamples.cpp - sample data format conversion class +ginclude.h - platform specific definitions + +host/mac: +asioshlib.cpp - asio.cpp for the Mac, resolves the symbols +codefragments.hpp +codefragments.cpp - code fragment loader + +host/pc: +asiolist.h +asiolist.cpp - instantiates an ASIO driver via the COM model + +host/sample: +hostsample.cpp - a simple console app which shows ASIO hosting +hostsample.dsp - MSVC++ 5.0 project +hostsample.vcproj - Visual Studio 2005 project (32 and 64 bit targets) + +driver/asiosample: +asiosmpl.h +asiosmpl.cpp - ASIO 2.0 sample driver +wintimer.cpp - bufferSwitch() wakeup thread (Windows) +asiosample.def - Windows DLL module export definition +mactimer.cpp - bufferSwitch() wakeup thread (Macintosh) +macnanosecs.cpp - Macintosh system reference time +makesamp.cpp - Macintosh driver object instantiation + +driver/asiosample/asiosample: +asiosample.dsp - MSVC++ 5.0 project +asiosample.vcproj - Visual Studio 2005 project (32 and 64 bit targets) diff --git a/src/hostapi/asio/asiosdk2.3.zip b/src/hostapi/asio/asiosdk2.3.zip new file mode 100644 index 0000000000000000000000000000000000000000..fc513a0ba678d5503ac92b96b612794d60e6f094 GIT binary patch literal 422934 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 literal 0 HcmV?d00001 -- 2.43.0