* Internat: use _WIN32 instead of _MSC_VER for DebugBreak()
For compiling with MinGW, it is required that it uses the same code of Visual Studio when __WXDEBUG__ is defined.
* Internat: replace previous _WIN32 with WXMSW
* [CMAKE] Portaudio: do not activate OSS on Windows
I had a strange error when building the local portaudio library with MinGW under msys2.
The error was caused by the file sys/soundcard.h that was found somewhere in the path, because use_pa_oss is always activated regardless the platform.
So, in my opinion it is better to not activate this option if the platform is Windows.
Afterall, it is useless in this case.
* [CMAKE] Portaudio: move also remaining OSS code
As you can see from the original CMakeLists.txt into the sources of Portaudio, the file pa_x86_plain_converters.c can be compiled only with Visual C++, so it should not be include if there is not the Microsoft Compiler.
I got an error when compiling with wxWidgets 3.0.4, because wxPowerResource is undefined.
It seems to me that wxPowerResource has been introduced with wxWidgets 3.1.x branch:
51d715e46d (diff-93a9bace734a8065b203ebd2f670cbe8)
so, it would be worth to check if the feature is supported at compile time.
Several of the dialog were missing acccess keys.
Note: access keys not added to Distortion effect as yet, due to complexity of control names changing when the Distortion type is changed.
When compiling with CMake and MinGW, I got these two errors:
audacity/lib-src/mod-script-pipe/PipeServer.cpp:18:29: warning: ISO C++ forbids converting a string constant to 'LPTSTR' {aka 'char*'} [-Wwrite-strings]
18 | LPTSTR pipeNameToSrv= _T("\\\\.\\pipe\\ToSrvPipe");
audacity/lib-src/mod-script-pipe/PipeServer.cpp:32:32: warning: ISO C++ forbids converting a string constant to 'LPTSTR' {aka 'char*'} [-Wwrite-strings]
32 | LPTSTR pipeNameFromSrv= __T("\\\\.\\pipe\\FromSrvPipe");
The solution is to replace LPTSTR and convert these two pointers into two const objects.