38 lines
1.2 KiB
Common Lisp
38 lines
1.2 KiB
Common Lisp
; dog-invert-concat recipe
|
|
; Creates dog video from cat, inverts a user-supplied video, then concatenates
|
|
; Demonstrates: def bindings, variable inputs, effect with params, branching DAG
|
|
|
|
(recipe "dog-invert-concat"
|
|
:version "1.0"
|
|
:description "Create dog video from cat, invert second video, concatenate"
|
|
:owner "@giles@artdag.rose-ash.com"
|
|
|
|
; Registry
|
|
(asset cat
|
|
:hash "33268b6e167deaf018cc538de12dbe562612b33e89a749391cef855b320a269b"
|
|
:url "https://rose-ash.com/content/images/2026/01/cat.jpg")
|
|
|
|
(effect identity
|
|
:hash "8d8dc76b311e8146371a4dc19450c3845109928cf646333b43eea067f36e2bba")
|
|
|
|
(effect dog
|
|
:hash "84e7c6d79a1a8cbc8241898b791683f796087af3ee3830c1421291d24ddce2cf")
|
|
|
|
(effect invert
|
|
:hash "9144a60cdb73b9d3bf5ba2b4333e5b7e381ab02d2b09ee585375b4fa68d35327")
|
|
|
|
; Create dog video from cat
|
|
(def dog-video
|
|
(-> (source cat)
|
|
(effect identity)
|
|
(effect dog)))
|
|
|
|
; User-supplied second video, inverted
|
|
(def inverted-video
|
|
(-> (source :input "Second Video"
|
|
:description "Video to invert and concatenate after the dog video")
|
|
(fx invert :intensity 1.0)))
|
|
|
|
; Concatenate: dog first, then inverted user video
|
|
(sequence dog-video inverted-video))
|