From 3a1bb6176aa52d22ed3c6072104f9bd3cf851cb8 Mon Sep 17 00:00:00 2001 From: Daniel Havlik Date: Fri, 30 Jul 2021 10:13:26 +0200 Subject: [PATCH] dump --- .pid | 1 + .play_sound.sh.swp | Bin 0 -> 12288 bytes S1_ninjasecret | 1 + S1_pause | 1 + S2_ninjasecret | 1 + S2_pause | 1 + S3_ninjasecret | 1 + S3_pause | 1 + bee | 1 + countdown_s1.mp4 | Bin 0 -> 40276 bytes countdown_s2.mp4 | Bin 0 -> 40847 bytes countdown_s3.mp4 | Bin 0 -> 41236 bytes curtime_S1.json | 1 + get_time.py | 5 ++ move_window.sh | 17 ++++ obs_hotkey_helper.py | 40 ++++++++++ play.json | 1 + play_sound.sh | 10 +++ play_udp.py | 107 +++++++++++++++++++++++++ play_udp.py_backup | 48 ++++++++++++ play_udp.py_mplayerctl | 52 +++++++++++++ play_udp.pyzw | 92 ++++++++++++++++++++++ play_web.py | 146 +++++++++++++++++++++++++++++++++++ pos | 1 + run_mplayers.py | 42 ++++++++++ s3_pid | 1 + send_companion.py | 12 +++ start_ninja.sh | 9 +++ start_webserver.sh | 2 + static/clipboard.min.js | 7 ++ static/jquery-3.5.1.min.js | 2 + static/main.css | 29 +++++++ static/main.js | 107 +++++++++++++++++++++++++ stop_ninja.sh | 7 ++ templates/.media.html.swp | Bin 0 -> 12288 bytes templates/media.html | 100 ++++++++++++++++++++++++ templates/obs_multiview.html | 14 ++++ templates/programm.html | 14 ++++ ticker_lg.txt | 2 + www/interface.html | 8 ++ www/media.html | 31 ++++++++ 41 files changed, 915 insertions(+) create mode 100755 .pid create mode 100755 .play_sound.sh.swp create mode 100755 S1_ninjasecret create mode 100755 S1_pause create mode 100755 S2_ninjasecret create mode 100755 S2_pause create mode 100755 S3_ninjasecret create mode 100755 S3_pause create mode 100755 bee create mode 100755 countdown_s1.mp4 create mode 100755 countdown_s2.mp4 create mode 100755 countdown_s3.mp4 create mode 100755 curtime_S1.json create mode 100755 get_time.py create mode 100755 move_window.sh create mode 100755 obs_hotkey_helper.py create mode 100755 play.json create mode 100755 play_sound.sh create mode 100755 play_udp.py create mode 100755 play_udp.py_backup create mode 100755 play_udp.py_mplayerctl create mode 100755 play_udp.pyzw create mode 100755 play_web.py create mode 100755 pos create mode 100755 run_mplayers.py create mode 100755 s3_pid create mode 100755 send_companion.py create mode 100755 start_ninja.sh create mode 100755 start_webserver.sh create mode 100755 static/clipboard.min.js create mode 100755 static/jquery-3.5.1.min.js create mode 100755 static/main.css create mode 100755 static/main.js create mode 100755 stop_ninja.sh create mode 100755 templates/.media.html.swp create mode 100755 templates/media.html create mode 100755 templates/obs_multiview.html create mode 100755 templates/programm.html create mode 100755 ticker_lg.txt create mode 100755 www/interface.html create mode 100755 www/media.html diff --git a/.pid b/.pid new file mode 100755 index 0000000..50a8184 --- /dev/null +++ b/.pid @@ -0,0 +1 @@ +32348 diff --git a/.play_sound.sh.swp b/.play_sound.sh.swp new file mode 100755 index 0000000000000000000000000000000000000000..4bdf1390ce773b68c0712bda8752d61b2dec1f64 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/countdown_s2.mp4 b/countdown_s2.mp4 new file mode 100755 index 0000000000000000000000000000000000000000..78d92dc1b9b88297f6949d81738c6d9c6fa07c36 GIT binary patch literal 40847 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 DY!qQT literal 0 HcmV?d00001 diff --git a/countdown_s3.mp4 b/countdown_s3.mp4 new file mode 100755 index 0000000000000000000000000000000000000000..16c0f3efecdab40a25e76db963937557e9dd076b GIT binary patch literal 41236 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 literal 0 HcmV?d00001 diff --git a/curtime_S1.json b/curtime_S1.json new file mode 100755 index 0000000..00dccc4 --- /dev/null +++ b/curtime_S1.json @@ -0,0 +1 @@ +{"length": 18265.0, "elapsed": 3584.6} \ No newline at end of file diff --git a/get_time.py b/get_time.py new file mode 100755 index 0000000..6dc8749 --- /dev/null +++ b/get_time.py @@ -0,0 +1,5 @@ +import socket + +byte_message = bytes("get_time\n", " utf-8") +opened_socket = socket.socket(socket. AF_INET, socket. SOCK_DGRAM) +opened_socket. sendto(byte_message, ("127.0.0.1", 7123)) diff --git a/move_window.sh b/move_window.sh new file mode 100755 index 0000000..36d37cd --- /dev/null +++ b/move_window.sh @@ -0,0 +1,17 @@ +wid=`xdotool getactivewindow` +max_state=`xprop -id $wid _NET_WM_STATE` + +wmctrl -ir $wid -b remove,maximized_vert,maximized_horz +eval `xdotool getwindowgeometry --shell $wid` + +new_x=$1 +if [[ "$X" -ge "$new_x" ]]; then + new_x=0 +fi + +xdotool windowmove $wid $new_x $Y +if [ -z "${max_state/*_NET_WM_STATE_MAXIMIZED_*/}" ]; then + wmctrl -ir $wid -b add,maximized_vert,maximized_horz +fi + +xdotool windowraise $wid diff --git a/obs_hotkey_helper.py b/obs_hotkey_helper.py new file mode 100755 index 0000000..df314b3 --- /dev/null +++ b/obs_hotkey_helper.py @@ -0,0 +1,40 @@ +import os +import json +import socket +import subprocess + +import obswebsocket, obswebsocket.requests + +UDP_IP_ADDRESS = "127.0.0.1" +UDP_PORT_NO = 7127 +serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO)) + +client = obswebsocket.obsws("localhost", 4444, "password") +client.connect() +res = client.call(obswebsocket.requests.SetSourceFilterVisibility("FS_vorhang", "vorhang_li_auf", True)) +print(res) + + + +def ssfv(cmd): + params = cmd[len("SetSourceFilterVisibility")+1:] + print(params) + item, filt, vis = params.split('.') + if vis.lower() in ('0', 'false', 'f', 'n', 'no', 'nein', 'nö'): + vis = False + else: + vis = True + res = client.call(obswebsocket.requests.SetSourceFilterVisibility(item, filt, vis)) + + + +while True: + data, addr = serverSock.recvfrom(1024) + commands = data.decode("utf8").splitlines() + for cmd in commands: + if cmd.startswith('SetSourceFilterVisibility'): + ssfv(cmd) + + +client.disconnect() diff --git a/play.json b/play.json new file mode 100755 index 0000000..6b66bf4 --- /dev/null +++ b/play.json @@ -0,0 +1 @@ +{"S1": "", "S2": "", "S3": ""} \ No newline at end of file diff --git a/play_sound.sh b/play_sound.sh new file mode 100755 index 0000000..a9a7708 --- /dev/null +++ b/play_sound.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# play the file +cmd="exec /usr/bin/mpv $1 & echo $$! > $2.pid" +echo $cmd +sh -c "$cmd" + +# if pid still exists, press button +if test -f "$2.pid"; then + ./send_companion.py $3 $4 +fi diff --git a/play_udp.py b/play_udp.py new file mode 100755 index 0000000..8853e2d --- /dev/null +++ b/play_udp.py @@ -0,0 +1,107 @@ +import os +import json +import socket +import subprocess + +UDP_IP_ADDRESS = "127.0.0.1" +UDP_PORT_NO = 7123 +serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO)) + + +SIDS = ('S1', 'S2', 'S3') +mplayers = dict(S1=None, S2=None, S3=None) + +import io +PIPE = io.StringIO() + +SOUNDS = dict(blubber='/home/kombinat/player/test.mp3', short='/home/kombinat/player/cough.mp3') + + + +#for sid in SIDS: +# if os.path.isdir(f'/tmp/mplayerctrl{sid}'): +# os.unlink(f'/tmp/mplayerctrl{sid}') +# os.mkfifo(f'/tmp/mplayerctrl{sid}') + + +def _get_current(): + res = [] + with open('play.json') as playconf: + for screen_id, filepath in json.loads(playconf.read()).items(): + if filepath == '': + continue + res.append((screen_id, filepath)) + return res + + +def _mplayer_command(screen_id, mplayercmd): + with open(f'/tmp/mplayerctrl{screen_id}', 'a') as ctrl: + ctrl.write(mplayercmd) + + +def get_time(): + for screen_id, filepath in _get_current(): + _mplayer_command(screen_id, 'pausing_keep_force get_time_pos\n') + +def load_current(): + for screen_id, filepath in _get_current(): + cmd = f'loadfile storage/{filepath}\npause\npausing_keep get_time_length\n' + _mplayer_command(screen_id, cmd) + _mplayer_command(screen_id, f'pausing_keep_force run "echo ${{pause}} > {screen_id}_pause"\n') + +def play_sound(cmd): + cmd = cmd[6:] + if cmd.startswith('kill'): + snd = cmd[5:] + os.system(f'kill -9 `cat {snd}.pid`') + os.unlink(f'{snd}.pid') + return + cmd, addr = cmd.split('#') + bank, btn = addr.split('_') + os.system(f'./play_sound.sh {SOUNDS[cmd]} {cmd} {int(bank)} {int(btn)} &') + + + +def play_current(): + for screen_id, filepath in _get_current(): + _mplayer_command(screen_id, f'pause\n') + _mplayer_command(screen_id, f'pausing_keep_force run "echo ${{pause}} > {screen_id}_pause"\n') + + +def stop_current(): + for screen_id, filepath in _get_current(): + with open(f'/tmp/mplayerctrl{screen_id}', 'a') as ctrl: + ctrl.write("stop\n") + os.unlink(f'curtime_{screen_id}.json') + +def ninja(cmd): + for sid in SIDS: + if f'{sid}' in cmd: + scr = sid + break + scr = scr[1] + if cmd.endswith('start'): + os.system(f'./start_ninja.sh {scr}') + elif cmd.endswith('stop'): + os.system(f'./stop_ninja.sh {scr}') + + +while True: + data, addr = serverSock.recvfrom(1024) + commands = data.decode("utf8").splitlines() + for cmd in commands: + if cmd == 'load_current': + load_current() + elif cmd == 'play_current': + play_current() + elif cmd == 'stop_current': + stop_current() + elif cmd == 'get_time': + get_time() + elif cmd.startswith('sound'): + play_sound(cmd) + elif cmd.startswith('ninja'): + ninja(cmd) + else: + print(f"{cmd} not found!") diff --git a/play_udp.py_backup b/play_udp.py_backup new file mode 100755 index 0000000..da21233 --- /dev/null +++ b/play_udp.py_backup @@ -0,0 +1,48 @@ +import os +## Again we import the necessary socket python module +import socket +## Here we define the UDP IP address as well as the port number that we have +## already defined in the client python script. +UDP_IP_ADDRESS = "127.0.0.1" +UDP_PORT_NO = 7000 +serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +## One difference is that we will have to bind our declared IP address +## and port number to our newly declared serverSock +serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO)) + + + +# screen "names" to xinerama screen number +screen_map = dict(S1=1, S2=2, S3=3) +for sid, xscr in screen_map.items(): + os.mkfifo(f'/tmp/mplayerctrl{sid}') + os.system(f'mplayer -xineramascreen {xscr} -fs -idle -really-quiet -slave -input file=/tmp/mplayerctrl{sid} &') +import json +while True: + data, addr = serverSock.recvfrom(1024) + commands = data.decode("utf8").splitlines() + for cmd in commands: + if cmd == 'play_current': + mplayercmd = [] + with open('play.json') as playconf: + for screen_id, filepath in json.loads(playconf.read()).items(): + if filepath == '': + continue + xscreen = screen_map[screen_id] + mplayercmd.append(f'mplayer -fs -slave -xineramascreen {xscreen} storage/{filepath}') + + os.system(' & '.join(mplayercmd) + "&") + elif cmd == 'stop_current': + os.system('killall mplayer') + elif cmd.startswith('ninja'): + if 's1' in cmd: + scr = '1' + elif 's2' in cmd: + scr = '2' + elif 's3' in cmd: + scr = '3' + if cmd.endswith('start'): + os.system(f'./start_ninja.sh {scr}') + elif cmd.endswith('stop'): + os.system(f'./stop_ninja.sh {scr}') + diff --git a/play_udp.py_mplayerctl b/play_udp.py_mplayerctl new file mode 100755 index 0000000..38fbe56 --- /dev/null +++ b/play_udp.py_mplayerctl @@ -0,0 +1,52 @@ +import os +## Again we import the necessary socket python module +import socket +## Here we define the UDP IP address as well as the port number that we have +## already defined in the client python script. +UDP_IP_ADDRESS = "127.0.0.1" +UDP_PORT_NO = 7000 +serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +## One difference is that we will have to bind our declared IP address +## and port number to our newly declared serverSock +serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO)) + + + +# screen "names" to xinerama screen number +screen_map = dict(S1=1, S2=2, S3=3) +for sid, xscr in screen_map.items(): + os.unlink(f'/tmp/mplayerctrl{sid}') + os.mkfifo(f'/tmp/mplayerctrl{sid}') + print(f'mplayer -xineramascreen {xscr} -fs -idle -really-quiet -slave -input file=/tmp/mplayerctrl{sid} &') + #os.system(f'mplayer -xineramascreen {xscr} -fs -idle -really-quiet -slave -input file=/tmp/mplayerctrl{sid} &') +import json +while True: + data, addr = serverSock.recvfrom(1024) + commands = data.decode("utf8").splitlines() + for cmd in commands: + if cmd == 'play_current': + with open('play.json') as playconf: + for screen_id, filepath in json.loads(playconf.read()).items(): + if filepath == '': + continue + xscreen = screen_map[screen_id] + mplayercmd = f'loadfile {filepath}\n' + with open(f'/tmp/mplayerctrl{screen_id}', 'a') as ctrl: + ctrl.write(mplayercmd) + elif cmd == 'stop_current': + for sid in ('S1', 'S2', 'S3'): + with open(f'/tmp/mplayerctrl{sid}', 'a') as ctrl: + ctrl.write("stop\n") + + elif cmd.startswith('ninja'): + if 's1' in cmd: + scr = '1' + elif 's2' in cmd: + scr = '2' + elif 's3' in cmd: + scr = '3' + if cmd.endswith('start'): + os.system(f'./start_ninja.sh {scr}') + elif cmd.endswith('stop'): + os.system(f'./stop_ninja.sh {scr}') + diff --git a/play_udp.pyzw b/play_udp.pyzw new file mode 100755 index 0000000..9537b1b --- /dev/null +++ b/play_udp.pyzw @@ -0,0 +1,92 @@ +import os +import json +import socket +import subprocess + +UDP_IP_ADDRESS = "127.0.0.1" +UDP_PORT_NO = 7000 +serverSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +serverSock.bind((UDP_IP_ADDRESS, UDP_PORT_NO)) + + +SIDS = ('S1', 'S2', 'S3') +mplayers = dict(S1=None, S2=None, S3=None) + +import io +PIPE = io.StringIO() + + +for sid in SIDS: + os.unlink(f'/tmp/mplayerctrl{sid}') + os.mkfifo(f'/tmp/mplayerctrl{sid}') + + +def _get_current(): + res = [] + with open('play.json') as playconf: + for screen_id, filepath in json.loads(playconf.read()).items(): + if filepath == '': + continue + res.append((screen_id, filepath)) + return res + + +def _mplayer_command(screen_id, mplayercmd): + with open(f'/tmp/mplayerctrl{screen_id}', 'a') as ctrl: + ctrl.write(mplayercmd) + + +def get_time(): + for screen_id, filepath in _get_current(): + _mplayer_command(screen_id, 'pausing_keep_force get_time_pos\n') + +def load_current(): + #XXX report back loading to webinterface + for screen_id, filepath in _get_current(): + cmd = f'loadfile storage/{filepath}\npause\npausing_keep get_time_length\n' + _mplayer_command(screen_id, cmd) + _mplayer_command(screen_id, f'pausing_keep_force run "echo ${{pause}} > {screen_id}_pause"\n') + + + +def play_current(): + for screen_id, filepath in _get_current(): + _mplayer_command(screen_id, f'pause\n') + _mplayer_command(screen_id, f'pausing_keep_force run "echo ${{pause}} > {screen_id}_pause"\n') + + +def stop_current(): + for screen_id, filepath in _get_current(): + with open(f'/tmp/mplayerctrl{screen_id}', 'a') as ctrl: + ctrl.write("stop\n") + os.unlink(f'curtime_{screen_id}.json') + +def ninja(cmd): + for sid in SIDS: + if f'{sid}' in cmd: + scr = sid + break + scr = scr[1] + if cmd.endswith('start'): + os.system(f'./start_ninja.sh {scr}') + elif cmd.endswith('stop'): + os.system(f'./stop_ninja.sh {scr}') + + +while True: + data, addr = serverSock.recvfrom(1024) + commands = data.decode("utf8").splitlines() + for cmd in commands: + print(cmd) + if cmd == 'load_current': + load_current() + elif cmd == 'play_current': + play_current() + elif cmd == 'stop_current': + stop_current() + elif cmd == 'get_time': + get_time() + elif cmd.startswith('ninja'): + ninja(cmd) + else: + print(f"{cmd} not found!") diff --git a/play_web.py b/play_web.py new file mode 100755 index 0000000..13abd7c --- /dev/null +++ b/play_web.py @@ -0,0 +1,146 @@ +import time +import os +from flask import Flask, render_template, request, make_response, redirect +import json +import random +import socket + +app = Flask("chaoszone-tv-media") + +APPROOT = '/' + +class ReverseProxied(object): + def __init__(self, app): + self.app = app + + def __call__(self, environ, start_response): + script_name = environ.get('HTTP_X_SCRIPT_NAME', '') + if script_name: + environ['SCRIPT_NAME'] = script_name + path_info = environ['PATH_INFO'] + if path_info.startswith(script_name): + environ['PATH_INFO'] = path_info[len(script_name):] + + scheme = environ.get('HTTP_X_SCHEME', '') + if scheme: + environ['wsgi.url_scheme'] = scheme + return self.app(environ, start_response) + +app.wsgi_app = ReverseProxied(app.wsgi_app) + + + + +def to_dict(args): + outdict = {} + for key, val in args.items(): + outdict[key] = val + return outdict + + +def list_files(): + filelist = os.listdir('storage/') + return sorted(filelist) + + +def get_ninja_secrets(): + secrets = dict() + for scr in ['S1', 'S2', 'S3']: + with open(f'{scr}_ninjasecret') as infile: + secret = infile.read() + secrets[scr] = secret + return secrets + + +def regenerate_secret(scr): + new_secret = '' + for i in range(24): + new_secret += random.choice('cHaOsZoNEtV') + with open(f'{scr}_ninjasecret', 'w') as secfile: + secfile.write(new_secret) + + +def request_time(): + byte_message = bytes("get_time", "utf-8") + with socket.socket(socket. AF_INET, socket. SOCK_DGRAM) as opened_socket: + opened_socket.sendto(byte_message, ("127.0.0.1", 7123)) + time.sleep(0.1) + + +@app.route('/get_time.json') +def get_time(): + request_time() + res = {} + for sid in ('S1', 'S2', 'S3'): + if not os.path.isfile(f'curtime_{sid}.json'): + continue + with open(f'curtime_{sid}.json') as curtime: + res[sid] = json.loads(curtime.read()) + if not os.path.isfile(f'{sid}_pause'): + continue + with open(f'{sid}_pause') as pause: + res[sid]['pause'] = pause.read().strip() + + r = make_response(json.dumps(res)) + r.mimetype = 'application/json' + return r + + +@app.route('/media.html') +def media(): + edit = False + data = to_dict(request.args) + if 'edit' in data: + edit = True + filelist = list_files() + secrets = get_ninja_secrets() + return render_template( + 'media.html', + filelist=filelist, + secrets=secrets, + screens=['S1', 'S2','S3'], + edit=edit, + approot=APPROOT) + + +@app.route('/obs_multiview.html') +def obs_multiview(): + return render_template( + 'obs_multiview.html', + approot=APPROOT) + + + +@app.route('/programm.html') +def atem_multiview(): + return render_template( + 'programm.html', + approot=APPROOT) + +@app.route('/get_media') +def get_media(): + with open('play.json') as playfile: + jsn = playfile.read() + r = make_response(jsn) + r.mimetype = 'application/json' + return r + +@app.route('/set_media') +def set_media(): + filelist = list_files() + to_set = to_dict(request.args) + for s in ('S1', 'S2', 'S3'): + if to_set[s] not in filelist: + to_set[s] = '' + with open('play.json', 'w') as playfile: + playfile.write(json.dumps(to_set)) + return redirect('/media.html') + +@app.route('/regenerate_ninja_link') +def regenerate_ninja_link(): + scr = to_dict(request.args).get('scr') + regenerate_secret(scr) + return redirect('/media.html') + + + diff --git a/pos b/pos new file mode 100755 index 0000000..3ad5abd --- /dev/null +++ b/pos @@ -0,0 +1 @@ +99 diff --git a/run_mplayers.py b/run_mplayers.py new file mode 100755 index 0000000..0c507b0 --- /dev/null +++ b/run_mplayers.py @@ -0,0 +1,42 @@ +import subprocess +import sys +import json + +screen_mapping = dict(S1='1', S2='2', S3='3') + +scr = sys.argv[1] + +info = dict() + + +def dump_info(info): + with open(f'curtime_{scr}.json', 'w') as curtime: + curtime.write(json.dumps(info)) + + +def execute(command): + process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + # Poll process for new output until finished + for line in iter(process.stdout.readline, ""): + line = line.decode('utf8') + print(line) + if line.startswith('ANS_TIME_POSITION'): + info['elapsed'] = float(line[18:].strip()) + dump_info(info) + elif line.startswith('ANS_LENGTH'): + info['length'] = float(line[11:].strip()) + dump_info(info) + + + process.wait() + exitCode = process.returncode + + if (exitCode == 0): + return 1 + else: + raise Exception(command, exitCode, output) + + + +execute([f'mplayer -xineramascreen {screen_mapping[scr]} -fs -idle -quiet -slave -input file=/tmp/mplayerctrl{scr}']) diff --git a/s3_pid b/s3_pid new file mode 100755 index 0000000..2bf6624 --- /dev/null +++ b/s3_pid @@ -0,0 +1 @@ +901685 diff --git a/send_companion.py b/send_companion.py new file mode 100755 index 0000000..cc091a8 --- /dev/null +++ b/send_companion.py @@ -0,0 +1,12 @@ +#!/home/kombinat/player/bin/python +import sys +from pythonosc import udp_client + + +UDP_IP = "127.0.0.1" +UDP_PORT = 12321 + +client = udp_client.SimpleUDPClient(UDP_IP, UDP_PORT) + +client.send_message(f'/press/bank/{int(sys.argv[1])}/{int(sys.argv[2])}', None) + diff --git a/start_ninja.sh b/start_ninja.sh new file mode 100755 index 0000000..ce706ce --- /dev/null +++ b/start_ninja.sh @@ -0,0 +1,9 @@ +#!/bin/bash +#let "rnd = $RANDOM" +#cp -r ffprofile profiles/$rnd +let "w = 1680 * ($1 - 1)" +echo $w +#firefox --profile profiles/$rnd --new-instance --kiosk https://ninja.c3voc.de/?view=`cat S$1_ninjasecret`\&s\&vb=5000\&buffer & sleep 2 && ./move_window.sh $w +chromium --user-data-dir=/home/kombinat/crtmp$1 --autoplay-policy=no-user-gesture-required --new-window "%1" --window-position=$w,1080 --kiosk https://ninja.c3voc.de/?view=`cat S$1_ninjasecret`\&s\&vb=5000\&buffer & +echo $! > s$1_pid +#echo $rnd > s$1_profile diff --git a/start_webserver.sh b/start_webserver.sh new file mode 100755 index 0000000..0977b47 --- /dev/null +++ b/start_webserver.sh @@ -0,0 +1,2 @@ +#!/bin/sh +FLASK_APP=play_web.py bin/flask run -h 127.0.0.1 diff --git a/static/clipboard.min.js b/static/clipboard.min.js new file mode 100755 index 0000000..28650f3 --- /dev/null +++ b/static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.6 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return o={},r.m=n=[function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0>0) + ':' + (tme % 60).toFixed(1); +} + +var sync_stuff = function(my_res, mystate, my_id) { + if (my_res !== undefined) { + $(my_id + ' .length').text(formattimestamp(my_res.length)); + $(my_id + ' .remaining').text(formattimestamp(my_res.length - my_res.elapsed)); + mystate.len = my_res.length; + mystate.elapsed = my_res.elapsed; + mystate.pause = my_res.pause; + remaining = mystate.len - mystate.elapsed; + if (remaining < 60) { + $(my_id + '').removeClass('t-5'); + $(my_id + '').addClass('t-1'); + } else if (remaining < (60 * 5)) { + // 5 minutes left + $(my_id + '').addClass('t-5'); + $(my_id + '').removeClass('t-1'); + } else { + $(my_id + '').removeClass('t-5'); + $(my_id + '').removeClass('t-1'); + } + console.log('Setting elapsed to ' + mystate.elapsed); + mystate.elapsed_start = Date.now(); + } else { + $(my_id + ' .length').text(""); + $(my_id + ' .remaining').text(""); + $(my_id + '').removeClass('t-5'); + $(my_id + '').removeClass('t-1'); + mystate.elapsed = null; + mystate.elapsed_start = null; + mystate.pause = ''; + } +} + + +var get_time = function() { + $.get('get_time.json', function(res) { + sync_stuff(res.S1, curstate.S1, '#S1'); + sync_stuff(res.S2, curstate.S2, '#S2'); + sync_stuff(res.S3, curstate.S3, '#S3'); + }); + window.setTimeout(get_time, 600); +} +window.setTimeout(get_time, 600); + + + + +function copyToClipboard(element, scr) { + var $temp = $(""); + $("body").append($temp); + $temp.val($(element).text()).select(); + document.execCommand("copy"); + $temp.remove(); + $("#linkfor").text(scr); + $("#beendicator").fadeIn(); + window.setTimeout(function() { $("#beendicator").fadeOut(); }, 3000); +} + diff --git a/stop_ninja.sh b/stop_ninja.sh new file mode 100755 index 0000000..3e439b8 --- /dev/null +++ b/stop_ninja.sh @@ -0,0 +1,7 @@ +#!/bin/bash +kill -9 `cat s$1_pid` +rm s$1_pid +cd profiles +rm -rf `cat ../s$1_profile` +cd .. +rm s$1_profile diff --git a/templates/.media.html.swp b/templates/.media.html.swp new file mode 100755 index 0000000000000000000000000000000000000000..fad4372505b42fef4f4d7efc8913042b25af4674 GIT binary patch literal 12288 zcmeI2O^6&t6vrzuMn@A3CIk_|N{28B*`3bpMh&5Rf>~oe+%+MSm4pz-n(o@2%Jy`( z-POB}YZ8JeUKCG?sEA$!&w>X}dN3e(5<~)`UOae^9L-7pRo(Lu-Arb|%R&wN+v(YU z^{U>#-+Nudc5~nJ$7kq)N|oTXg^*9*`?cY%-%fV!-9{Foc2k5*s#C*W36qi!Gbqko z?mD#NfOU9cOWwwjYzHIwF(yUdh zqkvJsC}0#Y3K#{90!9I&fKgx#D!_a~{>GR6<-4$W{QtlE{r|>;g!}@21Ydy{!INMs z_~HRV-T<$H6vW^hI1Dy`Z#NV2Cb$4*z%lRycmzBQZf+vv8u$Qoz*+DZ*a8Un{(eF} z0aw5aU>Dd9Hi94SBjhviI`F|>@F>^>elHPn9ef9_f%n0?;E#I=`59aX-+-^dR&etk zLjD3Lz&>Dus~ZWq43@zOa2z}Xwt;JR6Y?ea9C+X?cou8`e{LY;H}D~N8(amK!7|tj zeuBPlf!Bc6dJX1^S@Qp?fMcuYU223<$8JV`M;+lf^%4R&pww=n%7g5D) zu_%2d3VB5?4m><$QOS~dE?uk93|P2eSd}(Bq3I=l6UZuV7h z*}IwA4fM{e^lZLx&+3Q%R{@-C`YHb-||f)CYNF=x9*N{$HQOj6m2 zQI~1fYzt|1%e2lGxh}{Orso0oWT9B8l>1YWz+tK6M6ne8`bL#?Z$|nKbn9ow&aE-K z@}r#etVO7g1Ch!VJzF*1z6V@5`O2ui^I0g+e#;2Zi*;Pe9Xfu=30RW{YR00e1dx5D znssb#sfMhX$R~=(RRb9wd2Z2py|*ZS^~&$eQY_PUO`D@{kt7vX%Rq8f+lBi-IMa96tJI`>E8Rxrxw0j&nwR~`L# z*l37yTZw2G$pM`Zs?*)>LQT&6V&f}?40vsDXGgVW-Tk0r=N7qEs-e<^2Pkpb33%G# z94#$x1d_ijZ7)r&V)Hn{HX7E&K00^b=8_f7hGnva&aIchL+mZ}t`boU*!Vo(d?S&D z8>-z}93@z)+U06@OTw2e*XN7EstCDUwz8Sg>}?d42rGryle3gXPg~RpPV{#?$i;QfBE + + + + + + + + chaoszone.tv media control + + + + {% if not edit %} +

PLAY CUR:

+ + + + + + + + {% for scr in screens %} + + + + + + + {% endfor %} +
SCRFilenameLengthRemaining
{{ scr }}Loading …
+ [ Edit ] + {% endif %} + + {% if edit %} +

Edit PLAY CUR:

+ +
+ +
+ +
+ +
+ +
+ {% endif %} + +

Ninja Links for Camera/Screenshare

+ + 🐝 Good. Link for copied. 🐝
+ + S1 (Slides): + [regenerate] + https://ninja.c3voc.de/?push={{ secrets['S1'] }}
+ + S2 (Speaker): + [regenerate] + https://ninja.c3voc.de/?push={{ secrets['S2'] }}
+ + S3 (Herald): + [regenerate] + https://ninja.c3voc.de/?push={{ secrets['S3'] }}
+ + + +

Build your own setup with these links:

+ + OBS Multiview +
+ + Programm +
+ + Streamdeck Emulator +
+ +Media control +
+ + + + + + + diff --git a/templates/obs_multiview.html b/templates/obs_multiview.html new file mode 100755 index 0000000..71bb7f3 --- /dev/null +++ b/templates/obs_multiview.html @@ -0,0 +1,14 @@ + + + + + + + + chaoszone.tv obs multiview + + + + + + diff --git a/templates/programm.html b/templates/programm.html new file mode 100755 index 0000000..fb22101 --- /dev/null +++ b/templates/programm.html @@ -0,0 +1,14 @@ + + + + + + + + chaoszone.tv obs multiview + + + + + + diff --git a/ticker_lg.txt b/ticker_lg.txt new file mode 100755 index 0000000..dd84c51 --- /dev/null +++ b/ticker_lg.txt @@ -0,0 +1,2 @@ ++++ EIL +++ EIL +++ EIL +++ EIL + diff --git a/www/interface.html b/www/interface.html new file mode 100755 index 0000000..9219bf1 --- /dev/null +++ b/www/interface.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/www/media.html b/www/media.html new file mode 100755 index 0000000..f62ca00 --- /dev/null +++ b/www/media.html @@ -0,0 +1,31 @@ + + +
+ + + + + + + +
+ +