#!/bin/sh

# script creates a plotJS animation. This produces the youtube animation
# at http://youtu.be/TouRFNFL1k0. The softwrae can be adapted to produce any
# desired animation.

SCHEME=guile
SCHEME=gsi

# first compile some c commands

gcc seq.c -O3 -o seq
gcc frame-n.c -O3 -o frame-n
gcc data2bmp.c -O3 -DUNIX -o data2bmp

FN=tan6.scm # function to animate

#N_FRAMES=480 # high frame count
N_FRAMES=90
FIRST_FRAME=0
#LAST_FRAME=479
LAST_FRAME=89

mkdir -p frames

cat constants.scm plot.scm > x.scm
NEW_WIDTH=320 # original app resolution
NEW_WIDTH=960 # typical large resolution
NEW_WIDTH=160 # small resolution, rapid frame creation
sed -i -e "s/320/$NEW_WIDTH/g" x.scm

for count in `./seq $FIRST_FRAME $LAST_FRAME`; do
  frame=`./frame-n 0 $count`
  echo $count $frame $N_FRAMES
  cat $FN | sed -e "s/ 0 1 ; frame n_frames/ $frame $N_FRAMES/" > fn.scm
  cat fn.scm | $SCHEME x.scm | ./data2bmp frames/$frame.bmp
done

rm seq frame-n data2bmp

rm x.scm
rm fn.scm