Or more precisely, don't do append-record, if doing so would lose a channel - e.g. if there is only a mono track selected and recording is set to stereo.
Using v3.1.1 removes our custom fixes - of which the most important tis the rename-retry to deal with virus checkers. We'll bring that back in later with code in Audacity itself.
Use --recurse-submodules as wxWidgets now has png and other subprojects as submodules.
The commented out wxLogDebug statements in Theme.cpp give the
location of all the boxes in the theme. This is useful
for identifying what is in the theme cache for javascript code.
This #ifdeffed out TEST_CARD is useful for javascript code that shows how a
theme will look, when applied to Audacity. With the code enabled, each
pixel of audacity is painted with a colour that encodes the location in
the theme image map that was used.
Net result - in javascript you can change any colour in the theme cache
and instantly see how Audacity will look.
We want to use the fix ups that use NuGet. However, they break the windows build-bot. At the moment the windows build-bot is more important than the better locale code - hence reverting.
The main change in wx accessibility is this:
7dab555f71 (diff-04f5191d86f95b1c4d5d9c979da65878)
However wxWindowAccessible has not been updated to take into account of that change. In particular wxWindowAccessible::GetParent() was always wrong, but it was consistent with the rest of the framework. Now it's wrong and inconsistent. This function should return an object with role window, and which has the same name.
The fix is to introduce class WindowAccessible, which is effectively our own version of wxWindowAccessible. This class does not override GetParent(), and so just relies on a standard accessible object to to the right thing in wxIAccessible::get_accParent() (which is does). This class also allows us to have our own version of GetName(), which allows us to set the accessibility names of buttons.
These changes will break the accessibility of Audacity if it is built with wxWidgets 3.0.X. If this is a problem, then there could be some #if stuff in WindowAccessible.h to turn the WindowAccessible class into one which simply inherits from wxWindowAccessible, and doesn't override anything.
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).
- Upped version number to Audacity 2.3.0 in configure.ac
- configure.ac now wants 3.1.1 but still accepts 3.0.0 (for top level, lib-widgets-extra and mod-nyq-bench)
- .travis.yml now apt-gets autopoint. This allows us to do an autoreconf -ivf on Travis, IF we want to, but i snot used yet.
- FileDialog MakeFile.am now has LDFLAGS to resolve libtools issue on Travis with missing --tags=CXX
Previously lib-src that we controlled had their cmake files with them. This is clearer.
Also added place holders for help and locale.
Also enabled libvorbis and soundtouch and disabled portburn.
https://github.com/sakra/cotire
Currently we only use it for precompiled headers for Audacity src.
There is a 'unity' build, but it needs work by us to fix it for duplicate
definition.
These now all appear in the MSVC project.
Currently only FileDialog, Nyquist, mod-script-pipe compile and link, and Audacity compiles.
Still to set include directories and flags for most of the libs.