From 366d6aec267f543f9a7b928778a09b80852346f3 Mon Sep 17 00:00:00 2001
From: Sacha Chua <sacha@sachachua.com>
Date: Fri, 2 Dec 2022 08:23:11 -0500
Subject: update scripts

---
 roles/caption/tasks/main.yml        | 11 -----------
 roles/obs/templates/bbb             | 14 ++++++++++++++
 roles/obs/templates/intro           | 21 +++++++++++++++++++++
 roles/obs/templates/music           |  5 +++++
 roles/obs/templates/overlay         | 19 +++++++++++++++++++
 roles/obs/templates/play            | 20 ++++++++++++++++++++
 roles/obs/templates/play-with-intro | 24 ++++++++++++++++++++++++
 roles/obs/templates/set-overlay     | 22 ++++++++++++++++++++++
 roles/prerec/tasks/main.yml         |  1 +
 9 files changed, 126 insertions(+), 11 deletions(-)
 create mode 100755 roles/obs/templates/bbb
 create mode 100755 roles/obs/templates/intro
 create mode 100755 roles/obs/templates/music
 create mode 100755 roles/obs/templates/overlay
 create mode 100755 roles/obs/templates/play
 create mode 100755 roles/obs/templates/play-with-intro
 create mode 100644 roles/obs/templates/set-overlay

(limited to 'roles')

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
-- 
cgit v1.2.3