Somewhere along the line the 'rect' passed in to DrawTrackName()changed
from being for the track area to being for the name area. Accordingly
the track rect now has to be explicitly accessed from the track to get
its height, from which the transparency is then derived.
This was caused by endless refreshing.
Disabling one refresh might have caused the screen not to refresh
at some point when it should, but I could not find such a case, and
this seems better than 'beachball' mode.
... The error message eliminated here describes what should be ruled out by
the loop before this line, which already checks that no previous file of the
chosen name exists.
So just give the generic write failure message.
... The 100ms sleep added at at a675b5907f5fa7bba2537c249a84f73cabe5937c was
meant to let NS framework events arrive on another thread and be detected by
wxWidgets. But there are still reports that it is not reliable enough.
This other fix may be sufficient alone, making the sleep unnecessary. But it
is harmless so we will leave it there.
... The reported continuing failure to fix bug 2437 -- sometimes -- appears to
have been a timing problem. I could observe it often with release builds but
not with debug.
... but this may be a necessary piece of any fix that might be found.
See also recent commit c67842f525095f100aa662ff59be421545d8bfc4.
wxDF_UNICODETEXT replacing wxDF_TEXT was a necessary but not sufficient step to
fix a cut-copy-paste problem on Mac, and I suspect the same will be true here.
See also commits bbd369df1b3c5860ac1145f221c93972c9bac349 and
9036c001521883300c30c8e2d7ef6775dc00f918 for the commits that introduced this
code.
The partial fix they accomplished in 2.1.3 is no longer working, whether because
of wxWidgets changes, or macOS changes, or both.
... Doing the widening as needed to match Quality preference.
Fewer direct dependencies on QualityPrefs.h.
FLAC and OGG may import as float where before it was 24 bits; only 16 bits or
float. This makes them behave consistently with Raw and PCM.