... This forces a better placement of state variables in the appropriate
classes.
In future perhaps, MenuManager should be splintered into several classes, one
for each of the main toolbar menus.
... Redundant with the guard already in ApplyAndSendResponse, but this makes it
easier to reason about the exception safety of calls into Audacity from
Nyquist tools.
This change is inspired by the plan to eliminate GetLinked() in 2.3.1. Logically we shouldn't be exposing a boolean 'linked' in scripting, but instead a channel count.
This is simple parsing of the response from AUD-DO. The first part is the string message, the second 1 or NIL depending on if scripting reported OK or not. Note that illegal scripting options often don't produce a 'Failed' but are silently substituted with valid ones.
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.
Previously running a TrackPanelHasFocus effect from the Macros dialog could fail, because the menu item was disabled (because track panel did not have focus).
This restores the 2.2.2 behaviour, with a subdirectory called 'cleaned'. The problem was that 2.2.2 used special cases for MP3 Ogg and WAV exports, which were stripped out in favour of using the built-in Export command. However, the differences in behaviour (prompting) between batch and non batch mode were not taken into account.
... 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.
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).
... 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.