... preparatory to removing that overload.
This overload is used in exactly these files:
DevicePrefs.cpp (displaying host names retrieved by portaudio, which are not
defined in Audacity source)
EffectsPrefs.cpp
ExportFLAC.cpp (twice)
ExportMultiple.cpp (displaying the descriptions defined in the several export
plugin classes)
GUIPrefs.cpp (four times: languages, manual location, theme, and meter DB
range; the language names themselves don't have localizations!)
MidiIOPrefs.cpp (displaying host names retrieved by portmidi)
TracksBehaviorsPrefs.cpp (for solo button choices)
There is also TieNumberAsChoice, used in QualityPrefs and elsewhere, which
calls through to that overload.
... Unnecessary because transitively included.
But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
... except Audacity.h; and in no others.
Do so even if Experimental.h gets multiply included, as in both the .h and
.cpp files.
This makes it easier to do a text scan to be sure there are no unintended quiet
changes of meaning because of omission of Experimental.h when the flag is
an enabled one.
Also move inclusions of Experimental.h earlier.
Also don't require Experimental.h to be preceded by Audacity.h to define
EXPERIMENTAL_MIDI_OUT correctly.
MixerBoard, LyricsWindow, Screenshot and most effects are now LTR in RTL locales.
Also added a pref so this can be overridden. As RTL affects window creation, the language choice and this preference may only fully take effect after a restart of Audacity.
... Maybe a good feature idea, but the implementation pollutes the code in
too many places.
It's a special case of the more general idea of many-to-one associations
between screen rectangles and track objects. More generalized ways to
accommodate that should be sought.
... "Light" was used in two different meanings, but one place was the obsolete
Leveller effect, whose code is removed now. (I leave the files in place, to
make it easier for the curious to know it was once there, and find its history.)
i18n-hints added for the surviving use of "Light" to name a theme, and also for
some of the other themes.
Posterisation was caused by having a bright theme cache and using a darker theme (in linux) so the light colours 'got stretched' and showed up the relatively few distinct values there. So the Classic theme is now darker, and we expect (on Windows) that it will be recoloured to windows lighter colours.
The new preference is in the view menu and on the Gui preferences page.
Also Ext Menus rearranged to more closely match default toolbar order.
Also F11 (a new menu command to show/hide maximised) now has a check mark.
This change needs testing on mac as mac is pickier about when menus are updated.