summaryrefslogtreecommitdiffstats
path: root/roles/obs/templates
diff options
context:
space:
mode:
Diffstat (limited to 'roles/obs/templates')
-rw-r--r--roles/obs/templates/bashrc116
-rw-r--r--roles/obs/templates/global.ini36
-rw-r--r--roles/obs/templates/i3-config26
-rwxr-xr-xroles/obs/templates/mpv-track2
-rw-r--r--roles/obs/templates/mpv.conf27
-rwxr-xr-xroles/obs/templates/obs-track2
-rw-r--r--roles/obs/templates/scenes.json644
-rw-r--r--roles/obs/templates/vnc-track2
-rwxr-xr-xroles/obs/templates/xstartup-track6
9 files changed, 825 insertions, 36 deletions
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,
@@ -69,6 +223,95 @@
"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,
+ "deinterlace_mode": 0,
+ "enabled": true,
+ "flags": 0,
"hotkeys": {
"libobs.mute": [],
"libobs.push-to-mute": [],
@@ -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