annotate src/portaudio_20161030/build/msvc/readme.txt @ 152:ffc6df9c760c

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