From 1957b894290bcbee8767f6cd11d24927c21cdf9a Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 23 Nov 2022 14:44:11 -0500 Subject: pad stuff --- group_vars/all.yml | 1 + roles/media/defaults/main.yml | 1 + roles/media/templates/nginx-include | 20 ++-- roles/obs/templates/bashrc | 3 + roles/obs/templates/pulse | 1 + roles/obs/templates/scenes.json | 193 +++++++++++++++++++++++++++++++++++- roles/pad-proxy/defaults/main.yml | 1 - roles/prerec/tasks/main.yml | 13 +++ 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,9 +69,155 @@ }, { "name": "Video audio and screen" + }, + { + "name": "Only mumble and screen" } ], "sources": [ + { + "balance": 0.5, + "deinterlace_field_order": 0, + "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, @@ -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: -- cgit v1.2.3