When there's no main window (initial setup, no transient parent),
preset a normal window listed in the task-bar.
The duality the Engine Dialog being used as Ardour-WM managed non-modal
Window (Menu > A/M Setup) and modal Dialog (AudioEngineSetupRequired)
complicates this a bit.
This will work the same as the existing binding with a Region Selection and
will also duplicate ranges in range selection mode.
Also add multi-duplicate editor action and use that for the default
multi-duplicate action, which will work the same in Object Selection/Grab Mode
but also supports Multi Duplicate of Range Selections....well it would if
that functionality worked correctly.
The duplicate and duplicate-multi region actions still have to exist to be used
in the Region menu as they should only be sensitive if there is a Region
selection which would not be the case if the editor actions were used.
Resolves: #7153
It is slightly questionable whether type specific methods like
velocity() belong on Event at all, these may be better off as free
functions. However the code currently uses them as methods in many
places, and it seems like a step in the right direction, since, for
example, we might some day have events that have a velocity but aren't
stored as MIDI messages (e.g. if Ardour uses an internal musical model
that is more expressive).
In any case, the former inheritance and plethora of sloppy casts is
definitely not the right thing.
- object mode: select a MIDI region that has CC automation.
Move the mouse over a CC automation event,
then press backspace to delete the selected region
- the recipe is mentioned in #7049, but seems unrelated.
- this allows a midi region drag to update the visible notes
correctly while crossing MIDI streamviews with a differing
note range.
as a side effect, fixes a bug where changing
note range on a track did not draw some notes
(apply_note_range redisplays the model).