summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--group_vars/all.yml1
-rw-r--r--roles/media/defaults/main.yml1
-rw-r--r--roles/media/templates/nginx-include20
-rw-r--r--roles/obs/templates/bashrc3
-rwxr-xr-xroles/obs/templates/pulse1
-rw-r--r--roles/obs/templates/scenes.json193
-rw-r--r--roles/pad-proxy/defaults/main.yml1
-rw-r--r--roles/prerec/tasks/main.yml13
8 files changed, 223 insertions, 10 deletions
diff --git a/group_vars/all.yml b/group_vars/all.yml
index 34fc98c..b308c8b 100644
--- a/group_vars/all.yml
+++ b/group_vars/all.yml
@@ -35,3 +35,4 @@ emacsconf_edit_wiki_dir: ~{{ emacsconf_user }}/emacsconf-wiki
emacsconf_private_dir: ~{{ emacsconf_user }}/emacsconf-2022-private
emacsconf_caption_dir: /data/emacsconf/{{ emacsconf_year }}
emacsconf_timezone: US/Eastern
+etherpad_server_name: pad.emacsconf.org
diff --git a/roles/media/defaults/main.yml b/roles/media/defaults/main.yml
index 0d8046d..3cdf81c 100644
--- a/roles/media/defaults/main.yml
+++ b/roles/media/defaults/main.yml
@@ -1 +1,2 @@
media_protect_root: false
+media_server_name: media.emacsconf.org
diff --git a/roles/media/templates/nginx-include b/roles/media/templates/nginx-include
index f61d5c5..922bebb 100644
--- a/roles/media/templates/nginx-include
+++ b/roles/media/templates/nginx-include
@@ -1,10 +1,13 @@
rewrite ^/current/bbb-open.html$ {{ bbb_open_url }} redirect;
-
location /{{ emacsconf_year }}/backstage {
- auth_basic "Restricted";
- auth_basic_user_file /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-htpasswd;
- autoindex on;
- }
+auth_basic "Restricted";
+auth_basic_user_file /etc/nginx/sites-available/{{ host_name }}-{{ emacsconf_year }}-htpasswd;
+autoindex on;
+rewrite ^/{{ emacsconf_year }}/backstage/current/pad/([^/]*)$ https://{{ etherpad_server_name }}/{{ emacsconf_year }}-$1 redirect;
+rewrite ^/{{ emacsconf_year }}/backstage/current/room/([^/]*)$ https://{{ media_server_name }}/{{ emacsconf_year }}/backstage/assets/redirects/open/bbb-$1.html redirect;
+rewrite ^/{{ emacsconf_year }}/backstage/current/([^/]*)/pad/?$ https://{{ etherpad_server_name }}/{{ emacsconf_year }}-$1 redirect;
+rewrite ^/{{ emacsconf_year }}/backstage/current/([^/]*)/room/?$ https://{{ media_server_name }}/{{ emacsconf_year }}/backstage/assets/redirects/open/bbb-$1.html redirect;
+}
{% if media_protect_root %}
location /{{ emacsconf_year }} {
auth_basic "Restricted";
@@ -12,11 +15,14 @@ location /{{ emacsconf_year }}/backstage {
autoindex on;
}
{% endif %}
- location /{{ emacsconf_year }}/emacsconf.ics {
+ location /{{ emacsconf_year }}/{{ emacsconf_id }}.ics {
+ auth_basic off;
+ }
+ location /{{ emacsconf_year }}/schedules/ {
auth_basic off;
}
{% for track in emacsconf_tracks %}
- location /{{ emacsconf_year }}/emacsconf-{{ track.id }}.ics {
+ location /{{ emacsconf_year }}/{{ emacsconf_id }}-{{ track.id }}.ics {
auth_basic off;
}
{% endfor %} \ No newline at end of file
diff --git a/roles/obs/templates/bashrc b/roles/obs/templates/bashrc
index 0eda190..6312d26 100644
--- a/roles/obs/templates/bashrc
+++ b/roles/obs/templates/bashrc
@@ -122,3 +122,6 @@ alias mum-vol="pactl set-sink-volume {{ item.id }}-mumble "
export TZ={{ emacsconf_timezone }}
export PATH=$PATH:$HOME/bin
export DISPLAY=${DISPLAY:-:{{ item.vnc_id }}}
+if [ "x$DISP" != "x" ]; then
+ export DISPLAY={{ item.vnc_id }}
+fi
diff --git a/roles/obs/templates/pulse b/roles/obs/templates/pulse
index 7035cfe..c1fbcc0 100755
--- a/roles/obs/templates/pulse
+++ b/roles/obs/templates/pulse
@@ -137,4 +137,5 @@ load-module module-filter-apply
load-module module-null-sink sink_name={{ item.id }}-vid sink_properties=device.description={{ item.id }}-vid
load-module module-null-sink sink_name={{ item.id }}-qa sink_properties=device.description={{ item.id }}-qa
+load-module module-null-sink sink_name={{ item.id }}-mumble sink_properties=device.description={{ item.id }}-mumble
load-module module-stream-restore restore_device=false
diff --git a/roles/obs/templates/scenes.json b/roles/obs/templates/scenes.json
index 93a0592..62b1c7b 100644
--- a/roles/obs/templates/scenes.json
+++ b/roles/obs/templates/scenes.json
@@ -8,11 +8,15 @@
"active": true,
"interval": 300,
"non_matching_scene": "All track audio and screen",
- "switch_if_not_matching": true,
+ "switch_if_not_matching": false,
"switches": [
{
"scene": "Video audio and screen",
"window_title": ".*mpv"
+ },
+ {
+ "scene": "All track audio and screen",
+ "window_title": ".*Mozilla Firefox"
}
]
},
@@ -65,6 +69,9 @@
},
{
"name": "Video audio and screen"
+ },
+ {
+ "name": "Only mumble and screen"
}
],
"sources": [
@@ -74,6 +81,149 @@
"deinterlace_mode": 0,
"enabled": true,
"flags": 0,
+ "hotkeys": {
+ "OBSBasic.SelectScene": [
+ {
+ "alt": true,
+ "key": "OBS_KEY_M"
+ }
+ ],
+ "libobs.hide_scene_item.Screen Capture (XSHM)": [],
+ "libobs.hide_scene_item.gen-mumble": [],
+ "libobs.show_scene_item.Screen Capture (XSHM)": [],
+ "libobs.show_scene_item.gen-mumble": []
+ },
+ "id": "scene",
+ "mixers": 0,
+ "monitoring_type": 0,
+ "muted": false,
+ "name": "Only mumble and screen",
+ "prev_ver": 469762051,
+ "private_settings": {},
+ "push-to-mute": false,
+ "push-to-mute-delay": 0,
+ "push-to-talk": false,
+ "push-to-talk-delay": 0,
+ "settings": {
+ "custom_size": false,
+ "id_counter": 2,
+ "items": [
+ {
+ "align": 5,
+ "blend_method": "default",
+ "blend_type": "normal",
+ "bounds": {
+ "x": 0,
+ "y": 0
+ },
+ "bounds_align": 0,
+ "bounds_type": 0,
+ "crop_bottom": 0,
+ "crop_left": 0,
+ "crop_right": 0,
+ "crop_top": 0,
+ "group_item_backup": false,
+ "hide_transition": {
+ "duration": 0
+ },
+ "id": 1,
+ "locked": false,
+ "name": "{{ item.id }}-mumble",
+ "pos": {
+ "x": 0,
+ "y": 0
+ },
+ "private_settings": {},
+ "rot": 0,
+ "scale": {
+ "x": 1,
+ "y": 1
+ },
+ "scale_filter": "disable",
+ "show_transition": {
+ "duration": 0
+ },
+ "visible": true
+ },
+ {
+ "align": 5,
+ "blend_method": "default",
+ "blend_type": "normal",
+ "bounds": {
+ "x": 0,
+ "y": 0
+ },
+ "bounds_align": 0,
+ "bounds_type": 0,
+ "crop_bottom": 0,
+ "crop_left": 0,
+ "crop_right": 0,
+ "crop_top": 0,
+ "group_item_backup": false,
+ "hide_transition": {
+ "duration": 0
+ },
+ "id": 2,
+ "locked": false,
+ "name": "Screen Capture (XSHM)",
+ "pos": {
+ "x": 0,
+ "y": 0
+ },
+ "private_settings": {},
+ "rot": 0,
+ "scale": {
+ "x": 1,
+ "y": 1
+ },
+ "scale_filter": "disable",
+ "show_transition": {
+ "duration": 0
+ },
+ "visible": true
+ }
+ ]
+ },
+ "sync": 0,
+ "versioned_id": "scene",
+ "volume": 1
+ },
+ {
+ "balance": 0.5,
+ "deinterlace_field_order": 0,
+ "deinterlace_mode": 0,
+ "enabled": true,
+ "flags": 0,
+ "hotkeys": {
+ "libobs.mute": [],
+ "libobs.push-to-mute": [],
+ "libobs.push-to-talk": [],
+ "libobs.unmute": []
+ },
+ "id": "pulse_output_capture",
+ "mixers": 255,
+ "monitoring_type": 0,
+ "muted": false,
+ "name": "{{ item.id }}-mumble",
+ "prev_ver": 469762051,
+ "private_settings": {},
+ "push-to-mute": false,
+ "push-to-mute-delay": 0,
+ "push-to-talk": false,
+ "push-to-talk-delay": 0,
+ "settings": {
+ "device_id": "{{ item.id }}-mumble.monitor"
+ },
+ "sync": 0,
+ "versioned_id": "pulse_output_capture",
+ "volume": 1
+ },
+ {
+ "balance": 0.5,
+ "deinterlace_field_order": 0,
+ "deinterlace_mode": 0,
+ "enabled": true,
+ "flags": 0,
"hotkeys": {},
"id": "text_ft2_source",
"mixers": 0,
@@ -217,11 +367,13 @@
"libobs.hide_scene_item.News": [],
"libobs.hide_scene_item.Other overlay": [],
"libobs.hide_scene_item.Screen Capture (XSHM)": [],
+ "libobs.hide_scene_item.gen-mumble": [],
"libobs.hide_scene_item.gen-qa": [],
"libobs.hide_scene_item.gen-vid": [],
"libobs.show_scene_item.News": [],
"libobs.show_scene_item.Other overlay": [],
"libobs.show_scene_item.Screen Capture (XSHM)": [],
+ "libobs.show_scene_item.gen-mumble": [],
"libobs.show_scene_item.gen-qa": [],
"libobs.show_scene_item.gen-vid": []
},
@@ -238,7 +390,7 @@
"push-to-talk-delay": 0,
"settings": {
"custom_size": false,
- "id_counter": 24,
+ "id_counter": 26,
"items": [
{
"align": 5,
@@ -424,6 +576,43 @@
"duration": 0
},
"visible": true
+ },
+ {
+ "align": 5,
+ "blend_method": "default",
+ "blend_type": "normal",
+ "bounds": {
+ "x": 0,
+ "y": 0
+ },
+ "bounds_align": 0,
+ "bounds_type": 0,
+ "crop_bottom": 0,
+ "crop_left": 0,
+ "crop_right": 0,
+ "crop_top": 0,
+ "group_item_backup": false,
+ "hide_transition": {
+ "duration": 0
+ },
+ "id": 25,
+ "locked": false,
+ "name": "{{ item.id }}-mumble",
+ "pos": {
+ "x": 0,
+ "y": 0
+ },
+ "private_settings": {},
+ "rot": 0,
+ "scale": {
+ "x": 1,
+ "y": 1
+ },
+ "scale_filter": "disable",
+ "show_transition": {
+ "duration": 0
+ },
+ "visible": true
}
]
},
diff --git a/roles/pad-proxy/defaults/main.yml b/roles/pad-proxy/defaults/main.yml
index cec03da..78ce305 100644
--- a/roles/pad-proxy/defaults/main.yml
+++ b/roles/pad-proxy/defaults/main.yml
@@ -1,2 +1 @@
-etherpad_server_name: pad.emacsconf.org
etherpad_tls: /etc/nginx/tls/emacsconf.org.conf
diff --git a/roles/prerec/tasks/main.yml b/roles/prerec/tasks/main.yml
index 15adde2..954c5a7 100644
--- a/roles/prerec/tasks/main.yml
+++ b/roles/prerec/tasks/main.yml
@@ -4,6 +4,19 @@
state: directory
owner: "{{ emacsconf_user }}"
group: "{{ emacsconf_group }}"
+- name: Create the symlink
+ file:
+ src: "{{ emacsconf_caption_dir }}/scripts"
+ dest: "/home/{{ emacsconf_user }}/scripts"
+ owner: "{{ emacsconf_user }}"
+ group: "{{ emacsconf_group }}"
+ state: link
+- name: Add it to the path
+ lineinfile:
+ line: export PATH=~/scripts:$PATH
+ path: /home/{{ emacsconf_user }}/.bashrc
+ owner: "{{ emacsconf_user }}"
+ group: "{{ emacsconf_group }}"
- name: Recreate encoding script only if it's not there
tags: process-prerec
template: