AudacityException is an abstract base class for exceptions generated by
Audacity.
GuardedCall wraps any function (usually a lambda) in an appropriate catch
block.
It can also accept a second function that defines a catch block action, which
can rethrow or return a value for the GuardedCall.
It can also accept a third function, that defines another, delayed action that
executes in the main thread at idle time if the second function intercepts an
AudacityException and completes without rethrow.
Defaults for the second function simply return void or false. Default for the
third function invokes a virtual method of AudacityException, which for
subclass MessageBoxException, displays a message box.
- For ALPHA builds we do a check version with the Welcome screen (if welcome screen is enabled).
- A 'Check Online' in the About box provides a new route to check version
- Check Version now passes CommitId and Build Date/Time to identify a version.
To actually close the bug we need the javascript on the server page to put up informative messages.
... At startup, spawn a copy process in main() and crash it at once. The
child process continues. (The fix was ineffective when the parent continued
and the child crashed.)
Re-activiation of the application is also needed or else the windows are
hidden behind other applications.
Another sleep when closing a project, to fix occurrences of the bug caused by
closing of a project window without saving changes.
Works by un-full-screening before closing. Patching wxWidgets was needed to
make that work correctly after full-screening by clicking on the green circle
in the title bar, but that fix is not needed for full screen after command+/
... many details will need further work, but basic navigation among
pushbuttons with control-alt-arrows and presses with control-alt-space will
work.
Shift-ctrl-alt-down on track panel works to navigate among individual tracks,
and shift-ctrl-alt-up to escape back to the higher level.
... Busy-waiting will happen on Mac when modal dialogs are open, and a LADSPA,
VST, or AudioUnits effect is also open with "fancy" interface.
Busy-waiting will not happen for modal dialogs at other times.
Enh1444 is to make pinch and spread gestures work.
Bug1435 is to bring focus rings back for types of controls that lost them in
version 2.1.2. This importantly includes pushbuttons and choice controls
(drop-down menus). Less importantly, date picker (as in the Timer Record
dialog) and Listbox (as in the dialog to choose label font).
There is one more type of control that lost focus rings, and is not fixed:
List controls (distinct from list boxes), such as in the Manage Curves dialog
that opens from Equalization.
... This poor imitation of the standard Mac Window menu only includes
Minimize and Zoom.
But this may be adequate for the complaints in Bug1198, when the yellow title
bar button is hidden and unreachable.