sets transient windows to be transients for the front window when switching
between the editor and mixer. This is the current behavior on non-osx
builds.
When disabled, there is no reparenting of transient windows. This is the
current behavior on osx.
This preference defaults to off.
Also fix "all windows are dialogs" checkbox being out of sync with the ui
state.
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)
MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).
Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
Move control-surface editor-window management to the control surface.
The Preferences-Dialog is not aware of session specific or surface
specific actions and cannot properly manage the window.
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton. Removed several unnecessary flags.
Refactor more stuff into route_ui.
i've made the audiobackend call the session directly so that only one object (ARDOUR::Session) has a need for the JACK types
and only one .cc file (session_jack.cc) needs jack.h. having ARDOUR::AudioEngine act as an intermediary would be cleaner
conceptually but would end up causing two different ARDOUR objects to have jack types in their own API.
also includes a few additional tweaks on top of the revert:
don't set sessions to windows managed by the WM::Manager,
and also call WM::Manager's set_session (s); when closing session.
The window proxy defers construction of classes.
set_session() is called before the instances are available.
the proxy-manager only calls set_session() for SessionHandlePtr
but not the class-specific method..
fixes http://tracker.ardour.org/view.php?id=5566
Call set_session() on the location window from ARDOUR_UI::set_session(),
and show_all() on the location window's LocationUI in set_session,
so that it displays the markers and ranges of the current session.