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
|