#!/usr/bin/sh # Ce script permet de lancer l'enregistrement d'une vidéo, à partir # des instructions dans le fichier .scn # Il s'assure aussi que tout soit compilé. NOOBS= NOPAGES= LISTPAGES= usage(){ echo scn_run fichier.scn echo options echo " " --listpages echo " " --noobs echo " " --nopages num [ ,num,... ] echo " " --pause num_secondes exit 1 } while true do if [ "$1" = "--noobs" ] ; then NOOBS=--noobs export NOOBS shift elif [ "$1" = "--nopages" ] ; then NOPAGES="--nopages $2" shift shift elif [ "$1" = "--listpages" ] ; then LISTPAGES=--listpages shift elif [ "$1" = "--pause" ] ; then export SCN_PAUSE_SLEEP=$2 shift shift else break fi done if [ "$#" != "1" ] ; then usage fi if [ ! -f $1 ] ; then echo "Le fichier $1 n'existe pas" exit 1 fi EXECDIR=$HOME/projets/videos/trunk/outils pushd $EXECDIR >/dev/null && make -s scn_parse scn_pause || exit 1 popd >/dev/null if $EXECDIR/scn_parse $NOPAGES $LISTPAGES -i $EXECDIR $1 >/tmp/scn_run.tlcc then if [ "$LISTPAGES" != "" ] ; then cat /tmp/scn_run.tlcc else SCRIPT=`basename $1 .scn`.sh if [ -x "$SCRIPT" ] ; then echo exécute $SCRIPT ./$SCRIPT elif [ -x default.sh ] ; then echo exécute default.sh ./default.sh fi cctlcc -Wall /tmp/scn_run.tlcc -o /tmp/scn -lstdc++ -lm || exit 1 /tmp/scn $NOOBS >/tmp/scn.sh if [ "$SCN_PAUSE_SLEEP" != "" ] ; then echo Passe au bureau numéro 6 qdbus org.kde.KWin /KWin setCurrentDesktop 6 >/dev/null fi DEBUT=`date +%s` sh /tmp/scn.sh FIN=`date +%s` DIFF=`expr $FIN - $DEBUT` MINUTES=`expr $DIFF / 60` SECONDES=`expr $DIFF % 60` printf "Durée: %d:%02d\n" $MINUTES $SECONDES if [ "$SCN_PAUSE_SLEEP" != "" ] ; then echo Reviens au bureau numéro 4 qdbus org.kde.KWin /KWin setCurrentDesktop 4 >/dev/null fi fi else echo scn_parse a échoué fi