From 366d6aec267f543f9a7b928778a09b80852346f3 Mon Sep 17 00:00:00 2001 From: Sacha Chua 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 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