... after construction time for ToolManager, so that ToolManager can be
constructed earlier than ProjectWindow, and therefore the unspecified sequence
of invocation of factories of attached objects in the project won't lead to a
crash on any platform
The device toolbar was coming out too short after a 'ResetConfiguration'.
The upgrade detection process was messing with it. The fix is to
remember what version we are on.
Fix:
In the constructor for Mixer, the start and end times should be in seconds, not sample numbers.
Also fixed in passing, in computing end time of a track, the max of the two channels should be used, rather than the min.
... Fixed by changing a move constructor to a copy constructor for the
exception object. Not sure why that should be needed, according to the C++
standard, but so it is with the MSVC compiler.
If you try to build local SBSMS with CMake for i686, you get many error messages like this one:
audacity/lib-src/sbsms/src/fft.h:346:29: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
The solution is to add the option provided by SSE_FLAGS.
So, I replicated in this PR the same fix made for local soundtouch and LAME library.
When compiling, I got this error:
/lib-src/libnyquist/nyquist/nyqsrc/sndread.c: In function 'snd_make_read':
/lib-src/libnyquist/nyquist/nyqsrc/sndread.c:169:30: error: invalid operands to binary | (have 'int' and 'long int *')
169 | susp->sf_info.format |= format;
| ^~
I would like to suggest this fix for this error.
* [NYQUIST] Fix build on CYGWIN
Cygwin requires to include unistd.h for building without errors.
* [NYQUIST] Fix build on CYGWIN.
Cygwin requires to include endian.h to build without errors.
Now it resets the toolbars, and fixes three common 'stuck-in-a-mode' issues.
Paul wrote: "I would move that function [OnResetToolBars(context)] into ToolManager.cpp so it can be called from ToolBarMenus.cpp and HelpMenus.cpp, with neither of those two dependent on the other."