`butler_transport_work()` may be called for various reasons,
notably PostTransportOverWrite. At that point in time the
transport may still be rolling or stopping with rtloc already
set.
This can cause DR::Underruns since seek clear the entire
disk reader buffer.
This is needed to properly decrement "should_do_transport_work".
After a seek the DR:_pending_overwrite flag will have been
cleared, so not much extra work happens here.
The left edge of a region on the the editor is rounded to be
on a pixel. When zoomed out, the position corresponding to that
pixel is not usually identical to the region's position().
We need to correct for this as best as possible, while keeping
peaks aligned to pixels.
Previously loop-wrap around asked the butler to perform
a unnecessary seek operation next time it is summoned.
If the butler is then summoned for a PostTransportOverWrite
event, the seek causes a DR::Underrun.
The signal would be emitted while the session was temporarily renamed,
making it appear that we had switched to the new session, despite instructions
not to do so. We had not actually done so, but the saved-as name would show up
on window titles.
Previously tagged releases did not append major.minor
version to a user's "my-*.colors" file. Ardour also loaded
theme files which a user saved with a previous version.
When new colors were added, those are missing from the
older my-*.colors file.
see also https://discourse.ardour.org/t/color-theme-issues-with-ardour-8-7/110729/20
e.g. EZDrummer "1/2" (or generic "L/R"). While those names
are perfectly fine for Ports, tracks (file) names cannot include
those chars.
Since fan-out looks up routes by name this failed to properly
connect stereo pinouts since 4a14f2fed5, 5b746b186.
Previously that could cause a heap-use-after-free.
A reliable way to trigger it was to show the audio connection
dialog and connect a track's output to LTC master, then quit.