* Update UnusedStrings.h
Added translatable strings for crash/error reporting and the new spectrogram colour preferences (https://github.com/audacity/audacity/pull/830)
* Update UnusedStrings.h
updated as per guidance from Paul
* Update UnusedStrings.h
Commented out Paul's examples, updated the spectogram settings as per Steve's/Peter's suggestion - Color (Default) and Color (Classic)
* New crash reporter strings; access keys; context strings
* Added "Unknown assertion" and more context strings
* Added comments about shortcut keys
* Choice control items do NOT need & characters, choice label does
Co-authored-by: Paul Licameli <paul.licameli@audacityteam.org>
Adds a small library to generate UUID values. This library will be used in Sentry error reporting
Replace constructor cast with static_cast
Removes a noexcept sneaked in
Adds documentation and some code review fixes
Fixes doxygen
... A call graph browser easily shows that the extra generality of fetching
samples in some other format is only used in Benchmark -- where the format is
always the same as what the track is constructed with.
This makes re-verification of the claims in comments two commits ago easier.
... incidental to a review of CopySamples in it. This code is used only when
importing an old-style .aup project file into the new project format.
Fixed some RAII for file handle.
Rewrote every call to IsGoodInt or IsGoodInt64 with a narrowly scoped temporary
variable.
Use IsGoodInt64 only for total track lengths and positions; but use IsGoodInt
for block and blockfile sizes, which are not supposed to be huge but are
supposed to fit in memory buffers.
... See allocation of RingBuffers in AudioIO.
Playback buffers always used floatSample format so this change has no
effect on them.
But we also want no extra dithering applied during recording, where the capture
format might be narrower than float.
.. Call the function SamplesToFloats instead, or in one place, where source
is also always float, just do memcpy.
Dithering never happened in these cases.
... the former uses Prefs, wxApp, and AudacityMessageBox, the latter has no
dependency on them.
Also move some other functions from GUIPrefs into namespace Languages.
... Expand it in AudacityApp where initializing i18n services.
Just call SetLang directly in CrashReport, because the argument was not null.
Also eliminate call to SetLang in Nyquist, where really only the system language
was needed.