NB. this is just as unused as the POSIX link() test. Aardour
doesn't create hardlinks since version 3.0. At least it's now
consistently wrong on all platforms :)
This removes all additional GUI side meter-type state.
The route's meter-processors is now responsible for providing
the type.
meter-type is now implicit for GainMeter, LevelMeter used by
meter-strips and mixer-strips.
In theory different UIs can show different meter-types, so it
can make sense to maintain the type in different places.
MeterType is a bit-set and PeakMeter implementation provides for this.
However, this is not being used, and the current implementation
was rather fragmented, cross-connected signals to keep types in sync,
allowed inconsistent meter-types in GUI and backend.
MeterType is now kept by meter itself, however it is still
saved/restored as part of the Route state.
N.B. This change breaks the API, various methods have been renamed
for consistency.
CCs use 0-based counting, however CC 0 and 32 (bank select) are skipped
in Ardour's CC menu. This lead to some misleading enumeration.
Now, group CCs by 32, skip sub-menu if there are fewer than 32 named
items, and otherwise actual CC min/max numbers per named list.
Changing the playlist (remove_region) invalidates selection and
unsets `clicked_regionview`. The region to operate on needs
to be stored for later use.
Postpone menu rebuild when plugin status changes while the PluginManager
Dialog is visible.
Since the dialog is modal, the menus cannot be used while the dialog
is visible, so updating them once when the dialog is hidden is sufficient.
Previously there were three plugin-manager instances (two of which
were never destroyed).
There were also 3 sets of context-menus (favorites, by tag, by author..),
all of which were re-built when plugin stati changed.
Since the Plugin-manager is a modal dialog, it can be re-used in
all contexts (route-ui, monitor-section, mixer).