- AutomationCommands replaces GetAllMenuCommands, and can provide
information about menus, buttons and toolbars to a script.
- BatchCommands can now return textual results to a script.
- There's a new GUID for mod-script-pipe and it is included in the .sln.
See original attempt at commit 7ec5fd79df65cd3e54d3d14c52df106d71d06c53
This eliminates the need for a resource file at run-time.
locale/LanguageNames.txt is intended as a "source file" that is infrequently
changed as the set of supported languages changes.
The intermediate step, of appropriately copying that file into the C++ source
code in src/Languages.cpp, was done by hand.
In XCode, I set locale/LanguagesNames.txt and src/Languages.cpp to be
interpreted as Western encoding, and then the copy-paste was easy in the
editor.
The resulting C++ source code file now has string literals that are not 7-bit
ASCII.
... "#trebmuh" comment lines remain, where the translator may wish to review
and revise later.
Olivier's commit comments:
- disambiguation: decay (EN) -> déclin (FR)
- disambiguation : save (EN) -> sauvegarder (FR) and record (EN) -> enregistrer (FR)
- consistency around preset (EN) -> préréglage (FR)
- fixes "sample rate" which was translated with "fréquence d'échantillonnage" while the correct translation is "taux d'échantillonnage"
- fixes "bit rate" which was translated with "débit" while the correct translation is "débit binaire"
- fixes a misleading translation where a "bit rate" (EN) was translated to "taux d'échantillonnage" instead of "débit binaire"
+ one string was half-translated
+ 5 typos
+ 1 frenglish
+ 1 better translation
+ 3 comments-to-self
+ updated timestamp
+ 1 missing translation
adds Christian Brochec in the header
+ a bunch of note-to-self precisions
+ a couple of better accelerators
+ typos
+ update the timestamp in the header
+ get the rid off the (useless now) "#| msgid" (which were ancient translation)
...no actions reimplemented to them yet.
Later commits will move special cases one at a time from TrackPanel, preserving
all click and drag capabilities at each step. With a few exceptions, but those
lost abilities are restored in yet later commits. (Ctrl+Click on the Label
track being one.)
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.