ardour: add a videoSupport option

This adds a `bool` option that, when set to `true`, enables video
timeline support for the Ardour DAW. This is commonly useful for
soundtrack composition, sound design for film, etc.

When enabled, `videoSupport` ensures that both `harvid` and `xjadeo` are
available to the `ardour6` exe via the PATH. `harvid` decodes the video
stream in real-time to produce still images (I think for thumbnail
support for the timeline?). `xjadeo` acts as a video monitoring window
that whose playback position is synchronised to the Ardour playhead.

`videoSupport` remains disabled by default, preserving the original
behaviour.

Video support can be added to ardour in your system or home
configuration package list with:

```
(ardour.override { videoSupport = true; })
```
This commit is contained in:
mitchmindtree 2021-03-04 19:02:02 +01:00
parent a346a9faa4
commit e14c97185f

View file

@ -16,6 +16,7 @@
, glibmm
, graphviz
, gtkmm2
, harvid
, itstool
, libarchive
, libjack2
@ -35,6 +36,7 @@
, lilv
, lrdf
, lv2
, makeWrapper
, pango
, perl
, pkg-config
@ -49,6 +51,8 @@
, taglib
, vamp-plugin-sdk
, wafHook
, xjadeo
, videoSupport ? false
}:
stdenv.mkDerivation rec {
pname = "ardour";
@ -70,6 +74,7 @@ stdenv.mkDerivation rec {
doxygen
graphviz # for dot
itstool
makeWrapper
perl
pkg-config
python3
@ -121,7 +126,7 @@ stdenv.mkDerivation rec {
suil
taglib
vamp-plugin-sdk
];
] ++ lib.optionals videoSupport [ harvid xjadeo ];
wafConfigureFlags = [
"--cxx11"
@ -158,6 +163,10 @@ stdenv.mkDerivation rec {
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
'' + lib.optionalString videoSupport ''
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
wrapProgram "$out/bin/ardour6" \
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
'';
LINKFLAGS = "-lpthread";
@ -176,6 +185,6 @@ stdenv.mkDerivation rec {
homepage = "https://ardour.org/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ goibhniu magnetophon ];
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
};
}