summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rw-r--r--roles/caption/tasks/main.yml11
-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
-rw-r--r--roles/prerec/tasks/main.yml1
9 files changed, 126 insertions, 11 deletions
diff --git a/roles/caption/tasks/main.yml b/roles/caption/tasks/main.yml
index ab49c00..df35645 100644
--- a/roles/caption/tasks/main.yml
+++ b/roles/caption/tasks/main.yml
@@ -34,17 +34,6 @@
state: directory
owner: "{{ emacsconf_user }}"
group: "{{ emacsconf_group }}"
-- name: Copy scripts for processing
- tags: process-prerec
- template:
- src: "{{ item }}"
- dest: "{{ emacsconf_caption_dir }}/scripts/{{ item }}"
- owner: "{{ emacsconf_user }}"
- group: "{{ emacsconf_group }}"
- mode: 0775
- loop:
- - process-captions.py
- - run-aeneas.sh
# - name: Copy the inotify script
# tags: process-captions
# template:
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
diff --git a/roles/prerec/tasks/main.yml b/roles/prerec/tasks/main.yml
index fae70b4..43c9bd5 100644
--- a/roles/prerec/tasks/main.yml
+++ b/roles/prerec/tasks/main.yml
@@ -42,3 +42,4 @@
- update-emacsconf.sh
- thumbnail.sh
- reencode.sh
+ - run-aeneas.sh