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