]> Repos - portaudio/commitdiff
updated Windows+ASIO build tutorial: Building Portaudio for Windows with ASIO support... pa_stable_v19_20140130_r1919
authorrbencina <rbencina@0f58301d-fd10-0410-b4af-bbb618454e57>
Thu, 30 Jan 2014 11:46:42 +0000 (11:46 +0000)
committerrbencina <rbencina@0f58301d-fd10-0410-b4af-bbb618454e57>
Thu, 30 Jan 2014 11:46:42 +0000 (11:46 +0000)
doc/src/tutorial/compile_windows_asio_msvc.dox

index 98ff2e36c2aca523851929754df3662e7fbefee8..b4c2ab0dc5d7bcf7734c4b35e673628d48cb3c8d 100644 (file)
@@ -7,14 +7,14 @@ This tutorial describes how to build PortAudio with ASIO support using MSVC *fro
 \r
 ASIO is a low latency audio API from Steinberg. To compile an ASIO\r
 application, you must first download the ASIO SDK from Steinberg. You also\r
-need to obtain ASIO drivers for your audio device. Download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html. The SDK is free but you will need to set up a developer account with Steinberg.\r
+need to obtain ASIO drivers for your audio device. Download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html . The SDK is free but you will need to set up a developer account with Steinberg.\r
 \r
 This tutorial assumes that you have 3 directories set up at the same level (side by side), one containing PortAudio, one containing the ASIO SDK and one containing your Visual Studio project:\r
 \r
 @code\r
 /ASIOSDK2 \r
 /portaudio\r
-/DirContainingYourVisualStudioProject\r
+/DirContainingYourVisualStudioProject  (should directly contain the .sln, .vcproj or .vcprojx etc.)\r
 @endcode\r
 \r
 First, make sure that the Steinberg SDK and the portaudio files are "side by side" in the same directory.\r
@@ -54,10 +54,11 @@ pa_stream.c                     (portaudio\src\common)
 pa_trace.c                      (portaudio\src\common)\r
 pa_win_hostapis.c               (portaudio\src\os\win)\r
 pa_win_util.c                   (portaudio\src\os\win)\r
+pa_win_coinitialize.c           (portaudio\src\os\win)\r
 pa_win_waveformat.c             (portaudio\src\os\win)\r
 pa_x86_plain_converters.c       (portaudio\src\os\win)\r
-patest_saw.c                    (portaudio\test)  (Or another file containing main() \r
-                                                   for the console exe to be built.)\r
+paex_saw.c                      (portaudio\examples)  (Or another file containing main() \r
+                                                      for the console exe to be built.)\r
 @endcode\r
 \r
 \r
@@ -71,25 +72,26 @@ pa_asio.h                       (portaudio\include)
 These header files define the interfaces to the PortAudio API.\r
 \r
 \r
-Next, go to Project Settings > All Configurations  > C/C++ > Preprocessor > Preprocessor definitions and add\r
+Next, go to Project Settings > All Configurations > C/C++ > Preprocessor > Preprocessor Definitions and add\r
 PA_USE_ASIO=1 to any entries that might be there.\r
 \r
 eg: WIN32;_CONSOLE;_MBCS   changes to    WIN32;_CONSOLE,_MBCS;PA_USE_ASIO=1\r
 \r
-Then, on the same Project Settings tab, go down to Additional include directories: and enter the following relative include paths.\r
+Then, on the same Project Settings tab, go down to Additional Include Directories (in VS2010 you'll find this setting under C/C++ > General) and enter the following relative include paths:\r
 \r
 @code\r
-..\portaudio\include,..\portaudio\src\common,..\asiosdk2\common,..\asiosdk2\host,..\asiosdk2\host\pc\r
+..\portaudio\include;..\portaudio\src\common;..\portaudio\src\os\win;..\asiosdk2\common;..\asiosdk2\host;..\asiosdk2\host\pc\r
 @endcode\r
 \r
 You'll need to make sure the relative paths are correct for the particular directory layout you're using. The above should work fine if you use the side-by-side layout we recommended earlier.\r
 \r
-You should now be able to build any of the test executables in the portaudio\test directory.\r
-We suggest that you start with patest_saw.c because it's one of the simplest test files.\r
+Some source code in the ASIO SDK is not compatible with the Win32 API UNICODE mode (The ASIO SDK expects the non-Unicode Win32 API). Therefore you need to make sure your project is set to not use Unicode. You do this by setting the project Character Set to "Use Multi-Byte Character Set" (NOT "Use Unicode Character Set"). In VS2010 the Character Set option can be found at Configuration Properties > General > Character Set. (An alternative to setting the project to non-Unicode is to patch asiolist.cpp to work when UNICODE is defined: put #undef UNICODE at the top of the file before windows.h is included.)\r
+\r
+You should now be able to build any of the test executables in the portaudio\\examples directory.\r
+We suggest that you start with paex_saw.c because it's one of the simplest example files.\r
 \r
 --- Chris Share, Tom McCandless, Ross Bencina\r
 \r
-[wiki:UsingThePortAudioSvnRepository  SVN instructions]\r
 Back to the Tutorial: \ref tutorial_start\r
 \r
 */
\ No newline at end of file