Also since foldback-busses are not selectable AxisViews,
various keyboard-shortcut operations cannot be performed
from the mixer-context. However the processox-box itself
provides these actions for the fold-back bus.
Remove unused code that was copy/pasted from mixer_strip.cc
which is not needed for foldback strips. Notably alternative
delivery display mode (aux-sends).
This GTK button style is out of place in both contexts.
Furthermore it is inconsistent to not have the same button
in the editor (there is a dropzone).
* un-hardcode button numbers, use portable modifier API
* allow to toggle Send bypass with middle-click
* add support for delete-operator
* Only act on single-click press
Prefer to reuse spill logic from the mixer-ui.
This allows to spill routes directly after spilling
foldbacks. Previously that resulted in FB "show sends"
to keep flashing even then no foldbacks were spilled anymore.
It also simplifies various aspects of foldback prev/next
logic.
The mixer gain-entry selects all when the entry is focused
(see ArdourWidgets::FocusEntry). Due to the selection there is
no visible cursor, and it was not obvious that the entry
has focus. Also moving the mouse outside of the strip drops focus
without any indication.
This combines SessionEvent per playlist. Now per change
there are "only" two SessionEvent::Overwrite events
queued per playlist in the GUI thread for later processing
the Butler.
These are triggered by Playlist::ContentsChanged()
and Playlist::LayeringChanged(), both of which trigger
DiskIOProcessor::playlist_modified.
(Previously there used to be two per region)
"T: " prefix isn't very useful. in music-notation the note
symbol is established: ♩ = <bpm> or ♪ = <bpm>.
This fixes an issue on Windows, where those note symbols are
not available in the default unicode font. There "1/4" is used
which adds two extra monospace chars leading to cropped text.
The initial calls in `we_have_dependents()` was redundantly setting
all widows to "Hidden", before the actual state was known.
tabbable_state_change() is initially called for all Tabs:
ARDOUR_UI::setup_windows -> add_to_notebook() -> attach(),
or for detached windows Tabbable::set_state() -> hide_tab().
Step_up/down_through_tabs used window visibility to determine
candidates. This incorrectly considered detached visible tabs.
Detached windows cannot be cycled to.
This also addressed an issue where tab-buttons state was
incorrectly unset what unrelated tab state changed.
ImplicitActive of the currently active tab is now retained
when some other window is attached/detached.
This add support for special-cased automation controls
(Fader, Trim, Panner, Mute) and spills their automation-lane
on touch.
It also features a small internal API update directly mapping
CheckMenuItem. See also bd8c26a059