This follows a special case in PortGroupList::gather().
The Virtual Keyboard is an Ardour owned async terminal port,
that is in a session bundle (not a UserBundle).
See also 728d2a3771 and 559ffcff63
Simply removing the items from the rec_mon_table still leaves
a space since the table itself is still packed and the
global-vpacker uses a spacing of 2px.
So the rec-mon table has to be unpacked. explicit hide/show
calls in set_route() are also not helpful since the widget is
managed by a VisibilityGroup.
On tracks the bottom row of each mixer-strip has three buttons.
Two are provided by the gain-meter (automation, meter-point),
and the size of those is set in GainMeterBase (current 15x15px).
The track-group button size was left unspecified.
The master-bus only has the gain-meter buttons, and hence was
less tall compared to tracks.
This is an effective NO-OP
* Some methods have been re-named to improve consistency
* Duplicate function calls were removed:
RouteUI::set_route() already updates mute/solo
MixerStrip does not have to update it again
* virtual methods have been protected
This is required to toggle the strip to revert from aux-view
to the main route using the aux-send processor itself.
Discuss:
Perhaps this should be reverted, and ProcessorBox::edit_aux_send()
be removed: It is currently possible to create various
inconsistent mixer-states.
* use "Aux" on a Bus, then double-click some Internal-Send to
revert strips. But Aux remains active
* Removing sends while "Aux" is active does not disable Aux.
If the processor box was insensitive those issues won't be present.
However it is convenient to use double-click on the editor-mixer to
access a send's panner ...
* Use a single method to set mixer-strip widget sensitivity
* Update context-menu to only allow show actions that can
currently be performed, depending on active/inactive state.
* Mark all control elements of in-active strips as insenstive
except those required to re-enable the route.
* Also update processor-box and solo-button when showing Aux
Special case Mixbus. Mixbus already shows a "Insensitive" label,
and Mixbus-channelstrip element sensitivity remains to be
implemented before using this mechanism.
This was based on Ardour-5 style "set custom latency of the IO", and
inform, override JACK-port latency compensation.
Ardour6: IO itself is no longer in control. This is abstracted by
IOProcessor.
In any case, this is to be superseded by bundling a-virtual-latency,
and allowing track playback offset (that has no additional
thru-latency for cue-monitoring).
Copyright-holder and year information is extracted from git log.
git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
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.
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.
The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.
This works because the GUI is single-threaded and at most one
context menu is visible at a time.
This fixes various MS related action sensitivity issues, as well
as action-states.
Also manually adding a monitor-section to a session now always
immediately shows it, regardless of prior ToggleMonitorSection
visibility.
Add Mixer-specific view keybindings for list, vca, mon. (thanks to: the_CLA)
Move monitor keybindings (mute, dim, mono) to be globally-accessible.
Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA)
Move monitor funcs (mute,dim,mono) to globally-accessible actions.
Make a new Monitor group insted of using Transport group.
Allow use-monitor-section to be controlled by both menu and session-options dialog.