... I observed that you couldn't, with a Mac Mini connected to a monitor;
two output devices (monitor and built-in) but no input device (there is no
built in mic)
We were for example getting many of these:
\audacity\src\widgets\numerictextctrl.h(171): warning C4458: declaration of 'value' hides class member
MSVC2013 didn't warn about these, but MSVC2017 does.
- WindowsTargetPlatformVersion=10.0.17134.0; latest fixes, but believed still compatible with Windows 7.
- Platform=Win32;
- PreferredToolArchitecture=x64; 64 bit build tools can use more memory.
- PlatformToolset=v141; v140 would use MSVC2015 tools. v141 matches MSVC2017 IDE builds.
If we don't specify these, we get the defaults and could get wxWidgets compiled with SDK8.1 (default) and Audacity with a SDK 10.
Problem: the call mTrackPanel->SetFocusedTrack(NULL); in AudacityProject::OnUndo, and OnRedo cause NVDA to read the name of track one before reading the name of the track finally focused.
These calls were introduced by this commit:
Author: llucius <llucius@47890b92-0858-11df-a26f-8b716316a5bc>
Date: 9 years ago (23/03/2009 10:56:39)
Commit hash: bb7e9c186ab538d20ee5fa6a77da533902ec79a3
Children: 0034ab439e
Parent(s): 4ed2ff6dbf
Invalidate FocusedTrack pointer after undo/redo as it is no longer valid...I wonder if there are other cases like hits???
Fix: In TrackPanelAx, the last focused track is now stored as a weak_ptr, so these calls can be removed.
Problem. When an effect is applied, whatever track is the original focus, there is a focus event for track one. This causes NVDA to read out the track name of track 1, which is unnecessary noise.
The reason for this is that the execution of the Progress dialog destructor causes AudacityProject::OnActivate() to be called which causes a set focus on the TrackPanel. When this happens, the pointers to the selected tracks have changed, but the final focus has not been set (at the end of AudacityProject::DoEffect()). So TrackPanelAx::GetFocus returns the first track.
Fix: Modify TrackPanelAx::GetFocus so that if the existing pointer to the focused track is null, then use the track at the same position, if it exists.
... Contrary to the old comments, this class was no longer thread safe with
multi-core, because of the possibility of out-of-order reads and writes.
Use the minimal necessary memory ordering, not the default and maybe expensive
std::memory_order_seq_cst
At least one clicky recording has been seen where many small groups of
samples, a common power in two in size, seem to get displaced rightward.
I suspect out of order reads and writes might have caused that and this commit
might prevent it.
The shortcuts for these commands were changed in commit e01122e841fc25cd004ecea77b1665015700f937 to avoid conflicts with the access keys of menus.
They were changed to Ctrl+Alt+P/N. These aren't very convenient for typing, so this commit changes them to Alt+comma/period.
* commit 'a0bf2892fa20009a798f28387fc0e96bbe3260a0':
Revert "Possibly correct some cases of clicky playback or corrupt recording..."
Revert "Fix compilation on Windows."
Revert "Fixes for new ring buffers..."
Punch and roll from 0.0 deletes the whole track before punch and rolling.
That is unlikely to be what the user intended, since there is then no audio
cue, so disallow it.
Also reduced indentation.