... Because label wasn't used when reading back, and it was, questionably,
writing localized strings out.
CommandManager serialization is used only for exporting and importing keystroke
shortcuts, and not in save and load of projects.
There was apparently confusion too about tab characters separating command name
from a menu accelerator, but such are not stored in the label field of
CommandListEntry. Those tabs were only added by certain accessor functions,
which are here renamed.
... The fix at a3d8518 was not sufficient.
I think the Windows compiler has a bug, and gets confused by a name that has
static and non-static overloads. So use distinct names instead.
... Make sure it doesn't try to capture this (quite unnecessarily!) but calls
the static overload of DoFormat.
Make other qualified calls too for added measure.
The distribution will be signed and notarized during an "install" build
and is handled by mac/scripts/build_dist.sh.
The wrapper scripts, mac/Audacity.sh, is no longer needed as it's function
has been integrated into AudacityApp.cpp/main().
Initially, all "hardened entitlements" have been enabled since we don't
know which ones plug-ins will need.
On Mac and Windows, system sleep will be disabled when recording starts
and re-enabled when it ends.
... and deduce whether to exclude from macros inside NewIdentifier, simplifying
argument lists further
Also fix the localization of "..." added to names by PluginMenus.cpp
... The purpose of the boolean field in command entries was to exclude certain
menu commands from being steps in macros, because they require user interaction.
Effects are never meant to be excluded, even though they normally have dialogs,
but in the context of macro execution, the parameters are supplied by other
means.
... This capability was unused. The only uses of item lists are in
TrackMenus.cpp, for aligning tracks.
The parsing of a translated string for encoded infomration was questionable.
... This could only affect the About dialog now, but does not have noticeable
effects.
StartNotebookPage will be reused for Export and Export Multiple dialogs, and
the effects of this SetMinSize call would be undesirable for them.
... Format arguments are substituted into the translation of the msgid, which
may not be known at the time the format arguments are captured (because locale
may change). This allows TranslatableString with arguments to be constructed
at static initialization time.
There is also a special "verbatim" or null context which makes no translations
of msgids.
There is not yet any use of other contexts besides default or null.
... include it in the msgid intead, to get appropriate translations. For
instance some locales use the same character but prefer to insert a space
before it.