Allow generate type plug-ins spawned from Nyquist Prompt to create
a new track if none selected.
This commit also fixes preview in generators when there is no selection.
The Objective C++ syntax '[[' used in a couple of places (Mac only),
breaks the parser in kdevelop. As suggested by Paul, a space between the
brackets fixes the problem.
Also removed some trailing spaces.
It's not clear why this worked before.
- Mac was not clearing any backgrounds for the button bitmaps.
- There were no pressed buttons defined (on any platform).
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.
This code now does the clean out of pluginregistry.cfg.
Nicer for the user would be to preserve the list of hand-added plug-ins. But a clean restart is easier.
All backing bitmaps (not just the one in track panel) now are set to 24 bits.
Big thanks to David Bailes for tracking down the root cause of slow BitBlts, and the comments at https://trac.wxwidgets.org/ticket/14403 which led to the fix.
In testing the bitmaps, I also fixed the sizer errors reported for Export.cpp that wxWidgets now reports as ASSERTS when running in debug builds.
... Reuse the external function registration added earlier in 2.3.0
development, for support of internationalization in Nyquist.
This way, we avoid making cyclic static linkage dependencies between the
library and the application.
Also adds the options
;type tool
;type tool process
;type tool generator
;type tool analyze
These tools will appear in the Tools menu, but behave as their second argument (if any)
These changes below are paving the way for aud-do:
Nyquist Effect now detects self reentrancy and skips reentry if so.
Nyquist Effect now detects if another effect has run during effect processing, and does not send Nyquist
output if so.
Neither of these preparatory changes have an effect in absence of AUD-DO (or other function
that allows Nyquist effect to call out to Audacity functions).
LUFS are defined as the power of the signal, not as the root mean square.
Accidential use of the RMS caused incorrect normalization to only half
of the LUFS value.
Please note that normalizing to large LUFS values may introduce clipping
of large peaks. However, the recommended target value in EBU R128 of
-23 LUFS should be totally safe but only uses a small amount of the
possible quantization range. For tracks with normal dynamic range,
normalizing to about -10 LUFS should be possible without clipping.
... Replace some enum constants with the equivalent values from the more
special-purpose enums, as the wx header files recommend, so overloading
selects the ctors with non-int arguments.
In a full rebuild of the debug project on Mac, this reduces the count of
warnings from 264 to 274.
Now shown as "Nyquist Effects Prompt" (in Effects menu) and "Nyquist Tools Prompt" (in Tools Menu).
These prompts will have slightly different behaviour, e.g. only tools allow aud-do.
We were for example getting many of these:
\audacity\src\widgets\numerictextctrl.h(171): warning C4458: declaration of 'value' hides class member
MSVC2013 didn't warn about these, but MSVC2017 does.