... not the negation of max(), which is wrong for unsigned types, and not
min(), which gives least normalized positive value for floating point types.
lowest() wasn't available before C++11.
... Redundant with the guard already in ApplyAndSendResponse, but this makes it
easier to reason about the exception safety of calls into Audacity from
Nyquist tools.
Problem. NVDA 2018.3 does not read buttons, check boxes or radio buttons which have empty accessibility names. In fact for Scriptable dialogs which start with a check box with an empty accessibility name, none of the controls in the dialog are read.
This problem is connected with the new Audacity appModule in NVDA 2018.3 which was supplied by Robert and myself. For reasons which aren't immediately obvious, it has a problem when the accessibility name of the object is empty.
Fix: for check boxes which have an empty label, set the accessibility name to "\a", which is non-empty, but not read by screen readers.
Note: If someone ever wanted to have buttons or radio buttons with empty labels, there could be a similar fix. But there is unlikely to be a demand for such controls.
The problem was that the end time was set to prohibit changes that brought it
before the start time. However an update to start time could update the end time
before the end time updated its legal range.
The prohibition on going backwards in time is only for user interaction with
that control, so we now clear the legal range before update and then recreate it.
This change also fixes:
Bug 1978 - Windows: Timer Record - a "debugging check" dialog is shown to the user
In passing I also noticed that the controls were being updated every 50ms.
This is totally pointless as they only show the nearest second. So I set the granularity
for control updates to 1s. (1000ms).
... A double-height bar can now insert left of two stacked single-height bars.
For instance you can un-dock the Tools toolbar from the default setup, then
drag it back, and now get the same result as you started with.
... Use correct symbolic constants in three places (no effect);
use proper theme color for the two pixels per track that are left of and
above the shadow (small effect when not Classic theme)
This revised fix:
- No longer attempts to drive "Default sample rate" from the selection toolbar.
- No longer drives 'Project rate' direct from prefs. It's usual it comes from the project.
- Instead 'Project rate' in the project might change if 'Default sample rate' pref is updated, but ONLY if the project has no tracks.
- When 'Project rate' in the project is updated, that is now always signaled to the selection toolbar. Previously it wasn't.