#!/bin/bash

N_A=$1
N_B=$2
L_A=$3
L_B=$4
GAMMA=$5
PHI=`echo $6 \+ 0.0 |bc`
X_L=$7
X_U=$8
Y_L=$9
Y_U=${10}
T_X=${11}
T_Y=${12}

## 外に書き出すファイル名をプロセス毎に独自のものにさせるためにPIDを使う
LPID=$$

GRAPH=$(printf "%.1fx%.1f-g%.1f-%dx%d-%05.1fdegree" $L_A $L_B $GAMMA $N_A $N_B $PHI)
i=0
endi=19
## 1周期分の波のグラフを作成する
while [ $i -le $endi ]; do
    ## 時間は0.05刻み:1.0で1周期
    NU_T=`echo $i \* 0.05 |bc`
    COMMAND=$(printf "./a.out %f %d %d %f %f %f %f %f %f %f %f %d %d out-%03d-%05.1f-%d" $NU_T $N_A $N_B $L_A $L_B $GAMMA $PHI $X_L $X_U $Y_L $Y_U $T_X $T_Y $i $PHI $LPID)
    $COMMAND
    COMMAND2=$(printf "sed s/OUTFILE/out-%03d-%05.1f-%d/" $i $PHI $LPID)
    COMMAND3=$(printf "sed s/INFILE/out-%03d-%05.1f-%d/g" $i $PHI $LPID)
    COMMAND4=$(printf "sed s/GRAPHTITLE/%s/" "$GRAPH")
    COM=$(printf "COM-%03d-%05.1f-%d.gplt" $i $PHI $LPID)
    cat template.gplt | $COMMAND2 | $COMMAND3 | $COMMAND4 > $COM
    gnuplot < $COM
    rm $COM
    i=$(($i+1))
done

## 1周期分の波のグラフをまとめて動画にする
IPHI=$(echo $PHI |sed 's/\.0*$//')
OUTFILENAME=$(printf "Wave-%.1fx%.1f-g%.1f-%dx%d-%03d.mp4" $L_A $L_B $GAMMA $N_A $N_B $IPHI)
COMMAND0=$(printf "ffmpeg -r 24 -i out-%s-%05.1f-%d.png -an -c:v libx264 -vf format=yuv420p -tune animation" "%03d" $PHI $LPID)
COMMANDV=$(echo "$COMMAND0" $OUTFILENAME)
$COMMANDV
RMFILENAME1=$(printf "out-*-%05.1f-%d.png" $PHI $LPID)
RMFILENAME2=$(printf "out-*-%05.1f-%d*.dat" $PHI $LPID)
rm $RMFILENAME1 $RMFILENAME2
