From 56fba385b58c5aa076f5b162398641e5a27d5727 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 28 Nov 2022 19:58:06 -0500 Subject: mumble --- roles/obs/tasks/obs-setup.yml | 6 +- roles/obs/templates/Mumble.conf | 4 +- roles/obs/templates/bashrc | 12 +- roles/obs/templates/emacsconf-stream-config.el | 2 +- roles/obs/templates/mpv-track | 2 +- roles/obs/templates/mpv.conf | 2 +- roles/obs/templates/obs-track | 2 +- roles/obs/templates/profile.ini | 2 +- roles/obs/templates/pulse | 6 +- roles/obs/templates/scenes.json | 250 +++++++++++++++++++++---- roles/obs/templates/vnc-track | 2 +- roles/obs/templates/xstartup-track | 2 +- 12 files changed, 237 insertions(+), 55 deletions(-) diff --git a/roles/obs/tasks/obs-setup.yml b/roles/obs/tasks/obs-setup.yml index acd3c1c..a64d4bd 100644 --- a/roles/obs/tasks/obs-setup.yml +++ b/roles/obs/tasks/obs-setup.yml @@ -6,7 +6,7 @@ state: directory - name: Create profile directories file: - path: "~{{ emacsconf_user }}/.config/obs-studio/basic/profiles/{{ item.name }}" + path: "~{{ emacsconf_user }}/.config/obs-studio/basic/profiles/{{ emacsconf_id }}" state: directory owner: "{{ emacsconf_user }}" group: "{{ emacsconf_group }}" @@ -22,7 +22,7 @@ src: profile.ini owner: "{{ emacsconf_user }}" group: "{{ emacsconf_group }}" - dest: "~{{ emacsconf_user }}/.config/obs-studio/basic/profiles/{{ item.name }}/basic.ini" + dest: "~{{ emacsconf_user }}/.config/obs-studio/basic/profiles/{{ emacsconf_id }}/basic.ini" mode: 0664 - name: Install OBS scenes tags: obs-scene @@ -30,7 +30,7 @@ src: scenes.json owner: "{{ emacsconf_user }}" group: "{{ emacsconf_group }}" - dest: "~{{ emacsconf_user }}/.config/obs-studio/basic/scenes/{{ item.id }}.json" + dest: "~{{ emacsconf_user }}/.config/obs-studio/basic/scenes/{{ emacsconf_id }}.json" - name: Copy overlay template for video tags: obs-scene, wip copy: diff --git a/roles/obs/templates/Mumble.conf b/roles/obs/templates/Mumble.conf index 06449d4..a25f217 100644 --- a/roles/obs/templates/Mumble.conf +++ b/roles/obs/templates/Mumble.conf @@ -55,8 +55,8 @@ whitelist=@Invalid() whitelistexclude=@Invalid() [pulseaudio] -output={{ item.id }}-qa - +output=mumble +- [shortcuts] 1\data=@Invalid() 1\index=1 diff --git a/roles/obs/templates/bashrc b/roles/obs/templates/bashrc index 6312d26..3fef0df 100644 --- a/roles/obs/templates/bashrc +++ b/roles/obs/templates/bashrc @@ -113,12 +113,12 @@ if ! shopt -oq posix; then fi alias play=track-mpv -alias qa-louder="pactl set-sink-volume {{ item.id }}-qa +5% " -alias qa-quieter="pactl set-sink-volume {{ item.id }}-qa -5% " -alias qa-vol="pactl set-sink-volume {{ item.id }}-qa " -alias mum-louder="pactl set-sink-volume {{ item.id }}-mumble +5% " -alias mum-quieter="pactl set-sink-volume {{ item.id }}-mumble -5% " -alias mum-vol="pactl set-sink-volume {{ item.id }}-mumble " +alias qa-louder="pactl set-sink-volume qa +5% " +alias qa-quieter="pactl set-sink-volume qa -5% " +alias qa-vol="pactl set-sink-volume qa " +alias mum-louder="pactl set-sink-volume mumble +5% " +alias mum-quieter="pactl set-sink-volume mumble -5% " +alias mum-vol="pactl set-sink-volume mumble " export TZ={{ emacsconf_timezone }} export PATH=$PATH:$HOME/bin export DISPLAY=${DISPLAY:-:{{ item.vnc_id }}} diff --git a/roles/obs/templates/emacsconf-stream-config.el b/roles/obs/templates/emacsconf-stream-config.el index 610d16e..3901c41 100644 --- a/roles/obs/templates/emacsconf-stream-config.el +++ b/roles/obs/templates/emacsconf-stream-config.el @@ -10,7 +10,7 @@ (setq completion-category-defaults nil) (setq completion-category-overrides '((file (styles orderless)))) -(setq emacsconf-track "{{ item.name }}") +(setq emacsconf-stream-track "{{ item.name }}") (autoload 'text-property-search-forward "text-property-search") (add-to-list 'load-path "~/emacsconf-el") (require 'emacsconf) diff --git a/roles/obs/templates/mpv-track b/roles/obs/templates/mpv-track index db3ea62..bb87677 100755 --- a/roles/obs/templates/mpv-track +++ b/roles/obs/templates/mpv-track @@ -38,4 +38,4 @@ else fi # Play the video -DISPLAY="${DISPLAY:-:{{ item.vnc_id }}}" mpv --input-ipc-server={{ emacsconf_home }}/mpv-socket-{{ emacsconf_id }}-{{ item.id }} --audio-device=pulse/{{ item.id }}-vid --profile={{ emacsconf_id }}-talks $FILE $* & +DISPLAY="${DISPLAY:-:{{ item.vnc_id }}}" mpv --input-ipc-server={{ emacsconf_home }}/mpv-socket-{{ emacsconf_id }}-{{ item.id }} --audio-device=pulse/vid --profile={{ emacsconf_id }}-talks $FILE $* & diff --git a/roles/obs/templates/mpv.conf b/roles/obs/templates/mpv.conf index 6c90a6b..a30136d 100644 --- a/roles/obs/templates/mpv.conf +++ b/roles/obs/templates/mpv.conf @@ -2,7 +2,7 @@ # Requires mpv >= 0.34.0 input-ipc-server={{ emacsconf_home }}/mpv-socket-{{ emacsconf_id }}-{{ item.id }} -audio-device=pulse/{{ item.id }}-vid +audio-device=pulse/vid # Comment out the next line if you don't want this profile loaded by default. profile={{ emacsconf_id }}-talks # Then you can load it with `--profile={{ emacsconf_id }}-talks` diff --git a/roles/obs/templates/obs-track b/roles/obs/templates/obs-track index 3029715..32cec77 100755 --- a/roles/obs/templates/obs-track +++ b/roles/obs/templates/obs-track @@ -1,3 +1,3 @@ #!/bin/bash # {{ ansible_managed }} -obs --profile "{{ emacsconf_id }}-{{ item.id }}" --collection "{{ item.id }}" -m --websocket_port "{{ item.obs_websocket_port }}" --websocket_password "{{ obs_websocket_password }}" +obs --profile "{{ emacsconf_id }}" --collection "{{ emacsconf_id }}" -m --websocket_port "{{ item.obs_websocket_port }}" --websocket_password "{{ obs_websocket_password }}" diff --git a/roles/obs/templates/profile.ini b/roles/obs/templates/profile.ini index d00e3af..c58ed87 100644 --- a/roles/obs/templates/profile.ini +++ b/roles/obs/templates/profile.ini @@ -1,5 +1,5 @@ [General] -Name={{ emacsconf_id }}-{{ item.id }} +Name={{ emacsconf_id }} [Video] BaseCX={{ res_x }} diff --git a/roles/obs/templates/pulse b/roles/obs/templates/pulse index c1fbcc0..b3ba8f5 100755 --- a/roles/obs/templates/pulse +++ b/roles/obs/templates/pulse @@ -135,7 +135,7 @@ load-module module-filter-apply #set-default-sink output #set-default-source input -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-null-sink sink_name=vid sink_properties=device.description=vid +load-module module-null-sink sink_name=qa sink_properties=device.description=qa +load-module module-null-sink sink_name=mumble sink_properties=device.description=mumble load-module module-stream-restore restore_device=false diff --git a/roles/obs/templates/scenes.json b/roles/obs/templates/scenes.json index 62b1c7b..69e058f 100644 --- a/roles/obs/templates/scenes.json +++ b/roles/obs/templates/scenes.json @@ -1,6 +1,6 @@ { - "current_program_scene": "All track audio and screen", - "current_scene": "All track audio and screen", + "current_program_scene": "Emergency", + "current_scene": "Emergency", "current_transition": "Fade", "groups": [], "modules": { @@ -33,7 +33,7 @@ }, "scripts-tool": [] }, - "name": "{{ item.id }}", + "name": "{{ emacsconf_id }}", "preview_locked": false, "quick_transitions": [ { @@ -72,9 +72,43 @@ }, { "name": "Only mumble and screen" + }, + { + "name": "Emergency" } ], "sources": [ + { + "balance": 0.5, + "deinterlace_field_order": 0, + "deinterlace_mode": 0, + "enabled": true, + "flags": 0, + "hotkeys": {}, + "id": "text_ft2_source", + "mixers": 0, + "monitoring_type": 0, + "muted": false, + "name": "Thank you for your patience", + "prev_ver": 469762051, + "private_settings": {}, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "settings": { + "font": { + "face": "Sans Serif", + "flags": 0, + "size": 28, + "style": "" + }, + "text": "Thank you for your patience" + }, + "sync": 0, + "versioned_id": "text_ft2_source_v2", + "volume": 1 + }, { "balance": 0.5, "deinterlace_field_order": 0, @@ -82,16 +116,11 @@ "enabled": true, "flags": 0, "hotkeys": { - "OBSBasic.SelectScene": [ - { - "alt": true, - "key": "OBS_KEY_M" - } - ], + "OBSBasic.SelectScene": [], "libobs.hide_scene_item.Screen Capture (XSHM)": [], - "libobs.hide_scene_item.gen-mumble": [], + "libobs.hide_scene_item.mumble": [], "libobs.show_scene_item.Screen Capture (XSHM)": [], - "libobs.show_scene_item.gen-mumble": [] + "libobs.show_scene_item.mumble": [] }, "id": "scene", "mixers": 0, @@ -128,7 +157,7 @@ }, "id": 1, "locked": false, - "name": "{{ item.id }}-mumble", + "name": "mumble", "pos": { "x": 0, "y": 0 @@ -204,7 +233,7 @@ "mixers": 255, "monitoring_type": 0, "muted": false, - "name": "{{ item.id }}-mumble", + "name": "mumble", "prev_ver": 469762051, "private_settings": {}, "push-to-mute": false, @@ -212,7 +241,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "device_id": "{{ item.id }}-mumble.monitor" + "device_id": "mumble.monitor" }, "sync": 0, "versioned_id": "pulse_output_capture", @@ -245,7 +274,7 @@ }, "from_file": true, "outline": true, - "text_file": "/home/{{ emacsconf_id }}-{{ item.id }}/news.txt" + "text_file": "/home/{{ emacsconf_id }}-gen/news.txt" }, "sync": 0, "versioned_id": "text_ft2_source_v2", @@ -270,7 +299,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "file": "/home/{{ emacsconf_id }}-{{ item.id }}/other.png" + "file": "/home/{{ emacsconf_id }}-gen/other.png" }, "sync": 0, "versioned_id": "image_source", @@ -295,7 +324,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "file": "/home/{{ emacsconf_id }}-{{ item.id }}/video.png" + "file": "/home/{{ emacsconf_id }}-gen/video.png" }, "sync": 0, "versioned_id": "image_source", @@ -320,7 +349,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "file": "/home/{{ emacsconf_id }}-{{ item.id }}/video.png" + "file": "/home/{{ emacsconf_id }}-gen/video.png" }, "sync": 0, "versioned_id": "image_source", @@ -342,7 +371,7 @@ "mixers": 255, "monitoring_type": 0, "muted": false, - "name": "{{ item.id }}-qa", + "name": "qa", "prev_ver": 469762051, "private_settings": {}, "push-to-mute": false, @@ -350,7 +379,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "device_id": "{{ item.id }}-qa.monitor" + "device_id": "qa.monitor" }, "sync": 0, "versioned_id": "pulse_output_capture", @@ -367,15 +396,15 @@ "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.hide_scene_item.mumble": [], + "libobs.hide_scene_item.qa": [], + "libobs.hide_scene_item.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": [] + "libobs.show_scene_item.mumble": [], + "libobs.show_scene_item.qa": [], + "libobs.show_scene_item.vid": [] }, "id": "scene", "mixers": 0, @@ -449,7 +478,7 @@ }, "id": 12, "locked": false, - "name": "{{ item.id }}-qa", + "name": "qa", "pos": { "x": 0, "y": 0 @@ -486,7 +515,7 @@ }, "id": 14, "locked": false, - "name": "{{ item.id }}-vid", + "name": "vid", "pos": { "x": 0, "y": 0 @@ -597,7 +626,7 @@ }, "id": 25, "locked": false, - "name": "{{ item.id }}-mumble", + "name": "mumble", "pos": { "x": 0, "y": 0 @@ -659,7 +688,7 @@ "mixers": 255, "monitoring_type": 0, "muted": false, - "name": "{{ item.id }}-vid", + "name": "vid", "prev_ver": 469762051, "private_settings": {}, "push-to-mute": false, @@ -667,7 +696,7 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "device_id": "{{ item.id }}-vid.monitor" + "device_id": "vid.monitor" }, "sync": 0, "versioned_id": "pulse_output_capture", @@ -685,12 +714,12 @@ "libobs.hide_scene_item.Screen Capture (XSHM)": [], "libobs.hide_scene_item.Video": [], "libobs.hide_scene_item.Video overlay": [], - "libobs.hide_scene_item.gen-vid": [], + "libobs.hide_scene_item.vid": [], "libobs.show_scene_item.News": [], "libobs.show_scene_item.Screen Capture (XSHM)": [], "libobs.show_scene_item.Video": [], "libobs.show_scene_item.Video overlay": [], - "libobs.show_scene_item.gen-vid": [] + "libobs.show_scene_item.vid": [] }, "id": "scene", "mixers": 0, @@ -727,7 +756,7 @@ }, "id": 1, "locked": false, - "name": "{{ item.id }}-vid", + "name": "vid", "pos": { "x": 0, "y": 0 @@ -897,6 +926,159 @@ "sync": 0, "versioned_id": "scene", "volume": 1 + }, + { + "balance": 0.5, + "deinterlace_field_order": 0, + "deinterlace_mode": 0, + "enabled": true, + "flags": 0, + "hotkeys": { + "OBSBasic.SelectScene": [ + { + "alt": true, + "key": "OBS_KEY_M", + "shift": true + } + ], + "libobs.hide_scene_item.News": [], + "libobs.hide_scene_item.Thank you for your patience": [], + "libobs.hide_scene_item.mumble": [], + "libobs.show_scene_item.News": [], + "libobs.show_scene_item.Thank you for your patience": [], + "libobs.show_scene_item.mumble": [] + }, + "id": "scene", + "mixers": 0, + "monitoring_type": 0, + "muted": false, + "name": "Emergency", + "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": 3, + "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": "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": 539, + "y": 191 + }, + "bounds_align": 0, + "bounds_type": 2, + "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": "News", + "pos": { + "x": 383, + "y": 274 + }, + "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": 3, + "locked": false, + "name": "Thank you for your patience", + "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 } ], "transition_duration": 300, diff --git a/roles/obs/templates/vnc-track b/roles/obs/templates/vnc-track index 99b0ce8..45a177a 100644 --- a/roles/obs/templates/vnc-track +++ b/roles/obs/templates/vnc-track @@ -1 +1 @@ -vncserver :{{ item.vnc_id }} -geometry {{ res_x }}x{{ res_y }} -useold -xstartup {{ emacsconf_home }}/.vnc/xstartup -desktop {{ emacsconf_id }}-{{ item.id }} -rfbport {{ item.vnc_port }} \ No newline at end of file +vncserver :{{ item.vnc_id }} -geometry {{ res_x }}x{{ res_y }} -useold -xstartup {{ emacsconf_home }}/.vnc/xstartup -desktop {{ emacsconf_id }}-{{ item.id }} -rfbport {{ item.vnc_port }} -AlwaysShared -randr {{ res_x }}x{{ res_y }} \ No newline at end of file diff --git a/roles/obs/templates/xstartup-track b/roles/obs/templates/xstartup-track index b8d90cd..e09c081 100755 --- a/roles/obs/templates/xstartup-track +++ b/roles/obs/templates/xstartup-track @@ -4,7 +4,7 @@ export TRACK={{ item.id }} export PATH="/usr/local/bin:/usr/bin:/bin:{{ emacsconf_home }}/bin" xrdb $HOME/.Xresources pulseaudio --start -pacmd set-default-sink {{ item.id }}-qa +pacmd set-default-sink qa firefox file:///data/emacsconf/{{ emacsconf_year }}/index-{{ item.id }}.html & $HOME/bin/track-obs & mumble mumble://{{ emacsconf_id }}-{{ item.id }}@{{ mumble_server }}/{{ item.mumble_channel }} & -- cgit v1.2.3