COLORED OUTPUTRESIZE=30 COLOR=FFFFFF FLOOTFORKS=1 ./pixelfloot_bash.sh floot images/hanf.ppm chaos :D
This commit is contained in:
parent
e9bcb849d9
commit
15c54abd9b
1 changed files with 52 additions and 17 deletions
|
@ -25,13 +25,48 @@ declare -a PIXMAP
|
||||||
declare -a LOL
|
declare -a LOL
|
||||||
declare -a LOLPID
|
declare -a LOLPID
|
||||||
|
|
||||||
|
# colors for colored output 8)
|
||||||
|
RED="\e[31m"
|
||||||
|
GREEN="\e[32m"
|
||||||
|
YELLOW="\e[33m"
|
||||||
|
ENDCOLOR="\e[0m"
|
||||||
|
|
||||||
|
function message() {
|
||||||
|
case $1 in
|
||||||
|
warn)
|
||||||
|
MESSAGE_TYPE="${YELLOW}WARN${ENDCOLOR}"
|
||||||
|
;;
|
||||||
|
error)
|
||||||
|
MESSAGE_TYPE="${RED}ERROR${ENDCOLOR}"
|
||||||
|
;;
|
||||||
|
info|*)
|
||||||
|
MESSAGE_TYPE="${GREEN}INFO${ENDCOLOR}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$1" == "info" ] || [ "$1" == "warn" ] || [ "$1" == "error" ]
|
||||||
|
then
|
||||||
|
MESSAGE=$2
|
||||||
|
else
|
||||||
|
MESSAGE=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "[${MESSAGE_TYPE}] $MESSAGE"
|
||||||
|
}
|
||||||
|
|
||||||
|
error ()
|
||||||
|
{
|
||||||
|
message error "${RED}ERROR!!${ENDCOLOR}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###### OLDFOOO ######
|
||||||
# https://gist.github.com/nberlette/e3e303a81f2c41927bf4fe90fb89d97f
|
# https://gist.github.com/nberlette/e3e303a81f2c41927bf4fe90fb89d97f
|
||||||
function hex() {
|
function hex() {
|
||||||
printf "%02X%02X%02X" ${*//','/' '}
|
printf "%02X%02X%02X" ${*//','/' '}
|
||||||
}
|
}
|
||||||
|
|
||||||
###### OLDFOOO ######
|
|
||||||
|
|
||||||
gen_pixmap() {
|
gen_pixmap() {
|
||||||
y=0
|
y=0
|
||||||
while read -r LINE
|
while read -r LINE
|
||||||
|
@ -155,7 +190,7 @@ gen_field() {
|
||||||
test -z $W && W=640
|
test -z $W && W=640
|
||||||
test -z $H && H=480
|
test -z $H && H=480
|
||||||
test -z $COLOR && COLOR="666999"
|
test -z $COLOR && COLOR="666999"
|
||||||
echo "drawing $W x $H - $COLOR" >&2
|
message "drawing ${YELLOW}$W x $H - $COLOR${ENDCOLOR}" >&2
|
||||||
for x in $(seq 0 $W)
|
for x in $(seq 0 $W)
|
||||||
do
|
do
|
||||||
for y in $(seq 0 $H)
|
for y in $(seq 0 $H)
|
||||||
|
@ -225,7 +260,7 @@ flootworker()
|
||||||
#FLOOTSRUNNING=$((FLOOTSRUNNING+1))
|
#FLOOTSRUNNING=$((FLOOTSRUNNING+1))
|
||||||
#test $FLOOTSRUNNING -le $FLOOTFORKS &&
|
#test $FLOOTSRUNNING -le $FLOOTFORKS &&
|
||||||
echo "$(shuf_xy)
|
echo "$(shuf_xy)
|
||||||
${LOL[$i]}" > /dev/tcp/$IPFLOOT/$FLOOTPORT
|
${LOL[$i]}" > /dev/tcp/$IPFLOOT/$FLOOTPORT || message warn "transmission in worker ${YELLOW}$1${ENDCOLOR} ${RED}failed${ENDCOLOR} - maybe you need to decrease ${YELLOW}FLOOTFORKS${ENDCOLOR} or expand/tune your uplink"
|
||||||
#FLOOTSRUNNING=$((FLOOTSRUNNING-1))
|
#FLOOTSRUNNING=$((FLOOTSRUNNING-1))
|
||||||
#echo "${LOL[$i]}" > /dev/tcp/127.0.0.1/1337 &
|
#echo "${LOL[$i]}" > /dev/tcp/127.0.0.1/1337 &
|
||||||
|
|
||||||
|
@ -238,7 +273,7 @@ checkfile() {
|
||||||
|
|
||||||
if [ ! -f $1 ]
|
if [ ! -f $1 ]
|
||||||
then
|
then
|
||||||
echo "file $1 does not exist."
|
message error "file ${YELLOW}$1${ENDCOLOR} does not exist."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -248,14 +283,14 @@ floot() {
|
||||||
# small stupid animation, two alternating images
|
# small stupid animation, two alternating images
|
||||||
if [ "$FNAME" == "winketuxS" ]
|
if [ "$FNAME" == "winketuxS" ]
|
||||||
then
|
then
|
||||||
echo "drawing winketuxS animation"
|
message "drawing winketuxS animation"
|
||||||
LOL[1]="$(cat pixlists/${FNAME}1.pixlist | shuf)"
|
LOL[1]="$(cat pixlists/${FNAME}1.pixlist | shuf)"
|
||||||
LOL[2]="$(cat pixlists/${FNAME}2.pixlist | shuf )"
|
LOL[2]="$(cat pixlists/${FNAME}2.pixlist | shuf )"
|
||||||
LOL[3]="$(cat pixlists/${FNAME}2.pixlist | shuf )"
|
LOL[3]="$(cat pixlists/${FNAME}2.pixlist | shuf )"
|
||||||
#LOL[3]="$(cat $FNAME-mc.pixlist.2 | shuf)"
|
#LOL[3]="$(cat $FNAME-mc.pixlist.2 | shuf)"
|
||||||
elif [ "$FNAME" == "fill" ]
|
elif [ "$FNAME" == "fill" ]
|
||||||
then
|
then
|
||||||
echo "generating color field with $FLOOTFORKS workers"
|
message "generating color field with ${YELLOW}$FLOOTFORKS${ENDCOLOR} workers"
|
||||||
LOL_org="$(gen_field)"
|
LOL_org="$(gen_field)"
|
||||||
for i in $(seq 1 $FLOOTFORKS)
|
for i in $(seq 1 $FLOOTFORKS)
|
||||||
do
|
do
|
||||||
|
@ -268,13 +303,13 @@ floot() {
|
||||||
if [ $USECACHE ]
|
if [ $USECACHE ]
|
||||||
then
|
then
|
||||||
checkfile $PIXLIST
|
checkfile $PIXLIST
|
||||||
echo "using cache from $PIXLIST"
|
message "using cache from ${YELLOW}$PIXLIST${ENDCOLOR}"
|
||||||
else
|
else
|
||||||
checkfile $IMGFILE
|
checkfile $IMGFILE
|
||||||
echo "generating tmp file $PIXLIST"
|
message "generating tmp file ${YELLOW}$PIXLIST${ENDCOLOR}"
|
||||||
convertimg > $PIXLIST
|
convertimg > $PIXLIST
|
||||||
fi
|
fi
|
||||||
echo "shuffle pixels in $PIXLIST for $FLOOTFORKS workers"
|
message "shuffle pixels in ${YELLOW}$PIXLIST${ENDCOLOR} for ${YELLOW}$FLOOTFORKS${ENDCOLOR} workers"
|
||||||
for i in $(seq 1 $FLOOTFORKS)
|
for i in $(seq 1 $FLOOTFORKS)
|
||||||
do
|
do
|
||||||
#LOL[$i]="OFFSET 1 200"
|
#LOL[$i]="OFFSET 1 200"
|
||||||
|
@ -282,7 +317,7 @@ floot() {
|
||||||
# LOL[$i]="$(shuf_xy)"
|
# LOL[$i]="$(shuf_xy)"
|
||||||
#LOL[$i]="$(cat $PIXLIST | shuf)"
|
#LOL[$i]="$(cat $PIXLIST | shuf)"
|
||||||
|
|
||||||
echo -n "prepare worker $i .."
|
message "prepare worker ${YELLOW}$i${ENDCOLOR} .."
|
||||||
|
|
||||||
if [ -z "$ALPHACOLOR" ]
|
if [ -z "$ALPHACOLOR" ]
|
||||||
then
|
then
|
||||||
|
@ -292,11 +327,11 @@ floot() {
|
||||||
LOL[$i]="$(grep -v $ALPHACOLOR $PIXLIST | shuf)"
|
LOL[$i]="$(grep -v $ALPHACOLOR $PIXLIST | shuf)"
|
||||||
#LOL[$i]="$(convertimg | grep -v $ALPHACOLOR | shuf)"
|
#LOL[$i]="$(convertimg | grep -v $ALPHACOLOR | shuf)"
|
||||||
fi
|
fi
|
||||||
echo " DONE!"
|
message "${GREEN}DONE!${ENDCOLOR}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "starting $FLOOTFORKS workers"
|
message "starting $FLOOTFORKS workers"
|
||||||
while true
|
while true
|
||||||
do
|
do
|
||||||
for i in $(seq $FLOOTFORKS)
|
for i in $(seq $FLOOTFORKS)
|
||||||
|
@ -304,10 +339,10 @@ floot() {
|
||||||
#echo "check worker $i PID ${LOLPID[$i]} if running "
|
#echo "check worker $i PID ${LOLPID[$i]} if running "
|
||||||
if [ -z ${LOLPID[$i]} ] || ! ps -p ${LOLPID[$i]} > /dev/null
|
if [ -z ${LOLPID[$i]} ] || ! ps -p ${LOLPID[$i]} > /dev/null
|
||||||
then
|
then
|
||||||
echo "worker $i is not running, starting it"
|
message "worker ${YELLOW}$i${ENDCOLOR} is not running, starting it"
|
||||||
#if [ "$FLOOTSRUNNING" -le "$FLOOTFORKS" ]
|
#if [ "$FLOOTSRUNNING" -le "$FLOOTFORKS" ]
|
||||||
#then
|
#then
|
||||||
flootworker &
|
flootworker $i &
|
||||||
LOLPID[$i]=$!
|
LOLPID[$i]=$!
|
||||||
#fi
|
#fi
|
||||||
|
|
||||||
|
@ -334,10 +369,10 @@ case $1 in
|
||||||
# convert arbeitsplatz.jpg txt: | tail -n +2 | awk '{print $1 $3}'
|
# convert arbeitsplatz.jpg txt: | tail -n +2 | awk '{print $1 $3}'
|
||||||
# this is probably better
|
# this is probably better
|
||||||
convertimg > $PIXLIST
|
convertimg > $PIXLIST
|
||||||
echo "file $PIXLIST" generated
|
message "file ${YELLOW}$PIXLIST${ENDCOLOR}" generated
|
||||||
;;
|
;;
|
||||||
|
|
||||||
floot) echo "flooting ${IPFLOOT}:${FLOOTPORT}"
|
floot) message "flooting ${YELLOW}${IPFLOOT}:${FLOOTPORT}${ENDCOLOR}"
|
||||||
if [ "$SHUFMODE" == "static" ] && ([ -z "$W" ] && [ -z "$H" ])
|
if [ "$SHUFMODE" == "static" ] && ([ -z "$W" ] && [ -z "$H" ])
|
||||||
then
|
then
|
||||||
echo "please specify coords with e.g. 'W=420 H=420 SHUFMODE=static $0 floot $FNAME" >&2
|
echo "please specify coords with e.g. 'W=420 H=420 SHUFMODE=static $0 floot $FNAME" >&2
|
||||||
|
|
Loading…
Reference in a new issue