Chris@4: Hello Chris@4: Chris@4: This is a small list of steps in order to build portaudio Chris@4: (Currently v19-devel) into a VS2005 DLL and lib file. Chris@4: This DLL contains all 5 current Win32 PA APIS (MME/DS/ASIO/WASAPI/WDMKS) Chris@4: Chris@4: 1)Copy the source dirs that comes with the ASIO SDK inside src\hostapi\asio\ASIOSDK Chris@4: so you should now have example: Chris@4: Chris@4: portaudio19svn\src\hostapi\asio\ASIOSDK\common Chris@4: portaudio19svn\src\hostapi\asio\ASIOSDK\host Chris@4: portaudio19svn\src\hostapi\asio\ASIOSDK\host\sample Chris@4: portaudio19svn\src\hostapi\asio\ASIOSDK\host\pc Chris@4: portaudio19svn\src\hostapi\asio\ASIOSDK\host\mac (not needed) Chris@4: Chris@4: You dont need "driver" Chris@4: Chris@4: To build without ASIO (or another Host API) see the "Building without ASIO support" section below. Chris@4: Chris@4: 2) Chris@4: *If you have Visual Studio 6.0*, please make sure you have it updated with the latest (and final) Chris@4: microsoft libraries for it, namely: Chris@4: Chris@4: Service pack 5: Chris@4: Latest known URL: Chris@4: http://msdn2.microsoft.com/en-us/vstudio/aa718363.aspx Chris@4: Yes there EXISTS a service pack 6 , but the processor pack (below) isnt compatible with it. Chris@4: Chris@4: Processor Pack(only works with above SP5) Chris@4: Latest known URL: Chris@4: http://msdn2.microsoft.com/en-us/vstudio/Aa718349.aspx Chris@4: This isn't absolutely required for portaudio, but if you plan on using SSE intrinsics and similar things. Chris@4: Up to you to decide upon Service pack 5 or 6 depending on your need for intrinsics. Chris@4: Chris@4: Platform SDK (Feb 2003) : Chris@4: Latest known URL: Chris@4: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm Chris@4: (This will allow your code base to be x64 friendly, with correct defines Chris@4: for LONG_PTR and such) Chris@4: NOTE A) Yes you have to use IE activex scripts to install that - wont work in Firefox, you Chris@4: may have to temporarily change tyour default browser(aint life unfair) Chris@4: NOTE B) Dont forget to hit "Register PSDK Directories with Visual Studio". Chris@4: you can make sure its right in VC6 if you open tools/options/directories/include files and you see SDK 2003 as the FIRST entry Chris@4: (it must be the same for libs) Chris@4: Chris@4: DirectX 9.0 SDK Update - (Summer 2003) Chris@4: Latest known URL: Chris@4: http://www.microsoft.com/downloads/details.aspx?familyid=9216652f-51e0-402e-b7b5-feb68d00f298&displaylang=en Chris@4: Again register the links in VC6, and check inside vc6 if headers are in second place right after SDk 2003 Chris@4: Chris@4: *If you have 7.0(VC.NET/2001) or 7.1(VC.2003) * Chris@4: then I suggest you open portaudio.dsp (and convert if needed) Chris@4: Chris@4: *If you have Visual Studio 2005 * (or later), I suggest you open the portaudio.sln file Chris@4: which contains 2 projects (portaudio & portaudio_static) each with 6 configurations: Win32/x64 in both Debug, Release and ReleaseMinDependency, Chris@4: last of which removes dependency of all but basic OS system DLLs. Chris@4: Chris@4: hit compile and hope for the best. Chris@4: Chris@4: 3)Now in any project, in which you require portaudio, Chris@4: you can just link with portaudio_x86.lib, (or _x64) and of course include the Chris@4: relevant headers Chris@4: (portaudio.h, and/or pa_asio.h , pa_x86_plain_converters.h) See (*) Chris@4: Chris@4: 4) Your new exe should now use portaudio_xXX.dll. Chris@4: Chris@4: Chris@4: Have fun! Chris@4: Chris@4: (*): you may want to add/remove some DLL entry points. Chris@4: Right now those 6 entries are _not_ from portaudio.h Chris@4: Chris@4: (from portaudio.def) Chris@4: (...) Chris@4: PaAsio_GetAvailableLatencyValues @50 Chris@4: PaAsio_ShowControlPanel @51 Chris@4: PaUtil_InitializeX86PlainConverters @52 Chris@4: PaAsio_GetInputChannelName @53 Chris@4: PaAsio_GetOutputChannelName @54 Chris@4: PaUtil_SetLogPrintFunction @55 Chris@4: Chris@4: Chris@4: *** Building without ASIO support *** Chris@4: Chris@4: To build PortAudio without ASIO support you need to: Chris@4: A. Make sure your project doesn't try to build any ASIO SDK files. Chris@4: If you're using one of the shipped projects, remove the ASIO related files Chris@4: from the project. Chris@4: Chris@4: B. Make sure your project doesn't try to build the PortAudio ASIO Chris@4: implementation files: Chris@4: src/hostapi/pa_asio.cpp Chris@4: src/hostapi/iasiothiscallresolver.cpp Chris@4: If you're using one of the shipped projects remove them from the project. Chris@4: Chris@4: C. Set the PA_USE_ASIO preprocessor symbol to zero (i.e. PA_USE_ASIO=0) in the project properties. Chris@4: In VS2005 this can be added under Chris@4: Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions Chris@4: Chris@4: Setting PA_USE_ASIO=0 stops src/os/win/pa_win_hostapis.c Chris@4: from trying to initialize the PA ASIO implementation. Chris@4: Chris@4: D. Remove PaAsio_* entry points from portaudio.def, or comment them out with ; Chris@4: Chris@4: Chris@4: A similar procedure can be used to omit any of the other host APIs from the Chris@4: build. The relevant preprocessor symbols used by pa_win_hostapis.c are: Chris@4: PA_USE_WMME, PA_USE_DSOUND, PA_USE_ASIO, PA_USE_WASAPI and PA_USE_WDMKS Chris@4: Chris@4: ----- Chris@4: David Viens, davidv@plogue.com Chris@4: Robert Bielik, robert@xponaut.se