Closes #1413Closes#1414
This commit addresses issues with building PortMixer
using the upstream version of PortAudio.
The resulting solution allows:
* To build Linux with the vanilla PortAudio.
* To build Windows with the vanilla PortAudio, but the notable exceptions:
* for PortMixer to work on MME - PA 19.7.0 is required; only static linking is supported. A patch is available to allow dynamic linking;
* for PortMixer to work on DirectSound - the patch is always required.
Remove nyquist autotools
This was done on a Ubuntu 14.04 system with wxWidgets 3.1.1 installed.
The resulting buildfiles successfully build Audacity on Ubuntu 14.04 (with 3.1.1) and on Travis (with 3.0.0).
Ensures that all files that Git considers to be text will have
normalized (LF) line endings in the repository. When core.eol is set to
native (which is the default), Git will convert the line endings of
normalized files in your working directory back to your platform's
native line ending.
See also https://git-scm.com/docs/gitattributes
This way, building the minsrc tarball doesn't require multiple versions
of Automake to be installed. (Most things were at the 1.11 version, but
some were at the 1.14 version.)
Building minsrc should now work just fine.
Note: Not all devices (like my RME Babyface) allow you to control
the volume via WASAPI. So, even though volume adjustments appear
to work visually (sliders move in volume control panel), they may
not actually change.
enable support for using the system portaudio library. The latter
also corrects a long standing bug that prevented using config.status
to regenerate src/Makefile.
As a result of the above, I've taken Benjamin's *_LOCAL_CONFIGURE_ARGS
idea and propagated its usage to the other place where ac_configure_args
was being set directly.
Removed old stuff from lib-src/Makefile.in and made the library locations
for portaudio and portmixer like the rest (a symlink in lib-src).
Reworked portmixer's configure.ac to properly detect host apis.
Also, in some research I learned that the DirectSound guid to Wave ID function can sometimes return success without writing to the output struct at all. I added a check to initialize and bail if this happens. This can possibly help with some of our USB issues.
note that this change may require a solution clean and rebuild because it is in libsrc.
Also affects bug 29, as before portmixer was fetching the wrong mixer when many devices were available, but this does not address all issues.