This fixes an issue with plugin state save/restore. Some
require excessive stack to do that (looking at you b.oops.lv2).
The main GUI thread has no stack limit, so this is only an issue
when calling state save/restore from background threads.
* If 1 region is selected: suggest "Region-name (Bounced)"
* If more than one region is selected and ..
* all are on different tracks: allow to specify suffix.
* at least two regions are on the same track: hide the
"add to trigger-slot" option, allow to specify suffix
see also https://discourse.ardour.org/t/bounce-regions-with-names/107863
Since momentary override is a singleton, it needs to remain
GUI only, and not a session API available to any UI.
The middle-clicked button is rendered as pressed. So it is
already obvious and the Changed() signal that is emitted
when temporarily restoring a scene can simply be ignored.
* first_mark_after() correctly expects a timepos_t to compare with locations
* BUT the playhead position is always in samples, by definition
* in many cases this meant the 'next' marker was the one you are already located at
* also remove the slight distinction between playhead cursor and actual play position
(shouldn't matter, but...)
When selecting "Origin" for the clock, it is expected that it should
work like "Absolute", except measuring from the selected Origin.
Positions to the right of origin should be positive.
However, recently, it got negated. As playback progressed, time got more
and more negative. Fix that by negating again.
The region itself has no time_domain property, changing the time-domain
is done by changing the domain of the region length. undo/redo hence
emite a Length PropertyChange signal.
Double-clicking on a line in internal edit mode adds
a new point in the line. In this case LineDrag need not
manage automation events because the "add" functions already
do. see AutomationTimeAxisView::add_automation_event and
AudioRegionView::add_gain_point_event
Due to refactoring in d41e66f169 and 83ad0a10b5
Automation > Clear re-displayed the line on mouse-over, even
if there are no events. Then trying to interact with he line
caused segfaults because the actual control points no longer exist.
This is never for inline references to parameters, only for starting parameter
documentation blocks. The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.