We now have two basic methods for CoreSelection
* when selecting a stripable, use ::select_stripable_and_maybe_group() with
appropriate arguments to cover the group selection aspects.
* when selecting an automation control that is part of a stripable, call
::select_stripable_with_control()
The old, more simply named methods (set/add/toggle etc.) have all been
made private, and their internal implementations changed somewhat.
This commit includes changes to control surfaces that use CoreSelection directly.
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
* replace signal-emission with direct calls to CoreSelecton
using BaseUI's session pointer
* remove unused leftmost strip API
* use CoreSelection for first-selected strip
* Accessing CoreSelection does not modify the session
(allow access from const callbacks)
* replace static calls in P2 surface
This removes indirection and dependency on the GUI for
managing strip selection.
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
Changing solo-state needs to be done in rt-context to atomically
propagate solo/mute.
set_control() queues a rt-event, later Session::rt_set_control() calls
Session::update_route_solo_state() to propagate solo/mute.
In file included from /usr/share/mingw-w64/include/windows.h:71:0,
from /home/ardour/win-stack-w32/include/pthread.h:198,
from /home/ardour/ardour-w32/libs/pbd/pbd/event_loop.h:29,
from /home/ardour/ardour-w32/libs/pbd/pbd/signals.h:42,
from /home/ardour/ardour-w32/libs/midi++2/midi++/parser.h:26,
from ../libs/surfaces/push2/mix.cc:30:
/usr/share/mingw-w64/include/wingdi.h:3049:67: note: candidates are: WINBOOL Rectangle(HDC, int, int, int, int)
In file included from ../libs/surfaces/push2/mix.cc:48:0:
/home/ardour/ardour-w32/libs/canvas/canvas/rectangle.h:30:48: note: class ArdourCanvas::Rectangle