annotate src/portaudio_20140130/build/msvc/readme.txt @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents e3d5853d5918
children
rev   line source
cannam@124 1 Hello
cannam@124 2
cannam@124 3 This is a small list of steps in order to build portaudio
cannam@124 4 (Currently v19-devel) into a VS2005 DLL and lib file.
cannam@124 5 This DLL contains all 5 current Win32 PA APIS (MME/DS/ASIO/WASAPI/WDMKS)
cannam@124 6
cannam@124 7 1)Copy the source dirs that comes with the ASIO SDK inside src\hostapi\asio\ASIOSDK
cannam@124 8 so you should now have example:
cannam@124 9
cannam@124 10 portaudio19svn\src\hostapi\asio\ASIOSDK\common
cannam@124 11 portaudio19svn\src\hostapi\asio\ASIOSDK\host
cannam@124 12 portaudio19svn\src\hostapi\asio\ASIOSDK\host\sample
cannam@124 13 portaudio19svn\src\hostapi\asio\ASIOSDK\host\pc
cannam@124 14 portaudio19svn\src\hostapi\asio\ASIOSDK\host\mac (not needed)
cannam@124 15
cannam@124 16 You dont need "driver"
cannam@124 17
cannam@124 18 To build without ASIO (or another Host API) see the "Building without ASIO support" section below.
cannam@124 19
cannam@124 20 2)
cannam@124 21 *If you have Visual Studio 6.0*, please make sure you have it updated with the latest (and final)
cannam@124 22 microsoft libraries for it, namely:
cannam@124 23
cannam@124 24 Service pack 5:
cannam@124 25 Latest known URL:
cannam@124 26 http://msdn2.microsoft.com/en-us/vstudio/aa718363.aspx
cannam@124 27 Yes there EXISTS a service pack 6 , but the processor pack (below) isnt compatible with it.
cannam@124 28
cannam@124 29 Processor Pack(only works with above SP5)
cannam@124 30 Latest known URL:
cannam@124 31 http://msdn2.microsoft.com/en-us/vstudio/Aa718349.aspx
cannam@124 32 This isn't absolutely required for portaudio, but if you plan on using SSE intrinsics and similar things.
cannam@124 33 Up to you to decide upon Service pack 5 or 6 depending on your need for intrinsics.
cannam@124 34
cannam@124 35 Platform SDK (Feb 2003) :
cannam@124 36 Latest known URL:
cannam@124 37 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
cannam@124 38 (This will allow your code base to be x64 friendly, with correct defines
cannam@124 39 for LONG_PTR and such)
cannam@124 40 NOTE A) Yes you have to use IE activex scripts to install that - wont work in Firefox, you
cannam@124 41 may have to temporarily change tyour default browser(aint life unfair)
cannam@124 42 NOTE B) Dont forget to hit "Register PSDK Directories with Visual Studio".
cannam@124 43 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
cannam@124 44 (it must be the same for libs)
cannam@124 45
cannam@124 46 DirectX 9.0 SDK Update - (Summer 2003)
cannam@124 47 Latest known URL:
cannam@124 48 http://www.microsoft.com/downloads/details.aspx?familyid=9216652f-51e0-402e-b7b5-feb68d00f298&displaylang=en
cannam@124 49 Again register the links in VC6, and check inside vc6 if headers are in second place right after SDk 2003
cannam@124 50
cannam@124 51 *If you have 7.0(VC.NET/2001) or 7.1(VC.2003) *
cannam@124 52 then I suggest you open portaudio.dsp (and convert if needed)
cannam@124 53
cannam@124 54 *If you have Visual Studio 2005 * (or later), I suggest you open the portaudio.sln file
cannam@124 55 which contains 2 projects (portaudio & portaudio_static) each with 6 configurations: Win32/x64 in both Debug, Release and ReleaseMinDependency,
cannam@124 56 last of which removes dependency of all but basic OS system DLLs.
cannam@124 57
cannam@124 58 hit compile and hope for the best.
cannam@124 59
cannam@124 60 3)Now in any project, in which you require portaudio,
cannam@124 61 you can just link with portaudio_x86.lib, (or _x64) and of course include the
cannam@124 62 relevant headers
cannam@124 63 (portaudio.h, and/or pa_asio.h , pa_x86_plain_converters.h) See (*)
cannam@124 64
cannam@124 65 4) Your new exe should now use portaudio_xXX.dll.
cannam@124 66
cannam@124 67
cannam@124 68 Have fun!
cannam@124 69
cannam@124 70 (*): you may want to add/remove some DLL entry points.
cannam@124 71 Right now those 6 entries are _not_ from portaudio.h
cannam@124 72
cannam@124 73 (from portaudio.def)
cannam@124 74 (...)
cannam@124 75 PaAsio_GetAvailableLatencyValues @50
cannam@124 76 PaAsio_ShowControlPanel @51
cannam@124 77 PaUtil_InitializeX86PlainConverters @52
cannam@124 78 PaAsio_GetInputChannelName @53
cannam@124 79 PaAsio_GetOutputChannelName @54
cannam@124 80 PaUtil_SetLogPrintFunction @55
cannam@124 81
cannam@124 82
cannam@124 83 *** Building without ASIO support ***
cannam@124 84
cannam@124 85 To build PortAudio without ASIO support you need to:
cannam@124 86 A. Make sure your project doesn't try to build any ASIO SDK files.
cannam@124 87 If you're using one of the shipped projects, remove the ASIO related files
cannam@124 88 from the project.
cannam@124 89
cannam@124 90 B. Make sure your project doesn't try to build the PortAudio ASIO
cannam@124 91 implementation files:
cannam@124 92 src/hostapi/pa_asio.cpp
cannam@124 93 src/hostapi/iasiothiscallresolver.cpp
cannam@124 94 If you're using one of the shipped projects remove them from the project.
cannam@124 95
cannam@124 96 C. Set the PA_USE_ASIO preprocessor symbol to zero (i.e. PA_USE_ASIO=0) in the project properties.
cannam@124 97 In VS2005 this can be added under
cannam@124 98 Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
cannam@124 99
cannam@124 100 Setting PA_USE_ASIO=0 stops src/os/win/pa_win_hostapis.c
cannam@124 101 from trying to initialize the PA ASIO implementation.
cannam@124 102
cannam@124 103 D. Remove PaAsio_* entry points from portaudio.def, or comment them out with ;
cannam@124 104
cannam@124 105
cannam@124 106 A similar procedure can be used to omit any of the other host APIs from the
cannam@124 107 build. The relevant preprocessor symbols used by pa_win_hostapis.c are:
cannam@124 108 PA_USE_WMME, PA_USE_DSOUND, PA_USE_ASIO, PA_USE_WASAPI and PA_USE_WDMKS
cannam@124 109
cannam@124 110 -----
cannam@124 111 David Viens, davidv@plogue.com
cannam@124 112 Robert Bielik, robert@xponaut.se