... Problem with static initialization order of ReservedCommandFlags, caused
wrong enablement of menu items (at least on Mac), such as Plot Spectrum or
Contrast enabled when there was no selection
... This changes visible behavior.
If a realtime effect was open (say, AUGraphicEQ on Mac), and there were multiple
projects, then the window was associated with one of the projects.
But the "Apply" button could apply the effect to the active project, even if
that was not the associated one. But the associated project was queried for
the existence of a selection.
Now, EffectUIHost::OnApply consistently examines and changes only the associated
project, even if it is not active.
You have to close the window and reopen it with the other project if you really
want to change the other.
You can't have two realtime effects open at once, even if for different
projects. To overcome that limitation, we would have to make
RealtimeEffectsManager store state per-project, not globally.
... by passing parent as reference, not pointer, and testing in the dialog
factory function.
This is important so that we know the lifetime of an effect dialog, even when
it is non-modal, is bounded by the lifetime of the associated project.