From 4696aa1fed214fe1084d7c3deecaaa289bc0a1fd Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 31 Oct 2022 21:53:15 -0400 Subject: Update OBS, renamepublish and edit --- roles/obs/templates/bashrc | 116 +++++++ roles/obs/templates/global.ini | 36 +++ roles/obs/templates/i3-config | 26 +- roles/obs/templates/mpv-track | 2 +- roles/obs/templates/mpv.conf | 27 +- roles/obs/templates/obs-track | 2 +- roles/obs/templates/scenes.json | 644 ++++++++++++++++++++++++++++++++++++- roles/obs/templates/vnc-track | 2 +- roles/obs/templates/xstartup-track | 6 +- 9 files changed, 825 insertions(+), 36 deletions(-) create mode 100644 roles/obs/templates/bashrc create mode 100644 roles/obs/templates/global.ini (limited to 'roles/obs/templates') diff --git a/roles/obs/templates/bashrc b/roles/obs/templates/bashrc new file mode 100644 index 0000000..3677017 --- /dev/null +++ b/roles/obs/templates/bashrc @@ -0,0 +1,116 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color|*-256color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi + +export PATH=$PATH:$HOME/bin +export DISPLAY=${DISPLAY:-:{{ item.vnc_id }}} diff --git a/roles/obs/templates/global.ini b/roles/obs/templates/global.ini new file mode 100644 index 0000000..c9b058f --- /dev/null +++ b/roles/obs/templates/global.ini @@ -0,0 +1,36 @@ +[Basic] +SceneCollection=dev +SceneCollectionFile=dev +Profile=emacsconf-dev +ProfileDir=Development + +[General] +Pre19Defaults=false +Pre21Defaults=false +Pre23Defaults=false +Pre24.1Defaults=false +FirstRun=true +LastVersion=469762051 + +[BasicWindow] +gridMode=false +geometry=AdnQywADAAAAAAAAAAAAEgAAAn8AAALPAAAAAgAAABIAAAJ9AAACzQAAAAAAAAAABQAAAAACAAAAEgAAAn0AAALN +DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAJ8AAAA4PwBAAAABvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAHwAAACgAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAACAAAAAfAAAAKAA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAABAAAAAHwAAADeAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAAAYAAAAB8AAAAoAD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAIAAAAAfAAAAJ4A////+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAABIgAAAQQAAAK8AAAAyAAAAnwAAAGoAAAABAAAAAQAAAAIAAAACPwAAAAA +PreviewEnabled=true +AlwaysOnTop=false +SceneDuplicationMode=true +SwapScenesMode=true +EditPropertiesMode=false +PreviewProgramMode=false +DocksLocked=false + +[OBSWebSocket] +FirstLoad=false +ServerEnabled=true +ServerPort={{ item.obs_websocket_port }} +ServerPassword={{ obs_websocket_password }} +AlertsEnabled=false +AuthRequired=true + +[ScriptLogWindow] +geometry=AdnQywADAAAAAAAAAAAAFAAAAlcAAAGjAAAAAAAAABQAAAJXAAABowAAAAAAAAAABQAAAAAAAAAAFAAAAlcAAAGj diff --git a/roles/obs/templates/i3-config b/roles/obs/templates/i3-config index ce22fd3..1787b64 100644 --- a/roles/obs/templates/i3-config +++ b/roles/obs/templates/i3-config @@ -1,3 +1,4 @@ +# {{ ansible_managed }} # i3 config file (v4) # # Please see https://i3wm.org/docs/userguide.html for a complete reference! @@ -189,18 +190,13 @@ bindsym Mod1+r mode "resize" # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) -bar { - status_command i3status -} - -####################################################################### -# automatically start i3-config-wizard to offer the user to create a -# keysym-based config which used their favorite modifier (alt or windows) -# -# i3-config-wizard will not launch if there already is a config file -# in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or -# ~/.i3/config. -# -# Please remove the following exec line: -####################################################################### -exec i3-config-wizard +# bar { +# status_command i3status +# } + +# EmacsConf tweaks +# Start with tabbed layout +workspace_layout tabbed +# MPV starts full-screen +for_window [class="mpv"] fullscreen enable +for_window [title=".*mpv"] fullscreen enable diff --git a/roles/obs/templates/mpv-track b/roles/obs/templates/mpv-track index b34df70..ee359f1 100755 --- a/roles/obs/templates/mpv-track +++ b/roles/obs/templates/mpv-track @@ -2,4 +2,4 @@ # Run MPV with the output set to the right sink and with an IPC socket # {{ ansible_managed }} -mpv --input-ipc-server={{ emacsconf_home }}/mpv-socket-{{ emacsconf_id }}-{{ item.id }} --audio-device=pulse/{{ item.id }}-vid --profile={{ emacsconf_id }}-talks $* +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 $* & diff --git a/roles/obs/templates/mpv.conf b/roles/obs/templates/mpv.conf index 5c73681..9aff3ee 100644 --- a/roles/obs/templates/mpv.conf +++ b/roles/obs/templates/mpv.conf @@ -5,9 +5,34 @@ profile={{ emacsconf_id }}-talks # Then you can load it with `--profile={{ emacsconf_id }}-talks` +# This puts the video in the top right so that there's room on the left for the logo and some text [{{ emacsconf_id }}-talks] # Positioning video-zoom=-0.15 +video-align-x=1 +video-align-y=-1 +sub-use-margins=yes +sub-scale-by-window=yes +sub-pos=103 +sub-margin-x=120 +sub-margin-y=40 +sub-align-x=left +# Style +sub-font="{{ emacsconf_font }}" +sub-color="1/0.82/0" +sub-blur=0.2 +sub-scale=0.9 +sub-font-size=40 +sub-border-size=0 +sub-border-color=0/1 +sub-shadow-color=0/1 +sub-shadow-offset=1.2 +sub-ass-force-style=Kerning=yes +sub-ass-line-spacing=0 + +[{{ emacsconf_id }}-old] +# Positioning +video-zoom=-0.15 video-pan-y=-0.055 sub-use-margins=yes sub-scale-by-window=yes @@ -15,7 +40,7 @@ sub-pos=103 sub-margin-x=150 sub-margin-y=40 # Style -sub-font="Clear Sans Bold" +sub-font="{{ emacsconf_font }}" sub-color="1/0.82/0" sub-blur=0.2 sub-scale=0.9 diff --git a/roles/obs/templates/obs-track b/roles/obs/templates/obs-track index 5763d30..3029715 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 +obs --profile "{{ emacsconf_id }}-{{ item.id }}" --collection "{{ item.id }}" -m --websocket_port "{{ item.obs_websocket_port }}" --websocket_password "{{ obs_websocket_password }}" diff --git a/roles/obs/templates/scenes.json b/roles/obs/templates/scenes.json index 5e19f16..4e6e4bd 100644 --- a/roles/obs/templates/scenes.json +++ b/roles/obs/templates/scenes.json @@ -2,14 +2,168 @@ "current_program_scene": "All track audio and screen", "current_scene": "All track audio and screen", "current_transition": "Fade", - "groups": [], + "groups": [ + { + "balance": 0.5, + "deinterlace_field_order": 0, + "deinterlace_mode": 0, + "enabled": true, + "flags": 0, + "hotkeys": { + "libobs.hide_scene_item.Logo": [], + "libobs.hide_scene_item.News": [], + "libobs.hide_scene_item.URL": [], + "libobs.show_scene_item.Logo": [], + "libobs.show_scene_item.News": [], + "libobs.show_scene_item.URL": [] + }, + "id": "group", + "mixers": 0, + "monitoring_type": 0, + "muted": false, + "name": "{{ emacsconf_id }} base", + "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": true, + "cx": 103, + "cy": 507, + "id_counter": 0, + "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": 8, + "locked": false, + "name": "News", + "pos": { + "x": 22, + "y": 390 + }, + "private_settings": {}, + "rot": -90, + "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": 7, + "locked": false, + "name": "URL", + "pos": { + "x": 55, + "y": 389 + }, + "private_settings": {}, + "rot": -90, + "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": 6, + "locked": false, + "name": "Logo", + "pos": { + "x": 0, + "y": 404 + }, + "private_settings": {}, + "rot": 0, + "scale": { + "x": 0.40234375, + "y": 0.40234375 + }, + "scale_filter": "disable", + "show_transition": { + "duration": 0 + }, + "visible": true + } + ] + }, + "sync": 0, + "versioned_id": "group", + "volume": 1 + } + ], "modules": { "auto-scene-switcher": { "active": false, "interval": 300, - "non_matching_scene": "", - "switch_if_not_matching": false, - "switches": [] + "non_matching_scene": "All track audio and screen", + "switch_if_not_matching": true, + "switches": [ + { + "scene": "Video audio and screen", + "window_title": ".*mpv" + } + ] }, "output-timer": { "autoStartRecordTimer": false, @@ -63,6 +217,95 @@ } ], "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": "News", + "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": 24, + "style": "" + }, + "from_file": true, + "text_file": "/home/{{ emacsconf_id }}-{{ item.id }}/news.txt" + }, + "sync": 0, + "versioned_id": "text_ft2_source_v2", + "volume": 1 + }, + { + "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": "URL", + "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": 24, + "style": "" + }, + "from_file": true, + "text_file": "/home/{{ emacsconf_id }}-{{ item.id }}/url.txt" + }, + "sync": 0, + "versioned_id": "text_ft2_source_v2", + "volume": 1 + }, + { + "balance": 0.5, + "deinterlace_field_order": 0, + "deinterlace_mode": 0, + "enabled": true, + "flags": 0, + "hotkeys": {}, + "id": "image_source", + "mixers": 0, + "monitoring_type": 0, + "muted": false, + "name": "Logo", + "prev_ver": 469762051, + "private_settings": {}, + "push-to-mute": false, + "push-to-mute-delay": 0, + "push-to-talk": false, + "push-to-talk-delay": 0, + "settings": { + "file": "/home/{{ emacsconf_id }}-{{ item.id }}/logo.png" + }, + "sync": 0, + "versioned_id": "image_source", + "volume": 1 + }, { "balance": 0.5, "deinterlace_field_order": 0, @@ -101,12 +344,16 @@ "flags": 0, "hotkeys": { "OBSBasic.SelectScene": [], + "libobs.hide_scene_item.Bottom": [], "libobs.hide_scene_item.Screen Capture (XSHM)": [], - "libobs.hide_scene_item.{{ item.id }}-qa": [], - "libobs.hide_scene_item.{{ item.id }}-vid": [], + "libobs.hide_scene_item.dev-qa": [], + "libobs.hide_scene_item.dev-vid": [], + "libobs.hide_scene_item.emacsconf base": [], + "libobs.show_scene_item.Bottom": [], "libobs.show_scene_item.Screen Capture (XSHM)": [], - "libobs.show_scene_item.{{ item.id }}-qa": [], - "libobs.show_scene_item.{{ item.id }}-vid": [] + "libobs.show_scene_item.dev-qa": [], + "libobs.show_scene_item.dev-vid": [], + "libobs.show_scene_item.emacsconf base": [] }, "id": "scene", "mixers": 0, @@ -121,7 +368,7 @@ "push-to-talk-delay": 0, "settings": { "custom_size": false, - "id_counter": 14, + "id_counter": 22, "items": [ { "align": 5, @@ -145,14 +392,14 @@ "locked": false, "name": "Screen Capture (XSHM)", "pos": { - "x": 0, + "x": 115, "y": 0 }, "private_settings": {}, "rot": 0, "scale": { - "x": 1, - "y": 1 + "x": 0.91015625, + "y": 0.9097222089767456 }, "scale_filter": "disable", "show_transition": { @@ -233,6 +480,191 @@ "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 8, + "locked": false, + "name": "News", + "pos": { + "x": 31, + "y": 595 + }, + "private_settings": {}, + "rot": -90, + "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 7, + "locked": false, + "name": "URL", + "pos": { + "x": 64, + "y": 594 + }, + "private_settings": {}, + "rot": -90, + "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 6, + "locked": false, + "name": "Logo", + "pos": { + "x": 9, + "y": 609 + }, + "private_settings": {}, + "rot": 0, + "scale": { + "x": 0.40234375, + "y": 0.40234375 + }, + "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": 21, + "locked": false, + "name": "{{ emacsconf_id }} base", + "pos": { + "x": 9, + "y": 205 + }, + "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": 22, + "locked": false, + "name": "Bottom", + "pos": { + "x": 112, + "y": 654 + }, + "private_settings": {}, + "rot": 0, + "scale": { + "x": 1, + "y": 1 + }, + "scale_filter": "disable", + "show_transition": { + "duration": 0 + }, + "visible": true } ] }, @@ -302,9 +734,11 @@ "hotkeys": { "OBSBasic.SelectScene": [], "libobs.hide_scene_item.Screen Capture (XSHM)": [], - "libobs.hide_scene_item.{{ item.id }}-vid": [], + "libobs.hide_scene_item.dev-vid": [], + "libobs.hide_scene_item.emacsconf base": [], "libobs.show_scene_item.Screen Capture (XSHM)": [], - "libobs.show_scene_item.{{ item.id }}-vid": [] + "libobs.show_scene_item.dev-vid": [], + "libobs.show_scene_item.emacsconf base": [] }, "id": "scene", "mixers": 0, @@ -319,7 +753,7 @@ "push-to-talk-delay": 0, "settings": { "custom_size": false, - "id_counter": 5, + "id_counter": 11, "items": [ { "align": 5, @@ -394,12 +828,192 @@ "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 8, + "locked": false, + "name": "News", + "pos": { + "x": 31, + "y": 580 + }, + "private_settings": {}, + "rot": -90, + "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 7, + "locked": false, + "name": "URL", + "pos": { + "x": 64, + "y": 579 + }, + "private_settings": {}, + "rot": -90, + "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": true, + "hide_transition": { + "duration": 0 + }, + "id": 6, + "locked": false, + "name": "Logo", + "pos": { + "x": 9, + "y": 594 + }, + "private_settings": {}, + "rot": 0, + "scale": { + "x": 0.40234375, + "y": 0.40234375 + }, + "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": 11, + "locked": false, + "name": "{{ emacsconf_id }} base", + "pos": { + "x": 9, + "y": 190 + }, + "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": {}, + "id": "text_ft2_source", + "mixers": 0, + "monitoring_type": 0, + "muted": false, + "name": "Bottom", + "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": "" + }, + "from_file": true, + "text_file": "/home/{{ emacsconf_id }}-{{ item.id }}/bottom.txt" + }, + "sync": 0, + "versioned_id": "text_ft2_source_v2", + "volume": 1 } ], "transition_duration": 300, diff --git a/roles/obs/templates/vnc-track b/roles/obs/templates/vnc-track index b987d8b..99b0ce8 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-{{ item.id }} -desktop {{ emacsconf_id }}-{{ item.id }} \ 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 }} \ No newline at end of file diff --git a/roles/obs/templates/xstartup-track b/roles/obs/templates/xstartup-track index 140f836..b80caac 100755 --- a/roles/obs/templates/xstartup-track +++ b/roles/obs/templates/xstartup-track @@ -1,11 +1,13 @@ #!/bin/bash export MPV_SOCKET={{ emacsconf_home }}/{{ item.id }}-mpv-socket export TRACK={{ item.id }} -export PATH="/usr/local/bin:/usr/bin:/bin:{{ emacsconf_home }}/bin/{{ 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 -firefox file://data/emacsconf/{{ emacsconf_year }}/index-{{ item.id }}.html -P "{{ emacsconf_id }}-{{ item.id }}" & +firefox file:///data/emacsconf/{{ emacsconf_year }}/index-{{ item.id }}.html & +$HOME/bin/track-obs & +termit & # $HOME/{{ item.id }}-obs & # $HOME/{{ item.id }}-mpv $HOME/logo.png & exec i3 -- cgit v1.2.3