[Ardour-Dev] ardour3 video timeline

Robin Gareus robin at gareus.org
Sun Jun 27 16:20:40 PDT 2010


Picking up an old subject.. here's what I set out for:

Outline:
 1) add a video-timeline to ardour3
 2) allow to launch xjadeo from ardour3-menu
 3) remember state between sessions.

Constraints:
 - one video-track per session.
 - video-file decoding happens outside of ardour (video-server)
 - but the ardour session remembers all relevant settings.
 - KISS

Implementation:
2+3) can be similar to what qjadeo does: All xjadeo settings (incl
window position & attributes) can be remote-controlled. A "video-import"
dialog could invoke mencoder or ffmpeg on initial video-open.

As for 1):
The trickiest part (at least for me) is the ardour3 GUI. For the
video-frame-cache/server there is an existing code-base and xjadeo works
on all platforms that ardour does.

The first idea to implement the image-timeline like it had been in
ardour2/CMT proved unsuitable: in ardour3 TimeAxisView and StreamView
both rely RouteTimeAxis[View] (and eventually a Route) to display a
track on the canvas. The two options (write all required functions for a
StreamView without route or make the video-track a special route) seem
overkill if not wrong (because it'd require changes to libardour, and a
video-timeline is GUI only).

A IMHO suitable solution is to use the ruler/marker bar for the
video-timeline. A first-shot at coding this looks rather promising:

curl
"http://rg42.org/gitweb/?p=ardour3.git;a=commitdiff_plain;hp=master;h=videotl"
| patch -p1
./waf configure --videotimeline

It currently displays "dummy-frames" (black-frames with video-frameno
rendered into them) and looks like this:
http://rg42.org/_media/wiki/a3vtl1.png
http://rg42.org/_media/wiki/a3ctl2.png

Please review. Would this concept be eligible to become part of ardour3?

The next step would be to continue with setup-dialogs, user-interaction
& session-info. ..and after that work on an interface to and on the
video-server + xjadeo integration.

Would a  _session->add_extra_xml()
be the correct way to store info about the video-timeline settings?

Oh, and is there an ETA for ardour3.0 freeze? Just a ballpark value:
months, half-year(s).. for planning.

ciao,
robin



More information about the Ardour-Dev mailing list