... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.
That's all that this sweeping commit does.
... They are not necessary to build, but the do indicate some link
dependencies to fix, that were not shown in results of scripts/graph.pl.
The link dependencies exist because the header declaring some name did not
correspond to the .cpp file that defined it.
... Mostly into CommonCommandFlags.cpp, but some elsewhere, to avoid giving
that new file problematic dependencies on LabelTrack, ControlToolBar, and
EffectManager.
Note that CutCopyAvailableFlag is critically ordered, for message purposes,
only with AudioIONotAvailableFlag, the only flag with a message that it combines
with in menu item definitions.
The dependency on LabelTrack.cpp might not be a bad one later, if the track and
its view can be separated, and that would allow CutCopyAvailableFlag to be
put with the others. But much other work on LabelTrack must happen first.
Commands flagged with NoAutoSelect will not auto select, even if the user has asked for it. This is used for Cut and 3 different kinds of delete. We later might extend it to fades and repair.
Additionally, fix the UI portions of these, and fix Trim for note tracks
(the code already existed, but due to flags would not work). As PRL
requested, this is gated only behind USE_MIDI.
This commit adds note tracks into the mixerboard. It's done as a separate
slider this time instead of via subclasses (as PRL requested), so which
should be easier to use.
This also changes some of the gaurds to EXPERIMENTAL_MIDI_OUT from
USE_MIDI, as it's meaningless to have the note track code in mixerboard
when it cannot do anything (depends on methods that exist behind
EXPERIMENTAL_MIDI_OUT).