Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
NOTE: this breaks backwards compatibility with icsd and
harvid < 0.3.0 which do not report their settings.
It may also conflict with harvid running on localhost in a chroot.
Ideally this will be a warning only.
That the user can choose to ignore this and should get the option
to stop the video-server and re-start it using a different docroot.
* videotimeline now immediately marks the session dirty on
every state-changing operation
* video-montor is polled every 2.5 seconds for menu-relevant state info
(ontop, OSD,..) and every 30 seconds for full state (window pos, size,..)
* new interface to query the video-monitor for its state and wait for
all replies - terminating the process and using ::wait() is no longer
required
* Ardour> quit and Ardour > close-session does no longer close the video
session to enforce video-monitor state sync but uses above new interface
the videotimeline is a global unique instance that is allocated during
startup and deleted on exit. The Scopedconnection is not deleted
with the session.
timeline thumbnail display, moving (drag/drop) and zoom works.
There still some crashes e.g. resizing the height of the timeline
and with off-screen image buffering when zooming in.
Likely due to concurrency issues:
VideoImageFrame::exposeimg() and direct access of the pixbuf:
"Assertion `!_bounding_box_dirty' failed." in canvas/item.cc:191
more work is needed..
* Menu > View > Video Monitor -- bi-directional communication
with xjadeo for window-state and OSD.
* fix saving state on session close (wait for xjadeo to terminate)