Audio playback path was being resolved during parsing when database may not be ready, causing fallback to non-existent path. Now resolves lazily when stream starts, matching how audio analyzer works. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
1.6 KiB
Common Lisp
40 lines
1.6 KiB
Common Lisp
;; Default Sources Configuration
|
|
;;
|
|
;; Defines video sources and per-pair effect configurations.
|
|
;; Pass to recipe with: --sources configs/sources-default.sexp
|
|
;;
|
|
;; Required by recipes using process-pair macro:
|
|
;; - sources: array of video sources
|
|
;; - pair-configs: array of effect configurations per source
|
|
|
|
(require-primitives "streaming")
|
|
|
|
;; Video sources array
|
|
;; Using friendly names for asset resolution
|
|
(def sources [
|
|
(streaming:make-video-source "woods-1" 10)
|
|
(streaming:make-video-source "woods-2" 10)
|
|
(streaming:make-video-source "woods-3" 10)
|
|
(streaming:make-video-source "woods-4" 10)
|
|
(streaming:make-video-source "woods-5" 10)
|
|
(streaming:make-video-source "woods-6" 10)
|
|
(streaming:make-video-source "woods-7" 10)
|
|
(streaming:make-video-source "woods-8" 10)
|
|
])
|
|
|
|
;; Per-pair effect config: rotation direction, rotation ranges, zoom ranges
|
|
;; :dir = rotation direction (1 or -1)
|
|
;; :rot-a, :rot-b = max rotation angles for clip A and B
|
|
;; :zoom-a, :zoom-b = max zoom amounts for clip A and B
|
|
(def pair-configs [
|
|
{:dir -1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 0: monday
|
|
{:dir 1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 1: escher
|
|
{:dir 1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 2: vid2
|
|
{:dir -1 :rot-a -45 :rot-b 45 :zoom-a 0.5 :zoom-b 1.5} ;; 3: disruptors (reversed)
|
|
{:dir -1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 0: monday
|
|
{:dir 1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 1: escher
|
|
{:dir -1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 0: monday
|
|
{:dir 1 :rot-a 45 :rot-b -45 :zoom-a 1.5 :zoom-b 0.5} ;; 1: escher
|
|
|
|
])
|