richarddobson 3 gadi atpakaļ
vecāks
revīzija
5807817c84

+ 30 - 0
dev/externals/paprogs/palinuxbuild.txt

@@ -0,0 +1,30 @@
+palinuxbuild.txt:
+
+Portaudio is required by the audio programs (paplay, pvplay, recsf, listaudevs).
+
+
+The audio program CMake makefiles assume availability and use of both alsa and jack.
+
+download the latest v19 stable release from: http://files.portaudio.com/download.html
+
+To build, unpack pa--tgz in situ; this will create a portaudio directory. 
+
+ 
+Run configure with these options:
+
+./configure --with-alsa --with-jack
+
+Then run make as usual to build, 
+
+Do not perform 'make install' unless you are happy for it to replace your current system portaudio libs.
+
+The CDP makefiles look for the local lib/.libs folder for libportaudio.a
+
+
+
+
+
+
+
+
+

+ 35 - 0
dev/externals/paprogs/pamacbuild.txt

@@ -0,0 +1,35 @@
+pamacbuild.txt 19-10-2021
+
+This outlines the procedure to configure portaudio to build as a native static library on OS X,
+required by the audio programs (paplay, pvplay, recsf, listaudevs). 
+This assumes a full Xcode installation complete with all
+required command-line tools.
+
+Download the latest "stable" version of portaudio from: http://files.portaudio.com/download.html
+
+Expand the pa_stable...tgz file
+
+This portaudio distribution only supports CMake for Windows platforms. 
+To build for the Mac, follow the usual procedures based on autoconf. 
+
+Portaudio by default tries to build for the earliest possible versions of MacOS (in theory, as far back as 10.4, say),
+but modern installations of Xcode do not provide compatible versions of system libraries, so a build
+specifying an early minimum version may fail with link errors. 
+The configure flag --enable-mac-universal=no ensures portaudio is only built 
+for the current native architecture, and for available recent OS versions.
+
+Run ./configure as shown here - the CDP audio programs only require the static library, not dylibs.
+ 
+./configure --enable-shared=no --enable-mac-universal=no
+
+Then run make as usual to build. 
+
+The CDP makefiles look for the local (to the CDP programs) lib/.libs folder for libportaudio.a
+This procedure therefore does not replace any version of portaudio already installed in /usr folders.
+
+
+
+
+
+
+

+ 70 - 0
dev/externals/paprogs/pamingwbuild.txt

@@ -0,0 +1,70 @@
+How to buld Portaudio static library for Windows, using MinGW. 
+
+This is required by the audio programs (paplay, pvplay, recsf, listaudevs)
+
+This assumes MinGW is already installed. This has been developed using the standard MinGW distribution; 
+it has not been tested with the Mingw-64 system. There are currently no plans to build 64bit versions of CDP for Windows.
+Either or both ASIO and Directx support is needed for building the programs.
+
+
+1. If ASIO support is desired, obtain the SDK from the Steinberg site (we are not allowed to distribute it ourselves).
+See: http://www.steinberg.net/en/company/developer.html
+
+It is convenient to put the unpacked directory ASIOSDK2 inside the portaudio folder, for ease of reference,
+and especially if it is shared with other projects, but other locations are possible, including /usr/local. 
+See the web page referenced at the bottom of this document.
+
+2. DirectSound support
+
+Unzip dx9mgw.zip into (e.g.) your MinGW home directory. This is the location assumed in the following instructions.
+These examples assume the user name is "Richard". of course, replace this as needed with your MinGW user name.
+
+Source of this sdk: http://alleg.sourceforge.net/files/dx9mgw.zip
+(see https://www.allegro.cc/forums/thread/610763)
+
+
+ 
+Portaudio configure has to be told which APIs to activate, and the paths to the SDKs for those APIs.
+
+cd to the portaudio directory (inside dev/externals/paprogs)
+
+ASIO only configure (NB long lines here):
+
+$ ./configure --with-host_os=mingw --with-winapi=asio --without-jack --enable-shared=no --enable-debug-output=no --with-asiodir=./ASIOSDK2
+
+
+dsound only configure:
+
+$ ./configure --with-host_os=mingw --with-winapi=directx --without-jack --enable-shared=no --enable-debug-output=no --with-dxdir=/home/Richard/dx9mgw 
+
+Both (recommended): simply include all the above API and directory flags in the rules to ./configure.
+
+  
+This generates the Makefile which we will use to build portaudio
+
+3. Modify the Makefile
+
+Add the define -DPAWIN_USE_WDMKS_DEVICE_INFO to CFLAGS and CXXFLAGS
+
+Add the object file src/os/win/pa_win_wdmks_utils.o  to the OTHER_OJBJS list
+
+
+The standard configure does not set up the exact combination we need, for multichannel device support.
+
+
+
+And finally:
+
+$ make
+
+Note: only the static library libportaudio.a is built.
+The makefiles for the audio programs look for this in the local hidden directory (lib/.libs).
+There is no need to run [sudo] make install, which would overwrite any existing systemwide copy.
+
+
+See also here, for an extended discussion of how to build portaudio with MinGW:
+
+https://www.assembla.com/spaces/portaudio/wiki/Notes_about_building_PortAudio_with_MinGW
+
+Richard Dobson Dec 2022
+