see also d1b462c213 and Manager::set_transient_for.
This fixes a bug on macOS: detach Editor, re-attach Editor.
After that `own_window()` is true. Showing the LAN dialog
showed the editor's hidden Window as its parent.
This makes it harder for users to accidentally open session
files which are intended to be used only with older versions
of Ardour.
Note that backup/ is not included in ::find_all_sources_across_snapshots
so Session > Cleanup can remove files used in old backups.
Commit cd5369c added some cleanup code to `libs/ardour/session.cc`,
which drags in the type info symbol of VST3PluginInfo. When built
with `--no-vst3`, the resulting binary dies at startup:
```
ld-elf.so.1: /usr/local/lib/ardour8/libardour.so.3: Undefined symbol
"_ZTIN6ARDOUR14VST3PluginInfoE"
```
Make that code compile conditional on VST3_SUPPORT.
Occurs on FreeBSD 14.0-RELEASE, clang 16.0.6, amd64.
Note that this implementation only redraws a single (cairo_rectangle_t-defined) rect, and cannot
provide sub-rects the way that a normal GDK/GTK expose-driven redraw can
macOS has broken its exposure/redraw model at least twice by always providing the entire area
of an NSView for every call to drawRect, and cannot provide the list of rects. This change
expands the tracking done using the needs_display_region, and does so directly via the
objective C methods of an NSView (and its derived children like GdkQuartzView).
The result is that when we send an expose signal, GDK/GTK code can obtain an accurate
list of the invalidated rects if desired, and thus avoiding redrawing the entire contents
of a window
IOPlugins pinout is not [yet] configurable. Trying to add ports
resuled in a segfault since the BufferSet was not resized
(nor the plugin reconfigured)
Previously (since bc91ea3c4) that would create a new session
even if -N was not specified.
This also uses Glib API to test for absolute path, rather
than a custom hack.