Effect::video() says which kind an effect is. The Add effect menu lists the two kinds in sections of their own, each scrolling on its own, and offers video effects only in a video project; a video stage carries a film icon in the chain and, in a still, is dimmed and skipped like a stage switched off. enabledStages takes whether the render is a video and is the one place that leaves video stages out of a still. --help groups the video effects under a heading of their own, --list-effects marks them, and a video effect given for a still is skipped with a warning. VideoEffect is the base every video effect builds on, and keeps the rules a moving stage has to follow: it takes one value from the shared rng, the same on every frame, and hands the effect steady and per-frame generators and loop-rounded time through a Moment, so a subclass writes only animate(). VHS tracking is the first, and the one to copy: the colour planes sway and shake and a tracking bar rolls down the picture. That motion moves out of channel split, which is an image effect again and renders stills exactly as before; forVideo() goes with it. Version 0.7.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
994 B
Bash
32 lines
994 B
Bash
# Builds the release tagged v$pkgver from the repository this file sits in,
|
|
# so pkgver must follow the project() line of CMakeLists.txt (the version core
|
|
# test checks it). From this folder: makepkg -si
|
|
pkgname=effector
|
|
pkgver=0.7.0
|
|
pkgrel=1
|
|
pkgdesc='Image effects app: a GTK4 interface and a headless CLI over pluggable effects'
|
|
arch=('x86_64' 'aarch64')
|
|
url='https://git.plan9.uber.space/hans/effector'
|
|
license=('GPL-3.0-or-later')
|
|
depends=('gtkmm-4.0' 'gdk-pixbuf2' 'pango' 'cairo' 'glib2' 'glibc' 'gcc-libs')
|
|
optdepends=('ffmpeg: write video projects')
|
|
makedepends=('cmake' 'ninja' 'git')
|
|
checkdepends=('xorg-server-xvfb')
|
|
source=("$pkgname::git+file://${startdir%/packaging/arch}#tag=v$pkgver")
|
|
sha256sums=('SKIP')
|
|
|
|
build() {
|
|
cmake -S "$pkgname" -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr
|
|
cmake --build build
|
|
}
|
|
|
|
check() {
|
|
ctest --test-dir build --output-on-failure
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" cmake --install build
|
|
}
|