diff options
| -rwxr-xr-x | util/bin/make-realwallpaper | 199 | ||||
| -rwxr-xr-x | util/lib/naturalvoices/att.sh | 3 | 
2 files changed, 201 insertions, 1 deletions
| diff --git a/util/bin/make-realwallpaper b/util/bin/make-realwallpaper new file mode 100755 index 00000000..a195b5f1 --- /dev/null +++ b/util/bin/make-realwallpaper @@ -0,0 +1,199 @@ +#!/bin/sh +set -euf + +###### USAGE ##### +#run in new directory(will be polluted with images +#just run ./make-realwallpaper + +main() { +  # fetch source images in parallel +  #fetch nightmap-old-raw.jpg \ +  #  http://awka.sourceforge.net/Night_le_huge.jpg & +  fetch nightmap-raw.jpg \ +     http://www.zeitnews.org/sites/default/files/users/20/article_slideshow_images/nasa-noaa-satellite-reveals-new-views-earth-night-1354814354_0.jpg & +  fetch daymap-raw.png \ +    http://www.nnvl.noaa.gov/images/globaldata/SnowIceCover_Daily.png & +  fetch clouds-raw.jpg \ +    http://user.chol.com/~winxplanet/cloud_data/clouds_2048.jpg & +  fetch krebs.sat.tle \ +     http://www.celestrak.com/NORAD/elements/stations.txt   +  wait + +  #check_type nightmap-old-raw.jpg image +  check_type nightmap-raw.jpg image +  check_type daymap-raw.png image +  check_type clouds-raw.jpg image + +  in_size=1466x1200 +  out_geometry=1366x768+100+160 + +  nightsnow_color='#0c1a49'  # nightmap +  #nightsnow_color='#0a3b5c'  # nightmap-old + +  # normalize *-raw.* to *.png +  #nightmap-old-raw.jpg +  for raw in \ +      nightmap-raw.jpg \ +      daymap-raw.png \ +      clouds-raw.jpg \ +      ; +  do +    normal=${raw%-raw.*}.png +    needs_rebuild $normal $raw || continue +    echo "make $normal; normalize $raw" >&2 +    convert $raw -scale $in_size $normal +  done + +  # create nightmap-fullsnow +  needs_rebuild nightmap-fullsnow.png \ +    && convert -size $in_size xc:$nightsnow_color nightmap-fullsnow.png + +  # extract daymap-snowmask from daymap-final +  needs_rebuild daymap-snowmask.png \ +    daymap.png \ +    && convert daymap.png -threshold 95% daymap-snowmask.png + +  # extract nightmap-lightmask from nightmap +  needs_rebuild nightmap-lightmask.png \ +    nightmap.png \ +    && convert nightmap.png -threshold 25% nightmap-lightmask.png + +  # create layers +  make_layer nightmap-snowlayer.png nightmap-fullsnow.png daymap-snowmask.png +  make_layer nightmap-lightlayer.png nightmap.png nightmap-lightmask.png + +  # apply layers +  flatten nightmap-lightsnowlayer.png \ +    nightmap-lightlayer.png \ +    nightmap-snowlayer.png + +  flatten nightmap-final.png \ +    nightmap-lightsnowlayer.png \ +    nightmap.png +    # nightmap-old.png + +  # make all unmodified files as final +  for normal in \ +      daymap.png \ +      clouds.png \ +      ; +  do +    final=${normal%.png}-final.png +    needs_rebuild $final && +      ln $normal $final +  done + +  # create xplanet output +    cat >xplanet.config <<EOF +[earth] +"Earth" +map=daymap-final.png +night_map=nightmap-final.png +cloud_map=clouds-final.png +cloud_threshold=10 +shade=15 +EOF + +  # create xplanet output satellite version +    cat >xplanet-sat.config <<EOF +[earth] +"Earth" +map=daymap-final.png +night_map=nightmap-final.png +cloud_map=clouds-final.png +satellite_file=krebs.sat +cloud_threshold=10 +shade=15 +EOF + +  needs_rebuild krebs.sat \ +    && cat >krebs.sat <<EOF +25544 "ISS" Image=none trail={orbit,-2,2,1} color=grey thickness=1 fontsize=10 +37820 "T1" Image=none trail={orbit,-2,2,1} color=grey thickness=1 fontsize=10 +39175 "ATV-4" Image=none trail={orbit,-2,2,1} color=grey thickness=1 fontsize=10 +39258 "CYG" Image=none trail={orbit,-2,2,1} color=grey thickness=1 fontsize=10 +EOF + +  needs_rebuild krebs.mar \ +    && cat >krebs.mar <<EOF +EOF + +  # rebuild every time to update shadow +  xplanet --num_times 1 --geometry $in_size \ +    --output xplanet-output.png --projection merc -config xplanet.config + +  # rebuild everytime satellite version +  xplanet --num_times 1 --geometry $in_size \ +    --output xplanet-sat-output.png --projection merc -config xplanet-sat.config + +  # trim xplanet output +  needs_rebuild realwallpaper.png \ +    xplanet-output.png \ +    && convert xplanet-output.png -crop $out_geometry realwallpaper.png + +  # trim xplanet-sat output +  needs_rebuild realwallpaper-sat.png \ +    xplanet-sat-output.png \ +    && convert xplanet-sat-output.png -crop $out_geometry realwallpaper-sat.png +} + +# usage: getimg FILENAME URL +fetch() { +  echo "fetch $1" +  curl -sS -z "$1" -o "$1" "$2" +} + +# usage: check_type FILENAME TYPE +check_type() { +  if ! file -ib "$1" | grep -q "^$2/"; then +    echo "$1 is not of type $2" >&2 +    rm "$1" +    return 1 +  fi +} + +# usage: image_size FILENAME +image_size() { +  identify "$1" | awk '{print$3}' +} + +# usage: make_mask DST SRC MASK  +make_layer() { +  if needs_rebuild "$@"; then +    echo "make $1 (apply mask)" >&2 +    convert "$2" "$3" -alpha off -compose copy_opacity -composite "$1" +  fi +} + +# usage: flatten DST HILAYER LOLAYER +flatten() { +  if needs_rebuild "$@"; then +    echo "make $1 (flatten)" >&2 +    composite "$2" "$3" "$1" +  fi +} + +# usage: needs_rebuild DST SRC... +needs_rebuild() { +  a="$1" +  shift +  if ! test -e "$a"; then +    #echo "  $a does not exist" >&2 +    result=0 +  else +    result=1 +    for b; do +      if test "$b" -nt "$a"; then +        #echo "  $b is newer than $a" >&2 +        result=0 +      fi +    done +  fi +  #case $result in +  #  0) echo "$a needs rebuild" >&2;; +  #esac +  return $result +} + + +main "$@" diff --git a/util/lib/naturalvoices/att.sh b/util/lib/naturalvoices/att.sh index 892e0bc0..3ec903c5 100755 --- a/util/lib/naturalvoices/att.sh +++ b/util/lib/naturalvoices/att.sh @@ -14,7 +14,8 @@ get_tts(){      : ${OUTFILE?please provide OUTFILE}      text=$(echo $* | sed -e "s/ /+/g" -e "s/\//%2F/g")      voice="${voice:-klara}" -    ip="192.20.225.36" +    # TODO grab this url from the tts demo page +    ip="204.178.9.51"      base_url="http://$ip"      curl -sS $base_url$( curl  -Ss  -H "Host:$ip" \          -H "Origin:http://www2.research.att.com" \ | 
