From 40474badc13adff28f34424b860500c45871f781 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 31 Aug 2011 23:49:52 +0200 Subject: //god/Reaktor: initial commit --- god/Reaktor | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 god/Reaktor (limited to 'god') diff --git a/god/Reaktor b/god/Reaktor new file mode 100755 index 00000000..54bc5099 --- /dev/null +++ b/god/Reaktor @@ -0,0 +1,22 @@ +#! /usr/bin/env python + +import socket +from struct import unpack + +listen_address = '0.0.0.0' +listen_port = 2342 + +# create udp socket +mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +# allow send/recieve from broacast address +mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) + +# allow the socket to be re-used +mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) +mysocket.bind((listen_address, listen_port)) + +while True: + dev, state = unpack('BB', mysocket.recv(2)) + print "dev: " + str(dev) + print "state: " + str(state) -- cgit v1.2.3 From 73f953023b0baae827d1f5f288a9629c67db10c3 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Sep 2011 00:31:07 +0200 Subject: Reaktor: add shackspace map --- god/Reaktor | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) (limited to 'god') diff --git a/god/Reaktor b/god/Reaktor index 54bc5099..47d2d7c9 100755 --- a/god/Reaktor +++ b/god/Reaktor @@ -1,11 +1,36 @@ -#! /usr/bin/env python +#! /usr/bin/env python2 +# coding=UTF-8 +location = 'shackspace' +host = '0.0.0.0' +port = 2342 + +map = { + 'shackspace': { + 'device': { + 0: 'Licht0, Tensau\'s Kuschelecke; Fenster', + 1: 'Licht1, Sofaecke; Fenster', + 2: 'Licht2, Tensau\'s Kuschelecke; Ghetto', + 3: 'Licht3, Sofaecke; Ghetto', + 4: 'Licht4, Richtung Getränkelager', + 5: 'Licht5, Porschekonsole', + 6: 'Licht6, Tomatenecke', + 7: 'Licht7, Ghetto', + 10: 'Hauptschalter' + }, + 'state': { + 0: 'aus', + 1: 'an', + 2: 'aus in T-10s' + }, + '->': 'ist' + } +} + import socket +from string import join from struct import unpack -listen_address = '0.0.0.0' -listen_port = 2342 - # create udp socket mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -14,9 +39,12 @@ mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) # allow the socket to be re-used mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) -mysocket.bind((listen_address, listen_port)) +mysocket.bind((host, port)) + +map = map[location] while True: - dev, state = unpack('BB', mysocket.recv(2)) - print "dev: " + str(dev) - print "state: " + str(state) + did, sid = unpack('BB', mysocket.recv(2)) + device, state = map['device'][did], map['state'][sid] + arrow = map['->'] + print join([device, arrow, state], ' ') -- cgit v1.2.3 From 782d39c495f08da23b57e9df74b2f45f21097928 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Sep 2011 01:52:31 +0200 Subject: Reaktor: Tensau's Ecke ist die Zickenzone --- god/Reaktor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'god') diff --git a/god/Reaktor b/god/Reaktor index 47d2d7c9..9708d9bc 100755 --- a/god/Reaktor +++ b/god/Reaktor @@ -8,9 +8,9 @@ port = 2342 map = { 'shackspace': { 'device': { - 0: 'Licht0, Tensau\'s Kuschelecke; Fenster', + 0: 'Licht0, Zickenzone; Fenster', 1: 'Licht1, Sofaecke; Fenster', - 2: 'Licht2, Tensau\'s Kuschelecke; Ghetto', + 2: 'Licht2, Zickenzone; Ghetto', 3: 'Licht3, Sofaecke; Ghetto', 4: 'Licht4, Richtung Getränkelager', 5: 'Licht5, Porschekonsole', -- cgit v1.2.3 From 5ad8c950f59472d1d0ad21c13320024889fe2e46 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Sep 2011 02:20:34 +0200 Subject: //god/Reaktor/index: initial commit This wrapper script downloads and configures jsonbot as necessary. --- god/Reaktor | 50 --------------------------------------------- god/Reaktor/index | 36 ++++++++++++++++++++++++++++++++ god/Reaktor/lib/listener.py | 50 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 50 deletions(-) delete mode 100755 god/Reaktor create mode 100755 god/Reaktor/index create mode 100755 god/Reaktor/lib/listener.py (limited to 'god') diff --git a/god/Reaktor b/god/Reaktor deleted file mode 100755 index 9708d9bc..00000000 --- a/god/Reaktor +++ /dev/null @@ -1,50 +0,0 @@ -#! /usr/bin/env python2 -# coding=UTF-8 - -location = 'shackspace' -host = '0.0.0.0' -port = 2342 - -map = { - 'shackspace': { - 'device': { - 0: 'Licht0, Zickenzone; Fenster', - 1: 'Licht1, Sofaecke; Fenster', - 2: 'Licht2, Zickenzone; Ghetto', - 3: 'Licht3, Sofaecke; Ghetto', - 4: 'Licht4, Richtung Getränkelager', - 5: 'Licht5, Porschekonsole', - 6: 'Licht6, Tomatenecke', - 7: 'Licht7, Ghetto', - 10: 'Hauptschalter' - }, - 'state': { - 0: 'aus', - 1: 'an', - 2: 'aus in T-10s' - }, - '->': 'ist' - } -} - -import socket -from string import join -from struct import unpack - -# create udp socket -mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - -# allow send/recieve from broacast address -mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) - -# allow the socket to be re-used -mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) -mysocket.bind((host, port)) - -map = map[location] - -while True: - did, sid = unpack('BB', mysocket.recv(2)) - device, state = map['device'][did], map['state'][sid] - arrow = map['->'] - print join([device, arrow, state], ' ') diff --git a/god/Reaktor/index b/god/Reaktor/index new file mode 100755 index 00000000..6470298e --- /dev/null +++ b/god/Reaktor/index @@ -0,0 +1,36 @@ +#! /bin/sh +# +# //god/Reaktor - listen to UDP events and forward them to IRC +# +# export host passwd printto to configure jsb-udp +# +set -euf +cd $(readlink -f $(dirname $0)) + +listener=$(readlink -f lib/listener.py) + +jsb_version=0.7.1.2 +distdir=jsb-$jsb_version.tar.gz + +host=${host-91.206.142.247} +passwd=${passwd-h4x0r} +printto=${printto-#shackspace} + +if ! test -x tmp/jsb-$jsb_version; then + mkdir -p tmp + cd tmp + curl -f http://jsonbot.googlecode.com/files/jsb-$jsb_version.tar.gz | tar zx + cd jsb-$jsb_version + bin/jsb-udp -s ': 'ist' + } +} + +import socket +from string import join +from struct import unpack + +# create udp socket +mysocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +# allow send/recieve from broacast address +mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) + +# allow the socket to be re-used +mysocket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) +mysocket.bind((host, port)) + +map = map[location] + +while True: + did, sid = unpack('BB', mysocket.recv(2)) + device, state = map['device'][did], map['state'][sid] + arrow = map['->'] + print join([device, arrow, state], ' ') -- cgit v1.2.3 From 9198f99c6640ffc2a8de752b456a9c91f03edbcd Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Sep 2011 10:54:15 +0200 Subject: //god/Reaktor: add TODO --- god/Reaktor/index | 1 + 1 file changed, 1 insertion(+) (limited to 'god') diff --git a/god/Reaktor/index b/god/Reaktor/index index 6470298e..a2e6fe61 100755 --- a/god/Reaktor/index +++ b/god/Reaktor/index @@ -33,4 +33,5 @@ sed -i ' s/^printto *=.*/printto="'$printto'"/ ' config/udp-send +# TODO output modules: stderr, jsb-udp, remount-ro, ... PYTHONUNBUFFERED=y $listener | tee /dev/stderr | bin/jsb-udp -- cgit v1.2.3 From 91d8afe4298e931ec1b59bd4bb7969e5889e67d5 Mon Sep 17 00:00:00 2001 From: Momo Date: Sun, 4 Sep 2011 20:14:48 +0200 Subject: adding lightzones and all --- god/licht | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 92 insertions(+), 9 deletions(-) (limited to 'god') diff --git a/god/licht b/god/licht index 8ece3510..f9fc8f69 100755 --- a/god/licht +++ b/god/licht @@ -1,20 +1,103 @@ #!/bin/bash -case "$1" in - (--help) echo "Toggle the lights";; - (*) - LAMPE=`echo $1 | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` - TOGGLE=`echo $2 | sed -n '/^[0-1]/p'` +toggle() { + LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` + TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` if ! [ "$LAMPE" -a "$TOGGLE" ];then echo "you are made of stupid" exit 1 fi - STRING="\xA5\x5A\x$LAMPE\x$TOGGLE" + STRING="\\xA5\\x5A\\x$LAMPE\\x$TOGGLE" if [ $# != 2 ] then - echo -ne "Usage: licht <0/1>" + echo "Usage: licht <0/1>" else echo "Toggle light $LAMPE ($TOGGLE)" - echo -ne "$STRING" | nc -u -w1 licht.shack 1337 + printf "$STRING" | nc -u -w1 licht.shack 1337 fi - ;; +} + +toggle_all() { + for i in `seq 0 7` + do + printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & + done + wait +} + +kuschel(){ + for i in 0 2 + do + printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & + done + wait +} + +software(){ + for i in 1 3 + do + printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & + done + wait +} + +tische(){ + for i in 4 6 + do + printf "\\xA5\\x5A\\x$i\\x$TOGGLE" | nc -u -w1 licht.shack 1337 & + done + wait +} + +ghetto(){ + printf "\\xA5\\x5A\\x7\\x$TOGGLE" | nc -u -w1 licht.shack 1337 +} + +porsche(){ + printf "\\xA5\\x5A\\x5\\x$TOGGLE" | nc -u -w1 licht.shack 1337 +} + +case "$1" in + --help) + echo "Toggle the lights" + echo "Usage: lich <0/1>" + ;; + all) + TOGGLE=$2 + toggle_all + ;; + kuschel) + TOGGLE=$2 + kuschel + ;; + software) + TOGGLE=$2 + software + ;; + links) + TOGGLE=$2 + kuschel + software + ;; + rechts) + TOGGLE=$2 + tische + porsche + ghetto + ;; + tische) + TOGGLE=$2 + tische + ;; + porsche) + TOGGLE=$2 + porsche + ;; + ghetto) + TOGGLE=$2 + ghetto + ;; + *) + toggle "$@" + ;; esac + -- cgit v1.2.3 From 761db6a8b30f254b5349395c939111dedd8cf16b Mon Sep 17 00:00:00 2001 From: Momo Date: Sun, 4 Sep 2011 20:30:12 +0200 Subject: adding documentation --- god/licht | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'god') diff --git a/god/licht b/god/licht index f9fc8f69..cbff9ad0 100755 --- a/god/licht +++ b/god/licht @@ -1,4 +1,18 @@ #!/bin/bash +# +#SYNOPSIS +# //god/licht [options] [0/1] +#OPTIONS +# all - toggles all lights +# links - toggles all lights on the left hand side while looking towards the Auditorium +# rechts - toggles all lights on the right hand side while looking towards the Auditorium +# kuschel - toggles the lights in the pwnie corner +# software - toggles the software corner +# tische - toggles the lights on the window side of the long table +# porsche - toggles the lights on the window side where the porsche cockpit is +# ghetto - toggles the lights in the hallway +# 0-7 - toggles individual lights + toggle() { LAMPE=`echo "$1" | sed -n '/^[1-2]*[0-9]*[0-9]$/p' | xargs echo "obase=16;" | bc` TOGGLE=`echo "$2" | sed -n '/^[0-1]/p'` -- cgit v1.2.3 From e73eebac6be277bb20d1effc25d4c29900eb1df1 Mon Sep 17 00:00:00 2001 From: Momo Date: Fri, 9 Sep 2011 14:57:09 +0200 Subject: //god/overlord initial commit --- god/overlord | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 god/overlord (limited to 'god') diff --git a/god/overlord b/god/overlord new file mode 100644 index 00000000..087303cb --- /dev/null +++ b/god/overlord @@ -0,0 +1,8 @@ +#!/bin/bash + +announcement=$1 +LC_ALL=C aplay -l|sed -n 's/^card \([0-9]\+\):.*\[USB Audio\]$/\1/p' + +mplayer -ao=alsa:device=surround40:CARD=default,DEV=0 announce.mp3 +/krebs/util/bin/natural $announcement + -- cgit v1.2.3 From 9d2f77f0ac2b68f280bed7080e40b7e0c122bc89 Mon Sep 17 00:00:00 2001 From: Momo Date: Fri, 9 Sep 2011 15:07:51 +0200 Subject: //god/overlord/overlord: adding announce.mp3 --- god/overlord | 8 -------- god/overlord/overlord | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 god/overlord create mode 100644 god/overlord/overlord (limited to 'god') diff --git a/god/overlord b/god/overlord deleted file mode 100644 index 087303cb..00000000 --- a/god/overlord +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -announcement=$1 -LC_ALL=C aplay -l|sed -n 's/^card \([0-9]\+\):.*\[USB Audio\]$/\1/p' - -mplayer -ao=alsa:device=surround40:CARD=default,DEV=0 announce.mp3 -/krebs/util/bin/natural $announcement - diff --git a/god/overlord/overlord b/god/overlord/overlord new file mode 100644 index 00000000..c7a79f35 --- /dev/null +++ b/god/overlord/overlord @@ -0,0 +1,8 @@ +#!/bin/bash + +announcement=$1 +LC_ALL=C aplay -l|sed -n 's/^card \([0-9]\+\):.*\[USB Audio\]$/\1/p' + +mplayer -ao alsa:device=hw=$LC_ALL announce.mp3 +/krebs/util/bin/natural $announcement + -- cgit v1.2.3 From aad509b71f5a268e5b40f2b803b6d6fd4894bfbb Mon Sep 17 00:00:00 2001 From: Momo Date: Fri, 9 Sep 2011 15:10:00 +0200 Subject: //god/overlord/: now really adding announce.mp3 --- god/overlord/announce.mp3 | Bin 0 -> 71496 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 god/overlord/announce.mp3 (limited to 'god') diff --git a/god/overlord/announce.mp3 b/god/overlord/announce.mp3 new file mode 100644 index 00000000..23bca769 Binary files /dev/null and b/god/overlord/announce.mp3 differ -- cgit v1.2.3 From 3edcd2b63b4d44fcd48eb5ab522f59a5456a009d Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 9 Sep 2011 16:47:04 +0200 Subject: //god/Reaktor: sed w/o -i --- god/Reaktor/index | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'god') diff --git a/god/Reaktor/index b/god/Reaktor/index index a2e6fe61..6715eeda 100755 --- a/god/Reaktor/index +++ b/god/Reaktor/index @@ -27,11 +27,13 @@ fi cd tmp/jsb-$jsb_version # TODO only if it is not already configured properly -sed -i ' +cache="`cat config/udp-send`" +echo "$cache" | +sed ' s/^host *=.*/host="'$host'"/ s/^passwd *=.*/passwd="'$passwd'"/ s/^printto *=.*/printto="'$printto'"/ -' config/udp-send +' > config/udp-send # TODO output modules: stderr, jsb-udp, remount-ro, ... PYTHONUNBUFFERED=y $listener | tee /dev/stderr | bin/jsb-udp -- cgit v1.2.3 From dac9eb2553987778500e0bc7e54ad2a28124969d Mon Sep 17 00:00:00 2001 From: root Date: Fri, 9 Sep 2011 18:18:49 +0200 Subject: //god/Reaktor: printto #tincspasm --- god/Reaktor/index | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'god') diff --git a/god/Reaktor/index b/god/Reaktor/index index a2e6fe61..fdf6bffc 100755 --- a/god/Reaktor/index +++ b/god/Reaktor/index @@ -14,7 +14,7 @@ distdir=jsb-$jsb_version.tar.gz host=${host-91.206.142.247} passwd=${passwd-h4x0r} -printto=${printto-#shackspace} +printto=${printto-#tincspasm} if ! test -x tmp/jsb-$jsb_version; then mkdir -p tmp -- cgit v1.2.3 From 39026acca1b657ccf5446014ab7ca045c97e9cb3 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 9 Sep 2011 19:26:01 +0200 Subject: //god/overlord: making it work --- god/overlord/overlord | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) mode change 100644 => 100755 god/overlord/overlord (limited to 'god') diff --git a/god/overlord/overlord b/god/overlord/overlord old mode 100644 new mode 100755 index c7a79f35..501afc80 --- a/god/overlord/overlord +++ b/god/overlord/overlord @@ -1,8 +1,19 @@ -#!/bin/bash - -announcement=$1 -LC_ALL=C aplay -l|sed -n 's/^card \([0-9]\+\):.*\[USB Audio\]$/\1/p' - -mplayer -ao alsa:device=hw=$LC_ALL announce.mp3 -/krebs/util/bin/natural $announcement +#! /bin/sh +set -euf +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 90% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 80% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 70% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 60% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 50% +/krebs/streams/streams stop +amixer -q -c 0 -D hw:0 sset Front 100% +mplayer announce.mp3 +/krebs/streams/streams start & +espeak -v de -s 120 -a 900 "$*" +amixer -q -c 0 -D hw:0 sset Front 40% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 50% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 60% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 70% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 80% +sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 90% -- cgit v1.2.3 From 8712dfa17f0dd7b90c646e13d2cd4e0d4c5a11e6 Mon Sep 17 00:00:00 2001 From: krebs Date: Fri, 9 Sep 2011 21:26:15 -0400 Subject: //god/overlord: be the right and only one This commit also makes the //noise module a pure wrapper around the read overlord. --- god/overlord/index | 27 +++++++++++++++++++++++++++ god/overlord/overlord | 19 ------------------- 2 files changed, 27 insertions(+), 19 deletions(-) create mode 100755 god/overlord/index delete mode 100755 god/overlord/overlord (limited to 'god') diff --git a/god/overlord/index b/god/overlord/index new file mode 100755 index 00000000..27506ccd --- /dev/null +++ b/god/overlord/index @@ -0,0 +1,27 @@ +#! /bin/sh +set -euf + +# cd // +cd $(dirname $(readlink -f $0))/../.. + +max=100 +step=10 +min=0 + +# fade-out streams +for i in `seq $max -$step $min`; do + amixer -q -c 0 -D hw:0 sset Front $i% + sleep 0.1 +done +streams/streams stop + +amixer -q -c 0 -D hw:0 sset Front $max% +mplayer god/overlord/announce.mp3 >/dev/null +espeak -v de -s 120 -a 900 "$*" + +# fade-in streams +streams/streams start +for i in `seq $min $step $max`; do + sleep 0.1 + amixer -q -c 0 -D hw:0 sset Front $i% +done diff --git a/god/overlord/overlord b/god/overlord/overlord deleted file mode 100755 index 501afc80..00000000 --- a/god/overlord/overlord +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -set -euf - -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 90% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 80% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 70% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 60% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 50% -/krebs/streams/streams stop -amixer -q -c 0 -D hw:0 sset Front 100% -mplayer announce.mp3 -/krebs/streams/streams start & -espeak -v de -s 120 -a 900 "$*" -amixer -q -c 0 -D hw:0 sset Front 40% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 50% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 60% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 70% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 80% -sleep 0.4; amixer -q -c 0 -D hw:0 sset Front 90% -- cgit v1.2.3