mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-11-04 16:14:00 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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) isnt 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
 |