mirror of https://github.com/asterisk/asterisk
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							109 lines
						
					
					
						
							4.3 KiB
						
					
					
				
			
		
		
	
	
							109 lines
						
					
					
						
							4.3 KiB
						
					
					
				| Hello
 | |
| 
 | |
|   This is a small list of steps in order to build portaudio
 | |
| (Currently v19-devel) into a VC6 DLL and lib file.
 | |
| This DLL contains all 3 current win32 PA APIS (MM/DS/ASIO)
 | |
| 
 | |
| 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 isnt 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*, I suggest you open the portaudio.sln file
 | |
|   which contains 4 configurations. Win32/x64 in both Release and Debug variants
 | |
| 
 | |
|   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. Define the PA_NO_ASIO preprocessor symbol in the project properties.
 | |
|      In VS2005 this can be added under
 | |
|      Project Properties > Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
 | |
| 
 | |
|      Defining PA_NO_ASIO stops src/os/win/pa_win_hostapis.c 
 | |
|      from trying to initialize the PA ASIO implementation.
 | |
| 
 | |
|   D. Remove PaAsio_* entry points from portaudio.def
 | |
| 
 | |
| 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_NO_WMME, PA_NO_DS, PA_NO_ASIO, PA_NO_WASAPI and PA_NO_WDMKS
 | |
| 
 | |
| 
 | |
| -----
 | |
| David Viens, davidv@plogue.com |