summaryrefslogtreecommitdiffstats
path: root/roles/obs/templates
diff options
context:
space:
mode:
Diffstat (limited to 'roles/obs/templates')
-rwxr-xr-xroles/obs/templates/bbb14
-rwxr-xr-xroles/obs/templates/intro21
-rwxr-xr-xroles/obs/templates/music5
-rwxr-xr-xroles/obs/templates/overlay19
-rwxr-xr-xroles/obs/templates/play20
-rwxr-xr-xroles/obs/templates/play-with-intro24
-rw-r--r--roles/obs/templates/set-overlay22
7 files changed, 125 insertions, 0 deletions
diff --git a/roles/obs/templates/bbb b/roles/obs/templates/bbb
new file mode 100755
index 0000000..74c6976
--- /dev/null
+++ b/roles/obs/templates/bbb
@@ -0,0 +1,14 @@
+#!/bin/bash
+# Play intro (or display in-between slide and wait for input), then play files
+# {{ ansible_managed }}
+
+# Kill the background music if playing
+if screen -list | grep -q background; then
+ screen -S background -X quit
+fi
+
+# Update the overlay
+SLUG=$1
+overlay $SLUG
+# Play the video
+firefox https://media.emacsconf.org/{{ emacsconf_year }}/backstage/current/room/$SLUG
diff --git a/roles/obs/templates/intro b/roles/obs/templates/intro
new file mode 100755
index 0000000..85ee895
--- /dev/null
+++ b/roles/obs/templates/intro
@@ -0,0 +1,21 @@
+#!/bin/bash
+# {{ ansible_managed }}
+# Kill the background music if playing
+if screen -list | grep -q background; then
+ screen -S background -X quit
+fi
+# Update the overlay
+FILE=$1
+if [[ ! -f $FILE ]]; then
+ LIST=(/data/emacsconf/assets/stream/emacsconf-2022-$FILE*.webm)
+ FILE="${LIST[0]}"
+ BY_SLUG=1
+fi
+shift
+SLUG=$(echo "$FILE" | perl -ne 'if (/emacsconf-[0-9]*-(.*?)--/) { print $1; } else { print; }')
+overlay $SLUG
+if [[ -f /data/emacsconf/assets/intros/$SLUG.webm ]]; then
+ mpv /data/emacsconf/assets/intros/$SLUG.webm
+else
+ firefox /data/emacsconf/assets/in-between/$SLUG.png
+fi \ No newline at end of file
diff --git a/roles/obs/templates/music b/roles/obs/templates/music
new file mode 100755
index 0000000..af28208
--- /dev/null
+++ b/roles/obs/templates/music
@@ -0,0 +1,5 @@
+if screen -list | grep -q background; then
+ echo "Already running in screen, attach with screen -x background"
+else
+ screen -S background /bin/bash -c "mpv ~/stream/background.wav --loop=yes"
+fi
diff --git a/roles/obs/templates/overlay b/roles/obs/templates/overlay
new file mode 100755
index 0000000..5f967ec
--- /dev/null
+++ b/roles/obs/templates/overlay
@@ -0,0 +1,19 @@
+#!/bin/bash
+# {{ ansible_managed }}
+
+SLUG=$(echo "$1" | perl -ne 'if (/emacsconf-[0-9]*-(.*?)--/) { print $1; } else { print; }')
+
+if [[ -f /data/emacsconf/assets/overlays/$SLUG-other.png ]]; then
+ echo "Found other overlay for $SLUG, copying"
+ cp /data/emacsconf/assets/overlays/$SLUG-other.png ~/other.png
+else
+ echo "Could not find /data/emacsconf/assets/overlays/$SLUG-other.png, please override ~/other.png manually"
+ cp /data/emacsconf/assets/overlays/blank-other.png ~/other.png
+fi
+if [[ -f /data/emacsconf/assets/overlays/$SLUG-video.png ]]; then
+ echo "Found video overlay for $SLUG, copying"
+ cp /data/emacsconf/assets/overlays/$SLUG-video.png ~/video.png
+else
+ echo "Could not find /data/emacsconf/assets/overlays/$SLUG-video.png, override ~/video.png manually"
+ cp /data/emacsconf/assets/overlays/blank-video.png ~/video.png
+fi
diff --git a/roles/obs/templates/play b/roles/obs/templates/play
new file mode 100755
index 0000000..277a49e
--- /dev/null
+++ b/roles/obs/templates/play
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Play intro if recorded, then play files
+# {{ ansible_managed }}
+
+# Kill the background music if playing
+if screen -list | grep -q background; then
+ screen -S background -X quit
+fi
+
+# Update the overlay
+FILE=$1
+if [[ ! -f $FILE ]]; then
+ LIST=(/data/emacsconf/assets/stream/emacsconf-2022-$FILE*.webm)
+ FILE="${LIST[0]}"
+ BY_SLUG=1
+fi
+shift
+SLUG=$(echo "$FILE" | perl -ne 'if (/emacsconf-[0-9]*-(.*?)--/) { print $1; } else { print; }')
+overlay $SLUG
+mpv $FILE $* &
diff --git a/roles/obs/templates/play-with-intro b/roles/obs/templates/play-with-intro
new file mode 100755
index 0000000..4f928c3
--- /dev/null
+++ b/roles/obs/templates/play-with-intro
@@ -0,0 +1,24 @@
+#!/bin/bash
+# Play intro if recorded, then play files
+# {{ ansible_managed }}
+
+# Kill the background music if playing
+if screen -list | grep -q background; then
+ screen -S background -X quit
+fi
+
+# Update the overlay
+FILE=$1
+if [[ ! -f $FILE ]]; then
+ LIST=(/data/emacsconf/assets/stream/emacsconf-2022-$FILE*.webm)
+ FILE="${LIST[0]}"
+ BY_SLUG=1
+fi
+shift
+SLUG=$(echo "$FILE" | perl -ne 'if (/emacsconf-[0-9]*-(.*?)--/) { print $1; } else { print; }')
+overlay $SLUG
+# Play the video
+if [[ -f /data/emacsconf/assets/intros/$SLUG.webm ]]; then
+ intro $SLUG
+fi
+mpv $FILE $* &
diff --git a/roles/obs/templates/set-overlay b/roles/obs/templates/set-overlay
new file mode 100644
index 0000000..cc2e26f
--- /dev/null
+++ b/roles/obs/templates/set-overlay
@@ -0,0 +1,22 @@
+FILE=$1
+if [[ ! -f $FILE ]]; then
+ LIST=(/data/emacsconf/assets/stream/emacsconf-2022-$FILE*.webm)
+ FILE="${LIST[0]}"
+ BY_SLUG=1
+fi
+shift
+SLUG=$(echo "$FILE" | perl -ne 'if (/^emacsconf-[0-9]*-(.*?)--/) { print $1; } else { print; }')
+if [[ -f /data/emacsconf/assets/overlays/$SLUG-other.png ]]; then
+ echo "Found other overlay for $SLUG, copying"
+ cp /data/emacsconf/assets/overlays/$SLUG-other.png ~/other.png
+else
+ echo "Could not find /data/emacsconf/assets/overlays/$SLUG-other.png, please override ~/other.png manually"
+ cp /data/emacsconf/assets/overlays/blank-other.png ~/other.png
+fi
+if [[ -f /data/emacsconf/assets/overlays/$SLUG-video.png ]]; then
+ echo "Found video overlay for $SLUG, copying"
+ cp /data/emacsconf/assets/overlays/$SLUG-video.png ~/video.png
+else
+ echo "Could not find /data/emacsconf/assets/overlays/$SLUG-video.png, override ~/video.png manually"
+ cp /data/emacsconf/assets/overlays/blank-video.png ~/video.png
+fi