From 7389e843660c8ab4a552d976a245fdd673e9f16f Mon Sep 17 00:00:00 2001 From: Steve George Date: Wed, 11 Feb 2026 13:02:07 +0000 Subject: [PATCH] gnu: Add obs-advanced-scene-switcher. * gnu/packages/video.scm (obs-advanced-scene-switcher): New variable. Change-Id: I6a12ecff09f2ac71d5c50a6b647ba5bfffba1506 Signed-off-by: Steve George --- gnu/packages/video.scm | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6989a64b3e..e75d097623 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -136,6 +136,7 @@ #:use-module (gnu packages bittorrent) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) + #:use-module (gnu packages calendar) #:use-module (gnu packages cdrom) #:use-module (gnu packages nss) #:use-module (gnu packages check) @@ -173,6 +174,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages hunspell) #:use-module (gnu packages image) + #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) #:use-module (gnu packages iso-codes) #:use-module (gnu packages kde-frameworks) @@ -4364,6 +4366,72 @@ applied via a static image (.png, .jpeg, etc). ") (license license:gpl2))) +(define-public obs-advanced-scene-switcher + (package + (name "obs-advanced-scene-switcher") + (version "1.32.7") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/WarmUpTill/SceneSwitcher/releases/download/" + version "/advanced-scene-switcher-" version "-source.tar.xz")) + (sha256 + (base32 + "15r4ck2agzhjzjkmczs3ag36km32axcjsz0m57yh568b3nrcxmj3")) + (modules '((guix build utils))) + ;; FIXME: libremidi@3.2 and jsoncons could be unbundled + ;; cpp-httplib is too old to unbundle + (snippet #~(begin + (delete-file-recursively ".ccache") + (delete-file-recursively "deps/asio") + (delete-file-recursively "deps/cpp-httplib") + (delete-file-recursively "deps/date") + (delete-file-recursively "deps/json") + (delete-file-recursively "deps/leptonica") + (delete-file-recursively "deps/libusb") + (delete-file-recursively "deps/exprtk") + (delete-file-recursively "deps/obs-websocket") + (delete-file-recursively "deps/opencv") + ;;Arch package says openvr is only used on Windows + (delete-file-recursively "deps/openvr") + (delete-file-recursively "deps/paho.mqtt.cpp") + (delete-file-recursively "deps/tesseract") + (delete-file-recursively "deps/websocketpp"))))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ;no tests + #:generator "Ninja" + #:configure-flags + #~(list "-DBUILD_OUT_OF_TREE=ON" "-Wno-dev"))) + (native-inputs (list asio-1.28 + date + libxtst + libx11 + nlohmann-json + pkg-config)) + (inputs (list curl + cpp-httplib + exprtk + leptonica + libxscrnsaver + obs + openssl ;Arch pkg says used by Twitch + opencv + procps + qtbase + simde + websocketpp)) + (home-page "https://github.com/WarmUpTill/SceneSwitcher") + (synopsis "This plugin automates actions in OBS") + (description "An OBS plugin that can automate almost anything through +macros. Originally, for switching between @code{Scenes} depending on a +condition, it's capable of much more. Macros are created with a condition, +when the condition takes places an action runs which can be anything from +switching to a specified @code{Scene} to changing the volume.") + (license license:gpl2))) + (define-public obs-branch-output (package (name "obs-branch-output")