... in the graph of library dependencies.
Necessary to avoid crashes on startup loading dynamic libraries, but sufficient
to avoid excessive build times with many libraries.
... When the graph of library dependencies is not recursive but complicated,
a combinatorial explosion of paths could make the post-build step not infinite
but very long (80 minutes in one of my experimental refactoring branches!)
* 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.