#!/bin/csh

#######################################################################################################################################
#                                                                                                                                     #
#         T R A N S F E R T   D ' U N E   L I S T E   D ' I M A G E S                                                                 #
#         S U R   L E   D I S Q U E   V I D E O   B E T A - P A L  :                                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Utilisation :                                                                                                               #
#                                                                                                                                     #
#    $xci/disk_video_P$Z <Racine_images> <premiere> <derniere> <palette> <disk> <face> <init> <Emode> "<formatI>" <g> [r [d [e [p]]]] #
#    $xci/disk_video_P$Z <Racine_images> <premiere> <derniere>    RVB    <disk> <face> <init> <Emode> "<formatI>" <g> [r [d [e [p]]]] #
#                                                                                                                                     #
#    $xci/disk_video_P$Z <Image_unique>  UNIQUE     UNIQUE     <palette> <disk> <face> <init> <Emode> "<formatI>" <g> [r [d [e]]]     #
#    $xci/disk_video_P$Z <Image_unique>  UNIQUE     UNIQUE        RVB    <disk> <face> <init> <Emode> "<formatI>" <g> [r [d [e]]]     #
#                                                                                                                                     #
#                                                                          ||     ||                                                  #
#                                                                          ||     ||                                                  #
#                                                                          \/     ||                                                  #
#                                                                                 ||                                                  #
#                                                                       E  [0,9]  ||                                                  #
#                                                                                 \/                                                  #
#                                                                                                                                     #
#                                                                              E  [1,2]                                               #
#                                                                                                                                     #
#         avec :                                                                                                                      #
#                                                                                                                                     #
#                   <Racine_images> = <racine_images>                                                                                 #
#                   <Image_unique>  = <Image_unique>                                                                                  #
#                                                                                                                                     #
#         ou :                                                                                                                        #
#                                                                                                                                     #
#                   <Racine_images> = "<racine_images> <postfixe>"                                                     #
#                   <Image_unique>  = "<Image_unique> <postfixe>"                                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Nota sur le "sens" d'enregistrement :                                                                                       #
#                                                                                                                                     #
#                     On notera que la sequence peut etre                                                                             #
#                   aussi bien generee en marche avant                                                                                #
#                   (premiere  < derniere) qu'en marche                                                                               #
#                   arriere (premiere > derniere)...                                                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Performances :                                                                                                              #
#                                                                                                                                     #
#                     Le 19971219174728, sur '$LACT12' il a ete mesure                                                                #
#                   que, cette machine n'etant pas chargee, une image                                                                 #
#                   'Pal' en vraies couleurs {$ROUGE,$VERTE,$BLEUE}                                                                   #
#                   demandait 25 secondes pour etre enregistree alors                                                                 #
#                   que 22 secondes sont necesaires pour une image 'Std'.                                                             #
#                                                                                                                                     #
#                     Le 19980218090413, en passant de 1200 a 9600                                                                    #
#                   bauds, le temps de 25 secondes a ete reduit a                                                                     #
#                   21 secondes...                                                                                                    #
#                                                                                                                                     #
#                     Le 19980226161253 en enregistrant des images                                                                    #
#                   'Pal' stockees sur '$xiim_LACT29', une duree                                                       #
#                   d'enregistrement de 24 secondes a ete mesuree.                                                                    #
#                                                                                                                                     #
#                     En resume, l'enregistrement de 512 images au                                                                    #
#                   format 'Pal' stockees sur '$xiim_LACT29' demande                                                   #
#                   trois heures trente minutes.                                                                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Enregistrement successif de plusieurs images "UNIQUE"s :                                                                    #
#                                                                                                                                     #
#                     Afin d'eviter de perdre trop de temps avec les                                                                  #
#                   "blank check"s que provoquent, explicitement ou                                                                   #
#                   implicitement, les operations "Initialisation"                                                                    #
#                   et "initialisation" respectivement, on pourra                                                                     #
#                   utiliser l'operation vide "rien" de la facon                                                                      #
#                   suivante :                                                                                                        #
#                                                                                                                                     #
#                                       $xci/disk_video_P$Z <premiere>     UNIQUE UNIQUE <palette> <disk> <face> Initialisation (...) #
#                                       $xci/disk_video_P$Z <seconde>      UNIQUE UNIQUE <palette> <disk> <face> rien           (...) #
#                                       $xci/disk_video_P$Z <troisieme>    UNIQUE UNIQUE <palette> <disk> <face> rien           (...) #
#                                       (...)                                                                                         #
#                                       $xci/disk_video_P$Z <derniere>     UNIQUE UNIQUE <palette> <disk> <face> rien           (...) #
#                                                                                                                                     #
#                   ainsi il n'y aura donc qu'un seul "blank check".                                                                  #
#                                                                                                                                     #
#                   On pourra regarder :                                                                                              #
#                                                                                                                                     #
#                                       v         _____xivPdf_6_2/$Fnota                                                              #
#                                                                                                                                     #
#                   ou des essais ont ete fait dans ce sens...                                                                        #
#                                                                                                                                     #
#                                                                                                                                     #
#         Suspension de l'enregistrement d'une sequence :                                                                             #
#                                                                                                                                     #
#                     Il parait possible de suspendre l'enregistrement                                                                #
#                   d'une sequence (par exemple pour visionner une                                                                    #
#                   sequence deja enregistree). Soit 'IMAGE' le nom                                                                   #
#                   de l'image suivante a enregistrer ; il suffit de                                                                  #
#                   faire un :                                                                                                        #
#                                                                                                                                     #
#                                       mv        IMAGE     sIMAGE                                                                    #
#                                                                                                                                     #
#                   La commande '$xci/disk_video_P$Z' se met alors en                                                                 #
#                   attente de l'image 'IMAGE' en editant un message                                                   #
#                   d'erreur periodique. Puis on notera l'adresse                                                                     #
#                   courante 'ADRESSE' du disque.                                                                                     #
#                                                                                                                                     #
#                     Pour relancer l'enregistrement, il suffit de                                                                    #
#                   remettre au prealable le disque precedent (s'il y                                                                 #
#                   avait eu un changement de support), puis de se                                                                    #
#                   repositionner par :                                                                                               #
#                                                                                                                                     #
#                                       r         ADRESSE                                                                             #
#                                                                                                                                     #
#                   et enfin de debloquer la boucle d'attente par :                                                                   #
#                                                                                                                                     #
#                                       mv        sIMAGE    IMAGE                                                                     #
#                                                                                                                                     #
#                   Cela semble suffire (a condition que la sequence                                                                  #
#                   d'initialisation ne soit pas a refaire...).                                                                       #
#                                                                                                                                     #
#                                                                                                                                     #
#         Redemarrage sur defaut :                                                                                                    #
#                                                                                                                                     #
#                     Malheureusement, sur 'SYSTEME_SG4D..._IRIX_CC' la                                                               #
#                   commande 'DISPLAY' a tendance a se bloquer mysterieusement.                                                       #
#                   La meilleure solution est alors d'aborter la commande                                                             #
#                   '$xci/disk_video_P$Z' ; le fichier '$Sequence' donnant                                             #
#                   le catalogue des images enregistrees est mis a jour                                                               #
#                   avant d'effectuer 'DISPLAY'. Dans ces conditions, on                                               #
#                   detruira la derniere ligne du fichier (elle donne le                                                              #
#                   nom de la premiere image restant a enregistrer), et on                                                            #
#                   changera son nom par un 'mv' en y faisant figurer le                                                              #
#                   nom de la derniere image reellement enregistree...                                                                #
#                                                                                                                                     #
#                     Enfin, il conviendra de killer au moins un                                                                      #
#                   process (voir ceux qui sont lances dans l'alias                                                                   #
#                   'DISPLAY')...                                                                                                     #
#                                                                                                                                     #
#                     Apparemment, 'ITERE' prend encharge correctement                                                                #
#                   ce processus, sauf bien entendu le 'kill' des                                                                     #
#                   process. Le defaut serait du, en fait, a la conjonction                                                           #
#                   du 'SYSTEME_SG4D20G_IRIX_CC' (de vitesse faible), et du                                                           #
#                   serveur NeWS (qui perdrait alors des evenements)...                                                               #
#                                                                                                                                     #
#                                                                                                                                     #
#         Exemple :                                                                                                                   #
#                                                                                                                                     #
#                   xivPdf    2 2                                                                                                     #
#                                                                                                                                     #
#                   -rw-------   1 colonna  900         3503 Jun  4 17:50 002928_003055                                               #
#                   003033 --> $xiff/KALEIDOS.10105                                                                                   #
#                                  |                                                                                                  #
#                                  |______________________________________________                                                    #
#                                                                                 |                                                   #
#                                                                                 |                                                   #
#                   L'image '$xiff/KALEIDOS.10105' n'a pas ete enregistree, et   \|/                                   #
#                   '$xiff/KALEIDOS.10104' est la derniere image enregistree                                                          #
#                   a l'adresse 003032. On detruira donc la ligne '003033 --> $xiff/KALEIDOS.10105',                   #
#                   et executera la commande :                     ------                                                             #
#                                                                     |                                                               #
#                   mv        002928_003055 002928_003032             |                                                               #
#                                                  ------             |                                                               #
#                                                    /|\              |                                                               #
#                                                     |               |                                                               #
#                                                     |_______________|                                                               #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xci/disk_video_P$Z' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

set       RacineP=($1)
set       premiereI=$2
set       derniereI=$3
set       Palette=$4
set       Disque=$5
set       Face=$6
set       initialisation=$7
                                        # "Initialisation" ou "rien".                                                                 #
set       Emode=$8
                                        # "DebutS", "ajoutS", "finS", "Sequence" ou "SequenceT".                                      #
set       FormatI="$9"
                                        # Rien, ou par exemple pour enregistrer en 'Pal' :                                            #
                                        #                                                                                             #
                                        #                   "Xmin=$XminPal Xmax=$XmaxPal Ymin=$YminPal Ymax=$YmaxPal".                #
                                        #                                                                                             #
                                        # mais ATTENTION, il faut mettre toute la definition entre doubles-quotes afin que la         #
                                        # recuperation de l'argument suivant ('Gamma') se passe bien. Ainsi, on ecrira :              #
                                        #                                                                                             #
                                        #                   ... "$formatI" ...                                                        #
                                        #                                                                                             #

switch    ("$SYSTEME")
                                        # Definition de la correction de gamma. ATTENTION : ceci doit etre le dernier argument,       #
                                        # puisqu'il n'est pas defini pour tous les SYSTEMEs...                                        #
                                        #                                                                                             #
                                        # Discrimination des differents SYSTEMEs possibles :                                          #
     case "SYSTEME_SG4D20G_IRIX_CC":
     case "SYSTEME_SG4D25TG_IRIX_CC":
     case "SYSTEME_SG4D310VGX_IRIX_CC":
     case "SYSTEME_SG4D35TG_IRIX_CC":
     case "SYSTEME_SG4D85GT_IRIX_CC":
     case "SYSTEME_SGIND308_IRIX_CC":
     case "SYSTEME_SGIND324_IRIX_CC":
     case "SYSTEME_SGIND408_IRIX_CC":
     case "SYSTEME_SGIND424_IRIX_CC":
     case "SYSTEME_SGIND508_IRIX_CC":
     case "SYSTEME_SGIND524_IRIX_CC":
     case "SYSTEME_SGIND808_IRIX_CC":
     case "SYSTEME_SGIND824_IRIX_CC":
     case "SYSTEME_SGINDA08_IRIX_CC":
     case "SYSTEME_SGINDA24_IRIX_CC":
     case "SYSTEME_SGO25224_IRIX_CC":
          set       Gamma="$10"
                                        # Entree de la correction de gamma pour l'enregistrement.                                     #
          breaksw
     case "SYSTEME_SGIND3GA_IRIX_CC":
     case "SYSTEME_SGIND4GA_IRIX_CC":
     case "SYSTEME_SGIND5GA_IRIX_CC":
     case "SYSTEME_SGIND8GA_IRIX_CC":
     case "SYSTEME_SGINDAGA_IRIX_CC":
     case "SYSTEME_SGO252VA_IRIX_CC":
     case "SYSTEME_SGO252VN_IRIX_CC":
          set       GaMmA="$10"
                                        # La correction de gamma est inutile ici, mais ATTENTION, elle doit etre presente malgre      #
                                        # tout a cause d'une part de la compatibilite et de la portabilite, et d'autre part de        #
                                        # l'argument '$Redimensionner' qui suit (d'ou son nom "bizarre"...).                          #
          breaksw
     case "SYSTEME_APC_LinuxDebian_GCC":
     case "SYSTEME_APC_LinuxMandrake_GCC":
     case "SYSTEME_APC_LinuxRedHat_GCC":
     case "SYSTEME_APC_LinuxUbuntu_GCC":
     case "SYSTEME_APC_LinuxUbuntu_ICC":
     case "SYSTEME_APC_LinuxUlmint_GCC":
     case "SYSTEME_APC_LinuxUlmint_ICC":
     case "SYSTEME_CRAY2_UNICOS_CC":
     case "SYSTEME_CRAY2_UNICOS_SCC":
     case "SYSTEME_CRAYC98_UNICOS_CC":
     case "SYSTEME_CRAYC98_UNICOS_SCC":
     case "SYSTEME_CRAYC916_UNICOS_CC":
     case "SYSTEME_CRAYC916_UNICOS_SCC":
     case "SYSTEME_CRAYYMP1_UNICOS_CC":
     case "SYSTEME_CRAYYMP1_UNICOS_SCC":
     case "SYSTEME_CRAYYMP2_UNICOS_CC":
     case "SYSTEME_CRAYYMP2_UNICOS_SCC":
     case "SYSTEME_CRAYYMP4_UNICOS_CC":
     case "SYSTEME_CRAYYMP4_UNICOS_SCC":
     case "SYSTEME_DECALPHA340_OSF1_CC":
     case "SYSTEME_DECALPHA340_OSF1_GCC":
     case "SYSTEME_DECALPHA350_OSF1_CC":
     case "SYSTEME_DECALPHA350_OSF1_GCC":
     case "SYSTEME_DECALPHA464_OSF1_CC":
     case "SYSTEME_DPX2000_SPIX_CC":
     case "SYSTEME_DPX5000_SPIX_CC":
     case "SYSTEME_ES9000_AIX_CC":
     case "SYSTEME_FX2800_CONCENTRIX_FXC":
     case "SYSTEME_FX2800_CONCENTRIX_PCC":
     case "SYSTEME_FX2800_CONCENTRIX_SCC":
     case "SYSTEME_FX40_CONCENTRIX_CC":
     case "SYSTEME_FX40_CONCENTRIX_FXC":
     case "SYSTEME_HP705_HPUX_CC":
     case "SYSTEME_HP710_HPUX_CC":
     case "SYSTEME_HP720_HPUX_CC":
     case "SYSTEME_HP750_HPUX_CC":
     case "SYSTEME_HP755_HPUX_CC":
     case "SYSTEME_HP819_HPUX_CC":
     case "SYSTEME_NWS3000_NEWSOS_CC":
     case "SYSTEME_NWS3000_NEWSOS_2CC":
     case "SYSTEME_RS6000_AIX_CC":
     case "SYSTEME_SGO200A1_IRIX_CC":
     case "SYSTEME_SGO200A2_IRIX_CC":
     case "SYSTEME_SGO200A4_IRIX_CC":
     case "SYSTEME_SGPCM801_IRIX_CC":
     case "SYSTEME_SGPCMA01_IRIX_CC":
     case "SYSTEME_SPS9_ROS_CC":
     case "SYSTEME_SPS9_ROS_RC":
     case "SYSTEME_SUN3_SUNOS_CC":
     case "SYSTEME_SUN4_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
     case "SYSTEME_VAX8600_ULTRIX_CC":
     case "SYSTEME_VAX8600_ULTRIX_VCC":
     case "SYSTEME_VAX9000_ULTRIX_CC":
     case "SYSTEME_VAX9000_ULTRIX_GCC":
     case "SYSTEME_VAX9000_ULTRIX_VCC":
          breaksw
     case "SYSTEME_IMPOSSIBLE":
                                        # Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens :                             #
          EROR      "Une sequence n'a pas de sens pour '"$SYSTEME"'."
          breaksw
     default:
                                        # Cas des SYSTEMEs non reconnus :                                                             #
          EROR      "Variable 'SYSTEME' (='$SYSTEME') inconnue."
          breaksw
endsw

set       Redimensionner=$11
                                        # Afin de savoir s'il faut ('VRAI') ou pas ('FAUX') redimensionner les images au format       #
                                        # 'Pal'...                                                                                    #
setArgum  Redimensionner                FAUX
                                        # Lorsque cet argument est absent, on lui donne la valeur 'FAUX' afin d'assurer la            #
                                        # compatibilite avec les enregistrements anterieurs...                                        #
if        ("$Redimensionner" == "VRAI") then
          echo      "ATTENTION : les images vont etre redimensionnees."
else
endif

set       Deleter=$12
                                        # Afin de savoir s'il faut ('VRAI') ou pas ('FAUX') deleter les images au fur et a mesure     #
                                        # apres leur enregistrement afin de faire de la place...                                      #
setArgum  Deleter                       FAUX
                                        # Lorsque cet argument est absent, on lui donne la valeur 'FAUX' afin d'assurer la            #
                                        # compatibilite avec les enregistrements anterieurs...                                        #
if        ("$Deleter" == "VRAI") then
          echo      "ATTENTION : les images seront detruites au fur et a mesure."
else
endif

set       Ejecter=$13
                                        # Afin de savoir s'il faut ('VRAI') ou pas ('FAUX') ejecter le disque a la fin de             #
                                        # l'enregistrement.                                                                           #
setArgum  Ejecter                       FAUX
                                        # Lorsque cet argument est absent, on lui donne la valeur 'FAUX' afin d'assurer la            #
                                        # compatibilite avec les enregistrements anterieurs...                                        #
if        ("$Ejecter" == "VRAI") then
          echo      "ATTENTION : le disque sera ejecte a la fin de l'enregistrement."
else
endif

set       Pas=$14
                                        # Pas de parcours de la liste sequentielle des images.                                        #
setArgum  Pas                           1
                                        # Lorsque cet argument est absent, on lui donne la valeur '1' parce que c'est la valeur la    #
                                        # plus logique (qui etait aussi la valeur implicite anterieure...).                           #

#######################################################################################################################################
#                                                                                                                                     #
#         F I N   D E   L ' E N T R E E   D E S   O P T I O N S  :                                                                    #
#                                                                                                                                     #
#######################################################################################################################################

XmDKVP
                                        # Et oui, ceci a ete rajoute le 19971230085533 car, en effet, '$xci/disk_video_P$Z' peut      #
                                        # etre lance depuis une fenetre pour laquelle '$DISPLAY' ne designe pas '$mDKVP'. C'est en    #
                                        # fait le cas depuis que '$LACT27' sert a l'interaction sur '$mREFERENCE'...                  #

if        ("$Fvideo_in_use" != "$UNDEF") then
                                        # Test introduit le 20130925100711...                                                         #
          while     (-e $Fvideo_in_use)
                    EROR      "La video semble deja active (ou bien, quelque chose a ete interrompu brutalement...)."
                    sleep     $TEMPORISATION
          end

          (Genom1)  > $Fvideo_in_use
          ro        $Fvideo_in_use
                                        # Mise en place d'un dispositif "simpliste" permettant d'eviter :                             #
                                        #                                                                                             #
                                        #    1-deux appels simultanes a '$xci/disk_video_P$Z',                                        #
                                        #    2-un appel a '$xci/disk_video_P$Z' et un appel a l'alias 'video'.                        #
                                        #                                                                                             #
else
          EROR      "La video n'est plus disponible."
          EROR      "1-pour ARRETER, faire un <CTRL-C><ENTER> qui abortera le processus en cours,"
          EROR      "2-pour CONTINUER, taper un <ENTER> seul."

          pause
endif

set       Racine=$RacineP[1]
                                        # Recuperation de la racine...                                                                #

path_f    $Racine
set       nomP_Racine=$nomP
set       nomF_Racine=$nomF
                                        # Decomposition de la racine argument. La variable '$nomP_Racine' a ete introduite le         #
                                        # 20020227101857 apres des problemes "mysterieux" avec la boucle 'while(...)' qui suit        #
                                        # et qui ne s'executait qu'une seule fois lorsque le directory '$nomP_Racine' (appele avant   #
                                        # cette date '$nomP') n'existait pas. La raison en etait que l'alias 'EROR' declenche alors   #
                                        # redefinissait lui-meme '$nomP'. La meme operation a suivi pour '$nomF' le 20020227104017.   #

if        ($?kill_DKVP == $EXIST) then
          unset     kill_DKVP
else
endif

source    $Fdisk_video_P
                                        # On notera l'absence de 'kill_DKVP'.                                                         #
                                        #                                                                                             #
                                        # ATTENTION, lorsque que le "kill" des process du type 'sleep' et 'display_' est demande,     #
                                        # il y a alors "kill" de tous les process 'sleep' et en particulier ceux qui sont crees       #
                                        # par '$FCalarme'. Cela n'est en fait pas trop grave car, en effet, ils n'excedent pas 60     #
                                        # secondes, ce qui fait que le temps perdu dans le decompte des heures d'attente n'est que    #
                                        # fausse...                                                                                   #
                                        #                                                                                             #
                                        # Avant le 20020227094021, ce 'source' se situait apres le '$xci/feu_attendre$X' qui suit,    #
                                        # mais il est plus qu'utile a la boucle 'while(...)' qui suit...                              #

while     (! -e "$nomP_Racine")
                                        # Afin de controler l'iteration sur l'existence du directory d'appartenance des images.       #
                                        # Cela a ete introduit le 20020225100435 afin de resoudre un probleme lie a l'utilisation     #
                                        # de '$xiim_LACT14' (par exemple...), lorsqu'un tel directory n'est pas monte. Avant cette    #
                                        # date donc, le test suivant etait negatif et '$racine' devenait donc un nom absolu. Or       #
                                        # lors du test individuel d'existence des images, '$ImagC' (qui vaut '$racine' suivi du       #
                                        # numero d'image) est precede de '$Directory'. Donc, dans le cas d'un directory non monte,    #
                                        # on se retrouvait ensuite avec comme nom absolu d'image, deux noms de directories absolus    #
                                        # concatenes l'un derriere l'autre...                                                         #
          if        ($MessagE_DKVP == $EXIST) then
                    EROR      "Le directory '$nomP_Racine' n'existe pas (peut-etre n'est-il pas monte ?)."

                    sleep     $MINUTE
          else
          endif
end

if        (("$nomP_Racine" != "$K_VIDE") && (-e "$nomP_Racine")) then
          cd        $nomP_Racine
          set       racine=$nomF_Racine
else
          set       racine=$Racine
endif

$xci/feu_attendre$X           feu=$feu_SdisqueP
                                        # On introduit ici la possibilite de bloquer '$xci/disk_video_P$Z' avant toute action qu'il   #
                                        # peut mener : cela permet, par exemple, durant l'enregistrement d'un grand film image par    #
                                        # image (voir par exemple 'v $xrq/nucleon.L4$Z') de faire malgre tout des photos...           #

set       Postfixe="$K_VIDE"
                                        # A priori, on considere qu'il n'y a pas de postfixe...                                       #
if        ($#RacineP > 1) then
          if        ("$Palette" == "$RVB_DKVP") then
                    EROR      "En mode 'RVB' les noms des images ne peuvent etre postfixes."
          else
                    set       Postfixe=$RacineP[2]
                                        # Cas ou il y a un postfixe et que l'on est en mode "palette"...                              #
          endif
else
endif

saneP
                                        # Reinitialisation de la liaison avec le disque, cela peut etre tres utile ; on notera que    #
                                        # cette operation est necessaire apres (environ) un chargement de disque sur deux...          #

switch    ("$Emode")
                                        # Definition de la variable '$Synchroniser_DKVP' qui indique le mode d'ecriture des images.   #
                                        # Cette variable controle si l'on doit boucler sur l'attente d'une image qui est actuellement #
                                        # inexistante ('$EXIST') ce qui correspond a se synchroniser sur un producteur d'images, ou   #
                                        # bien si l'on doit considerer cela comme une erreur ($NEXIST').                              #
     case "$Sequence_DKVP":
     case "$debutS_DKVP":
     case "$ajoutS_DKVP":
     case "$finS_DKVP":
          set  Synchroniser_DKVP        = $EXIST
                                        # Une image inexistante est consideree comme n'etant pas encore arrivee, et est attendue. On  #
                                        # aura alors en general :                                                                     #
                                        #                                                                                             #
                                        #                   MessagE_DKVP = $EXIST                                                     #
                                        #                                                                                             #
          breaksw
     case "$SequenceT_DKVP":
          set  Synchroniser_DKVP        = $NEXIST
                                        # Une image inexistante est consideree comme une erreur, et est sautee. On aura alors en      #
                                        # general :                                                                                   #
                                        #                                                                                             #
                                        #                   MessagE_DKVP = $NEXIST                                                    #
                                        #                                                                                             #
          breaksw
     default:
          EROR "Le mode n'est pas reconnu."
          breaksw
endsw

set       Disque=`Gdisk_DKVP $Disque`
set       Face=`Gface_DKVP $Face`

set       Icwd=$cwd
set       Directory=$Icwd
direct    $cwd

unset     xCWD
                                        # Destruction de la variable '$xCWD' telle qu'elle est positionnee par 'v $FCshrc'. En effet, #
                                        # si par malheur le '$cwd' a l'appel de '$xci/disk_video_P$Z' etait celui d'appartenance de   #
                                        # la sequence d'images (soit '$nomP_Racine'), on a alors en arrivant ici (voir 'v $FCshrc') : #
                                        #                                                                                             #
                                        #                   $xCWD = $nomP_Racine                                                      #
                                        #                                                                                             #
                                        # or, s'etant place ci-dessus dans le directory '$nomP_Racine' par un 'cd', on a :            #
                                        #                                                                                             #
                                        #                   $cwd  = $nomP_Racine                                                      #
                                        #                                                                                             #
                                        # ce qui, etant donne la programmation de 'direct', donne alors a la variable '$nDirectory'   #
                                        # la valeur "xCWD"...                                                                         #
set       xCWD=$nDirectory
                                        # Et memorisation du nom symbolique du '$CWD'.                                                #

switch    ("$SYSTEME")
                                        # Definition du programme d'envoi des images au disque video.                                 #
                                        #                                                                                             #
                                        # Discrimination des differents SYSTEMEs possibles :                                          #
     case "SYSTEME_DPX5000_SPIX_CC":
          if   ($?CUBI7) then
               alias     DISPLAY   'set       Dimage=\!:1 ; set       Dpalette=\!:2                                               ;    \\
                                    $xci/fenetre_2D$X A=$Dimage p=$Dpalette video=VRAI init=VRAI $FormatI                         ;    \\
                                    unset     Dimage ; unset     Dpalette'
                                        # Commande d'affichage des images.                                                            #
               alias     SYNCHROr  ''
               alias     SYNCHROv  ''
               alias     ATTENDREi 'set       status_feu=$OK'
                                        # Commandes de synchronisation (ineffective).                                                 #
               alias     ITERE     'set  ArGuMeNtS=(\!*) ; echo "$ArGuMeNtS" >& $nul ; unset ArGuMeNtS'
                                        # Commande d'iteration sur defaut de "time-out" (ineffective). Nota : l'echo sur '$nul' n'est #
                                        # la que pour permettre, dans le cas ou 'ITERE' est ineffectif, de "nettoyer" le buffer des   #
                                        # commandes ; faire :                                                                         #
                                        #                                                                                             #
                                        #                   alias     ITERE     ''                                                    #
                                        #                                                                                             #
                                        # aurait pour effet d'utiliser le premier argument comme nom de commande, et les suivants     #
                                        # comme ses arguments...                                                                      #
          else
               EROR      "Le CUBI7 n'est plus la, esperons que le convertisseur le remplace."
               alias     DISPLAY   'set       Dimage=\!:1 ; set       Dpalette=\!:2                                               ;    \\
                                    $xci/display$X A=$Dimage p=$Dpalette $FormatI                                                 ;    \\
                                    unset     Dimage ; unset     Dpalette'
                                        # Commande d'affichage des images.                                                            #
               alias     SYNCHROr  ''
               alias     SYNCHROv  ''
               alias     ATTENDREi 'set       status_feu=$OK'
                                        # Commandes de synchronisation (ineffective).                                                 #
               alias     ITERE     'set  ArGuMeNtS=(\!*) ; echo "$ArGuMeNtS" >& $nul ; unset ArGuMeNtS'
                                        # Commande d'iteration sur defaut de "time-out" (ineffective). Nota : l'echo sur '$nul' n'est #
                                        # la que pour permettre, dans le cas ou 'ITERE' est ineffectif, de "nettoyer" le buffer des   #
                                        # commandes ; faire :                                                                         #
                                        #                                                                                             #
                                        #                   alias     ITERE     ''                                                    #
                                        #                                                                                             #
                                        # aurait pour effet d'utiliser le premier argument comme nom de commande, et les suivants     #
                                        # comme ses arguments...                                                                      #
          endif
          breaksw
     case "SYSTEME_SG4D20G_IRIX_CC":
     case "SYSTEME_SG4D25TG_IRIX_CC":
     case "SYSTEME_SG4D310VGX_IRIX_CC":
     case "SYSTEME_SG4D35TG_IRIX_CC":
     case "SYSTEME_SG4D85GT_IRIX_CC":
     case "SYSTEME_SGIND308_IRIX_CC":
     case "SYSTEME_SGIND324_IRIX_CC":
     case "SYSTEME_SGIND408_IRIX_CC":
     case "SYSTEME_SGIND424_IRIX_CC":
     case "SYSTEME_SGIND508_IRIX_CC":
     case "SYSTEME_SGIND524_IRIX_CC":
     case "SYSTEME_SGIND808_IRIX_CC":
     case "SYSTEME_SGIND824_IRIX_CC":
     case "SYSTEME_SGINDA08_IRIX_CC":
     case "SYSTEME_SGINDA24_IRIX_CC":
     case "SYSTEME_SGO25224_IRIX_CC":
          FileTmpB  nomT

          Gamma     $Gamma
                                        # Mise en place de la correction de gamma, qui sera refaite en realite avant chaque           #
                                        # 'DISPLAY' au cas ou. On rappelle ici que 'Gamma' peut etre executee en background           #
                                        # car en effet un probleme dans la fonction 'winopen(...)' fait que cette derniere, de temps  #
                                        # en temps se bloque...) ; ainsi, meme si le processus 'gamma' se bloquait, la suite des      #
                                        # operations aurait bien lieu. Enfin, le detecteur de time-out de '$xci/feu_attendre$X' ne    #
                                        # peut etre utilise ici bien evidemment...                                                    #
          set       Ptime_out=$MINUTE
                                        # Duree de detection des "time-out" sur la commande 'DISPLAY'.                                #
          set       Ptemporisation=8
                                        # Duree de temporisation pour '$xci/display_RVB$X'...                                         #
          set       synchro="duree=$Ptemporisation video=VRAI minimum=32 synchronisation=VRAI trx=0.0 try=0.0"
          source    $Fdivers
                                        # Afin de definir '$MdefRedim'...                                                             #
          set       synchro="$synchro"" redimensionner=$Redimensionner methode=$MdefRedim proportions=FAUX"
                                        # On notera l'option "minimum=" destinee a renforcer les basses luminances...                 #
          if        ("$Palette" == "$RVB_DKVP") then
                    alias     DISPLAY   'set       Dimage=\!:1                                                                    ;    \\
                                         Gamma     $Gamma                                                                         ;    \\
                                         $xci/display_RVB$X AR=$Dimage$ROUGE AV=$Dimage$VERTE AB=$Dimage$BLEUE $synchro $FormatI  ;    \\
                                         unset     Dimage'
                                        # Commande d'affichage des images. Malheureusement, cette solution n'est pas parfaitement     #
                                        # deterministe, car en effet, si l'ecran est au repos, le temps necessaire au retour de la    #
                                        # video peut etre important (en particulier, apparemment, si la machine est chargee), d'ou    #
                                        # la temporisation...                                                                         #
          else
                    alias     DISPLAY   'set       Dimage=\!:1 ; set       Dpalette=\!:2                                          ;    \\
                                         Gamma     $Gamma                                                                         ;    \\
                                    $xci/vraies_C$X   A=$Dimage RR=$nomT$ROUGE RV=$nomT$VERTE RB=$nomT$BLEUE p=$Dpalette $FormatI ;    \\
                                         $xci/display_RVB$X AR=$nomT$ROUGE AV=$nomT$VERTE AB=$nomT$BLEUE $synchro $FormatI        ;    \\
                                         unset     Dimage ; unset     Dpalette'
                                        # Commande d'affichage des images. Malheureusement, cette solution n'est pas parfaitement     #
                                        # deterministe, car en effet, si l'ecran est au repos, le temps necessaire au retour de la    #
                                        # video peut etre important (en particulier, apparemment, si la machine est chargee), d'ou    #
                                        # la temporisation...                                                                         #
          endif

          $xci/feu_init$X     feu=$feu_disqueP
          $xci/feu_init$X     feu=$feu_display_RVB

          alias     SYNCHROr  '$xci/feu_rouge$X             feu=$feu_display_RVB                                                  ;    \\
                               $xci/feu_rouge$X             feu=$feu_disqueP'
          alias     SYNCHROv  '$xci/feu_vert$X              feu=$feu_disqueP'
          alias     ATTENDREi '$xci/feu_attendre$X          feu=$feu_display_RVB time-out=$Ptime_out                              ;    \\
                               set                          status_feu=$status'
                                        # Commandes de synchronisation.                                                               #
          alias     ITERE     'set       Iimage=\!:1 ; set       Ipalette=\!:2                                                    ;    \\
                               EROR      "Time-out sur la commande DISPLAY,"                                                      ;    \\
                               EROR      "il y a des processus en attente a killer."                                              ;    \\
                               DISPLAY   $Iimage $Ipalette                                                                        ;    \\
                               unset     Iimage Ipalette'
                                        # Commande d'iteration une fois sur defaut de "time-out".                                     #
          breaksw
     case "SYSTEME_SGIND3GA_IRIX_CC":
     case "SYSTEME_SGIND4GA_IRIX_CC":
     case "SYSTEME_SGIND5GA_IRIX_CC":
     case "SYSTEME_SGIND8GA_IRIX_CC":
     case "SYSTEME_SGINDAGA_IRIX_CC":
     case "SYSTEME_SGO252VA_IRIX_CC":
     case "SYSTEME_SGO252VN_IRIX_CC":
          FileTmpB  nomT

          set       Attendre="Attendre=VRAI Bloquer=FAUX"
                                        # Le 20010917175108, j'ai ajoute cette facon supplementaire d'attendre les images             #
                                        # inexistantes. En effet, il y a bien sur une boucle de test situee plus loin qui teste la    #
                                        # pre-existence des images. Mais il peut arriver, par accident, qu'une image soit detruite    #
                                        # apres avoir ete testee existante. Cela s'est produit le 20010917170419, lors de             #
                                        # l'enregistrement de la sequence :                                                           #
                                        #                                                                                             #
                                        #                   xivPdf 14 1 / 003585_004096                                               #
                                        #                                                                                             #
                                        # en ce qui concerne l'image '$xiim_LACT14/ACIN.8.0456' qui a ete compressee entre le         #
                                        # moment du test de pre-existence et son utilisation. Il a fallu donc debloquer la            #
                                        # situation a la main, alors que ce nouveau dispositif aurait permit la poursuite de          #
                                        # l'enregistrement "sans douleur"...                                                          #
                                        #                                                                                             #
                                        # Malgre tout on notera qu'il faut sortir les messages d'erreur ("Bloquer=FAUX") afin de      #
                                        # savoir ce qu'il se passe...                                                                 #

          set       Ptemporisation=8
                                        # Duree de temporisation pour '$xci/display_RVB$X'...                                         #

          set       synchro="$K_VIDE"
          set       synchro="$synchro"" duree=$Ptemporisation video=VRAI genlock=VRAI minimum=32 synchronisation=VRAI trx=0.0 try=0.0"
          set       synchro="$synchro"" X_Window=FAUX"
          set       synchro="$synchro"" redimensionner=$Redimensionner methode=1"
                                        # On notera l'option "minimum=" destinee a renforcer les basses luminances...                 #
          set       Blocage="VRAI"
          set       synchro="$synchro"" blocage=$Blocage"
                                        # On notera l'introduction du forcage explicite du "blocage=" le 19980702133654 qui jusqu'a   #
                                        # present etait implicite. Cela a ete fait pour pouvoir, lorsque "blocage=VRAI", inhiber le   #
                                        # detecteur de "time-out"....                                                                 #
          set       synchro="$synchro"" $Attendre"
                                        # On notera donc l'introduction d'une nouvelle possibilite d'attente le 20010917175108.       #

          if        ($Blocage == "VRAI") then
                    @         Ptime_out = $Annee * $MoisExces * $Jour * $Heure * $Minute
                                        # Duree de detection des "time-out" sur la commande 'DISPLAY' lorsque '$xci/Sdisplay_RVB$X'   #
                                        # se bloque sur un defaut : il ne faut plus qu'il y ait de detection de "time-out" et pour    #
                                        # cela une duree superieure a une annee est choisie (en esperant qu'entre-temps le defaut     #
                                        # aura ete detecte...).                                                                       #
          else
                    set       Ptime_out=$MINUTE
                                        # Duree de detection des "time-out" sur la commande 'DISPLAY' lorsque '$xci/Sdisplay_RVB$X'   #
                                        # ne se bloque pas sur un defaut...                                                           #
          endif

          if        ("$Palette" == "$RVB_DKVP") then
               alias     DISPLAY   'set       Dimage=\!:1                                                                         ;    \\
                                    $xci/Sdisplay_RVB$X AR=$Dimage$ROUGE AV=$Dimage$VERTE AB=$Dimage$BLEUE $synchro $FormatI      ;    \\
                                    unset     Dimage'
                                        # Commande d'affichage des images. Malheureusement, cette solution n'est pas parfaitement     #
                                        # deterministe, car en effet, si l'ecran est au repos, le temps necessaire au retour de la    #
                                        # video peut etre important (en particulier, apparemment, si la machine est chargee), d'ou    #
                                        # la temporisation. Le 1995102300 la commande '$xci/display_RVB$X' a ete remplacee par la     #
                                        # commande '$xci/Sdisplay_RVB$X' dont les besoins en memoire sont plus restreints, ce qui     #
                                        # permet de retarder l'apparition du probleme :                                               #
                                        #                                                                                             #
                                        #                   WARNING: Frame transfer aborted: analog video input not locked            #
                                        #                                                                                             #
          else
               alias     DISPLAY   'set       Dimage=\!:1 ; set       Dpalette=\!:2                                               ;    \\
                                    $xci/vraies_C$X   A=$Dimage $Attendre RVB=VRAI R=$nomT p=$Dpalette $FormatI                   ;    \\
                                    $xci/Sdisplay_RVB$X AR=$nomT$ROUGE AV=$nomT$VERTE AB=$nomT$BLEUE $synchro $FormatI            ;    \\
                                    unset     Dimage ; unset     Dpalette'
                                        # Commande d'affichage des images. Malheureusement, cette solution n'est pas parfaitement     #
                                        # deterministe, car en effet, si l'ecran est au repos, le temps necessaire au retour de la    #
                                        # video peut etre important (en particulier, apparemment, si la machine est chargee), d'ou    #
                                        # la temporisation. Le 1995102300 la commande '$xci/display_RVB$X' a ete remplacee par la     #
                                        # commande '$xci/Sdisplay_RVB$X' dont les besoins en memoire sont plus restreints, ce qui     #
                                        # permet de retarder l'apparition du probleme :                                               #
                                        #                                                                                             #
                                        #                   WARNING: Frame transfer aborted: analog video input not locked            #
                                        #                                                                                             #
                                        # On notera donc l'introduction d'une nouvelle possibilite d'attente le 20010917175108.       #
          endif

          $xci/feu_init$X     feu=$feu_disqueP
          $xci/feu_init$X     feu=$feu_display_RVB

          alias     SYNCHROr  '$xci/feu_rouge$X             feu=$feu_display_RVB                                                  ;    \\
                               $xci/feu_rouge$X             feu=$feu_disqueP'
          alias     SYNCHROv  '$xci/feu_vert$X              feu=$feu_disqueP'
          alias     ATTENDREi '$xci/feu_attendre$X          feu=$feu_display_RVB time-out=$Ptime_out                              ;    \\
                               set                          status_feu=$status'
                                        # Commandes de synchronisation.                                                               #
          source    $Fdivers
                                        # Afin de definir l'alias 'Ivideo'...                                                         #
          alias     ITERE     'set       Iimage=\!:1 ; set       Ipalette=\!:2                                                    ;    \\
                               EROR      "Time-out sur la commande DISPLAY,"                                                      ;    \\
                               EROR      "il y a des processus en attente a killer."                                              ;    \\
                               Ivideo                                                                                             ;    \\
                               DISPLAY   $Iimage $Ipalette                                                                        ;    \\
                               unset     Iimage Ipalette'
                                        # Commande d'iteration une fois sur defaut de "time-out" apres reinitialisation de la carte   #
                                        # 'Galileo' apres le defaut ; en effet, sinon, apres on recupere sur la sortie 'RVB', et ce   #
                                        # entre chaque image enregistree, la sortie 'Pal' du disque... En effet, a chaque fois que    #
                                        # ce defaut est reapparu, on avait obtenu les messages suivants dans la sortie redirigee      #
                                        # de '$xci/disk_video_P$Z' :                                                                  #
                                        #                                                                                             #
                                        #                   VL connection to :0.0 broken (explicit kill or server shutdown).          #
                                        #                   kill processus sleep (id=...)                                             #
                                        #                   [$xci/disk_video_P.z][][] :: time-out sur la commande DISPLAY             #
                                        #                   [$xci/disk_video_P.z][][] :: il y a des processus en attente a killer     #
                                        #                                                                                             #
                                        # d'ou le lien de cause a effet verifie depuis...                                             #
          breaksw
     case "SYSTEME_IMPOSSIBLE":
     case "SYSTEME_APC_LinuxDebian_GCC":
     case "SYSTEME_APC_LinuxMandrake_GCC":
     case "SYSTEME_APC_LinuxRedHat_GCC":
     case "SYSTEME_APC_LinuxUbuntu_GCC":
     case "SYSTEME_APC_LinuxUbuntu_ICC":
     case "SYSTEME_APC_LinuxUlmint_GCC":
     case "SYSTEME_APC_LinuxUlmint_ICC":
     case "SYSTEME_CRAY2_UNICOS_CC":
     case "SYSTEME_CRAY2_UNICOS_SCC":
     case "SYSTEME_CRAYC98_UNICOS_CC":
     case "SYSTEME_CRAYC98_UNICOS_SCC":
     case "SYSTEME_CRAYC916_UNICOS_CC":
     case "SYSTEME_CRAYC916_UNICOS_SCC":
     case "SYSTEME_CRAYYMP1_UNICOS_CC":
     case "SYSTEME_CRAYYMP1_UNICOS_SCC":
     case "SYSTEME_CRAYYMP2_UNICOS_CC":
     case "SYSTEME_CRAYYMP2_UNICOS_SCC":
     case "SYSTEME_CRAYYMP4_UNICOS_CC":
     case "SYSTEME_CRAYYMP4_UNICOS_SCC":
     case "SYSTEME_DECALPHA340_OSF1_CC":
     case "SYSTEME_DECALPHA340_OSF1_GCC":
     case "SYSTEME_DECALPHA350_OSF1_CC":
     case "SYSTEME_DECALPHA350_OSF1_GCC":
     case "SYSTEME_DECALPHA464_OSF1_CC":
     case "SYSTEME_DPX2000_SPIX_CC":
     case "SYSTEME_ES9000_AIX_CC":
     case "SYSTEME_FX2800_CONCENTRIX_FXC":
     case "SYSTEME_FX2800_CONCENTRIX_PCC":
     case "SYSTEME_FX2800_CONCENTRIX_SCC":
     case "SYSTEME_FX40_CONCENTRIX_CC":
     case "SYSTEME_FX40_CONCENTRIX_FXC":
     case "SYSTEME_HP705_HPUX_CC":
     case "SYSTEME_HP710_HPUX_CC":
     case "SYSTEME_HP720_HPUX_CC":
     case "SYSTEME_HP750_HPUX_CC":
     case "SYSTEME_HP755_HPUX_CC":
     case "SYSTEME_HP819_HPUX_CC":
     case "SYSTEME_NWS3000_NEWSOS_CC":
     case "SYSTEME_NWS3000_NEWSOS_2CC":
     case "SYSTEME_RS6000_AIX_CC":
     case "SYSTEME_SGO200A1_IRIX_CC":
     case "SYSTEME_SGO200A2_IRIX_CC":
     case "SYSTEME_SGO200A4_IRIX_CC":
     case "SYSTEME_SGPCM801_IRIX_CC":
     case "SYSTEME_SGPCMA01_IRIX_CC":
     case "SYSTEME_SPS9_ROS_CC":
     case "SYSTEME_SPS9_ROS_RC":
     case "SYSTEME_SUN3_SUNOS_CC":
     case "SYSTEME_SUN4_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
     case "SYSTEME_VAX8600_ULTRIX_CC":
     case "SYSTEME_VAX8600_ULTRIX_VCC":
     case "SYSTEME_VAX9000_ULTRIX_CC":
     case "SYSTEME_VAX9000_ULTRIX_GCC"
     case "SYSTEME_VAX9000_ULTRIX_VCC":
          alias     SYNCHROr  ''
          alias     SYNCHROv  ''
          alias     ATTENDREi 'set       status_feu=$OK'
                                        # Commandes de synchronisation (ineffective).                                                 #
          alias     ITERE     'set  ArGuMeNtS=(\!*) ; echo "$ArGuMeNtS" >& $nul ; unset ArGuMeNtS'
                                        # Commande d'iteration sur defaut de "time-out" (ineffective). Nota : l'echo sur '$nul' n'est #
                                        # la que pour permettre, dans le cas ou 'ITERE' est ineffectif, de "nettoyer" le buffer des   #
                                        # commandes ; faire :                                                                         #
                                        #                                                                                             #
                                        #                   alias     ITERE     ''                                                    #
                                        #                                                                                             #
                                        # aurait pour effet d'utiliser le premier argument comme nom de commande, et les suivants     #
                                        # comme ses arguments...                                                                      #
          alias     DISPLAY   'set       Dimage=\!:1 ; set       Dpalette=\!:2                                                    ;    \\
                               echo      A=$Dimage p=$Dpalette                                                                    ;    \\
                               unset     Dimage ; unset     Dpalette'
                                        # Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens :                             #
          EROR      "Une sequence n'a pas de sens pour '"$SYSTEME"'."
          breaksw
     default:
                                        # Cas des SYSTEMEs non reconnus :                                                             #
          EROR      "Variable 'SYSTEME' (='$SYSTEME') inconnue."
          breaksw
endsw

alias     ERRORkP1  'set       Dfonction=\!:1                                                                                     ;    \\
                     EROR      "Probleme avec le disque lors de $K_QS$Dfonction$K_QS,"                                            ;    \\
                     EROR      "pour continuer $K_QS$K_DOLLAR""xci/disk_video_P$K_DOLLAR""Z$K_QS, taper <ENTER>,"                 ;    \\
                     EROR      "pour aborter $K_QS$K_DOLLAR""xci/disk_video_P$K_DOLLAR""Z$K_QS, faire un <CTRL-C><ENTER>."        ;    \\
                     EROR      "Si un abort est effectue, faire ensuite :"                                                        ;    \\
                     unset     Dfonction'
                                        # Cas des erreurs qui peuvent demander un abandon "manuel" de '$xci/disk_video_P$Z'...        #
alias     ERRORkP2  'set       InCrEmEnT="\!*" ; if ("$InCrEmEnT" == "$K_VIDE") set       InCrEmEnT=1                             ;    \\
                     if        ("$PCourante" == "$K_VIDE") echo "$Prompt""delete    $Sequence"                                    ;    \\
                     if        ("$PCourante" != "$K_VIDE") echo "$Prompt""mv        $Sequence $Premiere$limiteur_DKVP$PCourante"  ;    \\
                     if        ("$PCourante" != "$K_VIDE") echo "$Prompt""Punite    $Premiere$limiteur_DKVP$PCourante"            ;    \\
                     if        ("$PCourante" != "$K_VIDE") echo "puis relancer avec premiere="`expr $Numero_image + $InCrEmEnT`   ;    \\
                     unset     InCrEmEnT'
                                        # Edition de differentes commandes utiles en cas d'abandon manuel...                          #
alias     ERRORkP3  'echo      "ATTENTION verifier si la derniere image ($K_QS$Courante$K_QS) a ete enregistree."                 ;    \\
                     echo      "si oui, faire :"  ; saut                                                                          ;    \\
                     echo      "$Prompt""mv        $Sequence $Premiere$limiteur_DKVP$Courante"                                    ;    \\
                     echo      "$Prompt""Punite    $Premiere$limiteur_DKVP$Courante"  ; saut  2                                   ;    \\
                     if        ("$PCourante" != "$K_VIDE") echo "puis relancer avec premiere="`expr $Numero_image + 1`            ;    \\
                     echo      "si non, il faut detruire la derniere ligne du fichier sequence, puis faire :"  ; saut             ;    \\
                     ERRORkP2  0'
                                        # Edition de differentes commandes utiles en cas d'abandon manuel...                          #

if   (("$Disque" != "$K_VIDE") && ("$Face" != "$K_VIDE")) then
     set  disque=$xivP$K_sepS$Ndisk_DKVP$Disque$K_sepS$Nface_DKVP$Face
                                        # Definition du directory contenant les images du disque et de la face demandes.              #
     if   (-e $disque) then
          if   (("$initialisation" == "Initialisation") || ("$initialisation" == "rien")) then
                                        # Test introduit bien tardivement le 20040315091441...                                        #
               $xci/disk_video_P$X commande="$initialisation" affichage=VRAI
                                        # Initialisation a priori du disque.                                                          #
          else
               EROR "La fonction d'initialisation demandee '$initialisation' n'existe pas."
          endif

          if   ($status == $OK) then
               @    _Face = $Face
                                        # Conversion en numerique des arguments pour les tests qui suivent.                           #

               switch    ("$Emode")
                    case "$Sequence_DKVP":
                    case "$SequenceT_DKVP":
                    case "$debutS_DKVP":
                    case "$finS_DKVP":
                         set  Rdisque=`$xci/disk_video_P$X commande="Blecture" a=$Idisque_DKVP v=$Disque`
                                        # Recuperation du disque reellement present (sous forme alphabetique).                        #
                         if   ($status != $OK) then
                              ERRORkP1  "Blecture"
                              pause
                         else
                         endif

                         set  Rface=`$xci/disk_video_P$X commande="Blecture" a=$Iface_DKVP v=$_Face`
                         if   ($status != $OK) then
                              ERRORkP1  "Blecture"
                              pause
                         else
                         endif

                         @    Rface = $Rface                                    >& $nul
                         if   ($status != $OK) then
                              EROR "Le disque est fort probablement demonte, ou bien en mode local."
                         else
                         endif
                                        # Recuperation de la face reellement presente (sous forme numerique). ATTENTION : ce          #
                                        # commentaire doit etre apres le test de '$status', c'est plus prudent...                     #
                         $xci/disk_video_P$X commande="recherche" a=$imageR_DKVP
                                        # Puis, a priori, on retourne a la premiere image. On lira avec interet les commentaires      #
                                        # relatifs a la definition de '$imageR_DKVP' dans 'v $Fdisk_video_P'...                       #
                         if   ($status != $OK) then
                              ERRORkP1  "recherche"
                              pause
                         else
                         endif

                         breaksw
                    case "$ajoutS_DKVP":
                         set  Rdisque=$Disque
                         set  Rface=$_Face
                                        # On fait comme si le disque etait le bon...                                                  #
                         breaksw
                    default:
                         EROR "Le mode n'est pas reconnu."
                         set  Rdisque=`$xci/disk_video_P$X commande="Blecture" a=$Idisque_DKVP v=$Disque`
                                        # Recuperation du disque reellement present (sous forme alphabetique).                        #
                         set  Rface=`$xci/disk_video_P$X commande="Blecture" a=$Iface_DKVP v=$_Face`
                         @    Rface = $Rface                                    >& $nul
                         if   ($status != $OK) then
                              EROR "Le disque est fort probablement demonte, ou bien en mode local."
                         else
                         endif
                                        # Recuperation de la face reellement presente (sous forme numerique). ATTENTION : ce          #
                                        # commentaire doit etre apres le test de '$status', c'est plus prudent...                     #
                         $xci/disk_video_P$X commande="recherche" a=$imageR_DKVP
                                        # Puis, a priori, on retourne a la premiere image.                                            #
                         breaksw
               endsw

               if   (($Rdisque == $Disque) && ($Rface == $_Face)) then
                    FileTmpB  Fliste
                    set       FTliste=$Fliste$w
                                        # Generation d'un fichier temporaire destine a contenir la liste des numeros d'image, et      #
                                        # son nettoyage a priori...                                                                   #

                    set  Image_unique="UNIQUE"
                                        # Code destine a indiquer qu'il s'agit d'une image unique et non pas d'une sequence...        #

                    if   (($premiereI == $Image_unique) && ($derniereI == $Image_unique)) then
                         echo           $Image_unique                                                                                   \
                                                                                                    > $Fliste
                         set            Gliste=$status
                                        # Cas ou la liste se reduit a une image unique de nom donne (sans numero a generer...).       #
                    else
                         $xci/nombres$X A=$K_VIDE p=$premiereI d=$derniereI pas=$Pas lignes=VRAI                                        \
                                                                                                    > $Fliste
                         set            Gliste=$status
                                        # Recuperation de la liste des images a visualiser, mais on notera qu'autrefois je            #
                                        # faisais :                                                                                   #
                                        #                                                                                             #
                                        #                   set  liste=`$FINDc -type f -name $racine\* -print | $SOR`                 #
                                        #                                                                                             #
                                        # cette modification provenant de l'introduction du mode "RVB"...                             #
                                        #                                                                                             #
                                        # ATTENTION, autrefois, je faisais :                                                          #
                                        #                                                                                             #
                                        #                   set  liste=`$xci/nombres$X A=$racine p=$premiereI d=$derniereI pas=$Pas`  #
                                        #                                                                                             #
                                        # mais l'inconvenient est que l'on risque de generer ainsi une liste qui demande trop         #
                                        # d'octets par rapport a ce que le 'C-Shell' de ce SYSTEME tolere...                          #
                    endif

                    set  Nliste=`$CA $Fliste | $WC`
                    set  Nliste=$Nliste[$WC1]
                                        # Nombre d'images reellement a enregistrer...                                                 #

                    if   (($Gliste == $OK) && ($Nliste >= 1)) then
                                        # ATTENTION, le test de '$status' est destine a valider l'operation d'initialisation de       #
                                        # '$liste' ci-dessus. En effet, la longueur (en octets de tels "objets" est limitee par les   #
                                        # 'C-Shells" et ce de facon variable suivant les SYSTEMEs...).                                #
                         CD   $disque
                                        # Placons nous dans le directory correspondant au disque et a la face demandes.               #

                         set  last=`$FIN $Dcourant $follow -type f -name \[0-9\]\*$limiteur_DKVP\[0-9\]\* -print | $SOR | $TAI -1`
                                        # ATTENTION, autrefois, je faisais :                                                          #
                                        #                                                                                             #
                                        #                   set  last=`$FIN ... ! -name $Fnota ! -name \*$Y ! -name \*$Z -print...`   #
                                        #                                                                                             #
                                        # mais cela presentait un defaut lorsque, par exemple, un fichier '$Fdump' apparaissait...    #
                                        # En procedant ainsi, la probabilite est tres faible de voir un fichier autre qu'un           #
                                        # descripteur de sequence apparaisse en queue de la liste ici recuperee...                    #
                         set  last=`echo $last | $SE -e "s/$INUTILE"'$//'`
                         set  last=`echo $last | $R "$K_NL" "$K_BLANC"`
                         set  last=`echo $last | $R "$Dcourant" "$K_BLANC"`
                         set  last=`echo $last | $R "$K_sepS" "$K_BLANC"`
                         set  Slast=$last
                         set  last=("PAS_DE_SEQUENCE" $last)
                         set  last=$last[$#last]
                                        # Recuperation de la derniere sequence enregistree, la suppression de l'eventuel '$INUTILE'   #
                                        # ayant ete introduite le 20020228101042.                                                     #

                         if   ($last == "PAS_DE_SEQUENCE") then
                              @    premiereP = $image1_DKVP - 1
                              set  precedenteP=$premiereP
                                        # Lorsqu'aucune image n'a ete enregistree, on commence sur la 1 qui est inaccessible          #
                                        # ce qui n'a aucune importance puisqu'on va la sauter (a noter le '-1' rendu necessaire       #
                                        # par le '+1' qui est ci-dessous.                                                             #
                         else
                              set  premiereP=`echo $last | $R "$limiteur_DKVP" "$K_BLANC"`
                              if   ($#premiereP == 2) then
                                   set  precedenteP=$premiereP[$debut_DKVP]
                                        # On conserve le debut de la derniere sequence enregistree.                                   #
                                   set  premiereP=$premiereP[$fin_DKVP]
                                        # Lorsque des images ont ete enregistrees, on recupere la derniere.                           #
                              else
                                   EROR "Un nom de sequence est bizarre."
                                   set  precedenteP=$premiereP[$debut_DKVP]
                                   set  premiereP=$premiereP[$debut_DKVP]
                              endif
                         endif

                         @    premiereP = $premiereP + 1
                                        # Numero de la premiere image a enregistrer.                                                  #
                         @    derniereP = $premiereP + $Nliste
                         @    derniereP = $derniereP - 1
                                        # Numero de la derniere image a enregistrer.                                                  #

                         if        ($derniereP > $imageN_DKVP) then
                                   EROR      "La sequence est trop longue par rapport a la place restant a priori disponible"
                                   EROR      "(le disque/face demande est '$disque')."
                                   pause
                         else
                         endif

                         set       LzSeQuEnCe=`ls | $GRE "^$MalImplante_DKVP""[0-9][_0-9]*$K_DOLLAR"`
                                        # Regardons s'il y a des sequences mal implantees...                                          #
                         if        ("$LzSeQuEnCe" != "$K_VIDE") then
                                        # Cas ou il y au moins une sequence mal implantee :                                           #
                                   foreach   zSeQuEnCe ($LzSeQuEnCe)
                                             set       zSeQuEnCePD=`echo $zSeQuEnCe | $SE -e "s/^$MalImplante_DKVP//"`
                                             set       zSeQuEnCePD=`echo $zSeQuEnCePD | $R "$limiteur_DKVP" "$K_BLANC"`
                                             set       premiereZ=$zSeQuEnCePD[$debut_DKVP]
                                             set       derniereZ=$zSeQuEnCePD[$fin_DKVP]
                                        # Test pour chaque sequence mal implantee.                                                    #

                                             if        (    (    ($premiereP >= $premiereZ)                                             \
                                                            &&   ($premiereP <= $derniereZ)                                             \
                                                             )                                                                          \
                                                       ||   (    ($derniereP >= $premiereZ)                                             \
                                                            &&   ($derniereP <= $derniereZ)                                             \
                                                             )                                                                          \
                                                       ||   (    ($premiereP <  $premiereZ)                                             \
                                                            &&   ($derniereP >  $derniereZ)                                             \
                                                             )                                                                          \
                                                        ) then
                                                       EROR      "La sequence chevauche la sequence mal implantee '$zSeQuEnCe'."
                                                       pause
                                             else
                                             endif
                                   end
                         endif

                         unset     LzSeQuEnCe zSeQuEnCe zSeQuEnCePD premiereZ derniereZ

                         set  Precedente=`$xci/nombres$X A="$K_VIDE" p=$precedenteP d=$precedenteP n=$chiffres_DKVP`
                         set  Premiere=`$xci/nombres$X A="$K_VIDE" p=$premiereP d=$premiereP n=$chiffres_DKVP`
                         set  Derniere=`$xci/nombres$X A="$K_VIDE" p=$derniereP d=$derniereP n=$chiffres_DKVP`
                                        # Nota : on fait la generation des deux numeros en deux fois afin d'eliminer                  #
                                        # le 'BLANC' que '$xci/nombres$X' place derriere chaque numero.                               #

                         switch    ("$Emode")
                              case "$Sequence_DKVP":
                              case "$SequenceT_DKVP":
                              case "$debutS_DKVP":
                                   set  Sequence=$Premiere$limiteur_DKVP$Derniere
                                        # Nom de la sequence a generer.                                                               #
                                   set  Debut=$Premiere
                                        # Adresse du debut de la sequence a visionner avant l'enregistrement.                         #
                                   breaksw
                              case "$ajoutS_DKVP":
                              case "$finS_DKVP":
                                   if   (-e $Slast) then
                                        set  Sequence=$Precedente$limiteur_DKVP$Derniere
                                        # Nom de la sequence a generer.                                                               #
                                        set  Debut=$Precedente
                                        # Adresse du debut de la sequence a visionner avant l'enregistrement.                         #
                                        if   (! -e $Sequence) then
                                             $MV  $Slast $Sequence
                                             rw   $Sequence
                                        else
                                             EROR "La sequence '$Sequence' existe deja."
                                        endif
                                        # On change le nom de la sequence precedente afin d'integrer les nouvelles images             #
                                        # et on l'autorise en ecriture.                                                               #
                                   else
                                        set  Sequence=$Premiere$limiteur_DKVP$Derniere
                                        # Nom de la sequence a generer.                                                               #
                                        set  Debut=$Premiere
                                        # Adresse du debut de la sequence a visionner avant l'enregistrement.                         #
                                   endif
                                   breaksw
                              default:
                                   EROR      "Le mode n'est pas reconnu, on force '$debutS_DKVP'."
                                   set  Sequence=$Premiere$limiteur_DKVP$Derniere
                                        # Nom de la sequence a generer.                                                               #
                                   set  Debut=$Premiere
                                        # Adresse du debut de la sequence a visionner avant l'enregistrement.                         #
                                   breaksw
                         endsw

                         if   (($Emode == $debutS_DKVP) && (-e $Sequence)) then
                              EROR "BIZARRE, la sequence existe deja ($disque$K_sepS$Sequence)."
                         else
                              if   ($?X_WINDOW == $EXIST) then
                                   (XSET s off)                                 >& $nul
                                        # On inhibe l'economiseur d'ecran afin d'etre sur d'avoir toujours l'image...                 #
                              else
                              endif

                              switch    ("$Emode")
                                   case "$ajoutS_DKVP":
                                   case "$finS_DKVP":
                                        breaksw
                                   case "$Sequence_DKVP":
                                   case "$SequenceT_DKVP":
                                   case "$debutS_DKVP":
                                        echo `d`                                                    >>! $Sequence
                                        # ATTENTION, on verra dans le fichier 'v $Fdisk_video_P' l'usage qui est fait de la date via  #
                                        #                                                                                             #
                                        #                   $AW /.:..:./,/palette/ $Se1                                               #
                                        #                                                                                             #
                                        #                       \______/                                                              #
                                        #                                                                                             #
                                        #             (Heures, Minutes,  Secondes)                                                    #
                                        #                                                                                             #
                                        # dans l'alias 'xivPdf'.                                                                      #
                                        echo "systeme   = "$dSYSTEME                                >>! $Sequence
                                        echo "machine   = "$sHOTE                                   >>! $Sequence
                                        saut                                                        >>! $Sequence
                                        if        ("$Palette" == "$RVB_DKVP") then
                                                  echo "palette   = "$Palette                                 >>! $Sequence
                                        else
                                                  Grelatif  $Palette $xiP
                                                  if        ("$nomR" != "$Palette") then
                                                            echo "palette   = "'$xiP'"$K_sepS"$nomR                     >>! $Sequence
                                                  else
                                                            echo "palette   = "$Palette                                 >>! $Sequence
                                                  endif
                                        endif

                                        saut                                                        >>! $Sequence
                                        breaksw
                                   default:
                                        EROR "Le mode n'est pas reconnu."
                                        breaksw
                              endsw

                              set  couranteP=$premiereP
                                        # Numero de l'image courante a enregistrer.                                                   #
                              set  Periode=0
                                        # Afin de controler la periodicite de diffusion de l'etat courant de la sequence enregistree  #
                                        # lorsque cette operation est demandee via '$Rec_view_DKVP'...                                #

                              set  PCourante="$K_VIDE"
                                        # Afin de savoir que l'on est en train d'enregistrer la premiere image...                     #

                              set       Iliste=$EXIST
                                        # Afin de controler la fin de l'iteration sur les images...                                   #

                              while     ($Iliste == $EXIST)
                                        # ATTENTION, il y avait autrefois ici un 'foreach(...)', mais un debordement de sa capacite   #
                                        # a ete mis en evidence lors de l'enregistrement de :                                         #
                                        #                                                                                             #
                                        #                   xivPdf 4 2 / 000768_001767                                                #
                                        #                                                                                             #
                                        # d'ou cette nouvelle solution...                                                             #
                                   set       numero_image=`$CA $Fliste | $HEA -1`
                                        # Recuperation de l'image courante (c'est-a-dire la premiere de la liste),                    #
                                   $CA       $Fliste                                                                                    \
                                                                 | $NL                                                                  \
                                                                 | $R        "$K_TAB" "$K_BLANC"                                        \
                                                                 | $SE       -e "/^ *1 /d"                                              \
                                                                 | $AW       ' { print $2 } '                                           \
                                                                                                    > $FTliste
                                   $DELETE   $Fliste
                                   $MV       $FTliste $Fliste
                                        # Puis sa suppression de la liste...                                                          #
                                        #                                                                                             #
                                        # ATTENTION, j'ai essaye :                                                                    #
                                        #                                                                                             #
                                        #                   $E        $Fliste                       << fin_suppression  >& $nul       #
                                        #                   1d                                                                        #
                                        #                   w                                                                         #
                                        #                   q                                                                         #
                                        #                   fin_suppression                                                           #
                                        #                                                                                             #
                                        # mais malheureusement, sur 'SYSTEME_SG...' cela ne marche pas pour la derniere ligne, qui    #
                                        # ne disparait jamais. Ce probleme est explique dans 'v $xamco/19951221114941' (en            #
                                        # particulier c'est l'usage de '$E' qui provoque cela...).                                    #
                                   SIZE      $Fliste
                                   if        ($Fsize == 0) then
                                             set  Iliste=$NEXIST
                                        # La liste etant vide, il n'y aura pas de prochaine iteration...                              #
                                   else
                                   endif

                                   set       Numero_image=$numero_image
                                   genom0    Numero_image
                                        # Generation d'un numero d'image propre a etre utilise dans 'ERRORkP2' et 'ERRORkP3'...       #

                                   if   ($numero_image == $Image_unique) then
                                        set  ImagC="$racine""$Postfixe"
                                        # Cas d'une image unique qui ne possede donc pas de numero...                                 #
                                        if   ($Nliste != 1) then
                                             EROR      "La liste des numeros a plus d'un element pour une image unique."
                                        else
                                        endif
                                   else
                                        set  ImagC="$racine$numero_image""$Postfixe"
                                        # Absolutisation du nom de l'image. Rappelons que l'on procede ainsi dorenavant afin de faire #
                                        # que '$liste' ne contenant plus que le numero des images occupe moins d'octets et risque     #
                                        # donc moins de deborder (ce qui est detecte par un test de '$status' ci-dessus...).          #
                                   endif

                                   if   ($couranteP <= $imageN_DKVP) then
                                        set  Courante=`$xci/nombres$X A="$K_VIDE" p=$couranteP d=$couranteP chiffres=$chiffres_DKVP`

                                        @    Periode = $Periode + 1
                                        # Afin de controler la periodicite de diffusion de l'etat courant de la sequence enregistree  #
                                        # lorsque cette operation est demandee via '$Rec_view_DKVP'...                                #

                                        if   (($?Rec_view_DKVP == $NEXIST) || ($Periode < $Per_view_DKVP)) then
                                             $xci/disk_video_P$X commande="recherche" adresse=$couranteP
                                        # Positionnement direct sur l'image courante.                                                 #
                                             if   ($status != $OK) then
                                                  $xci/disk_video_P$X commande="recherche" adresse=$couranteP
                                        # Lorsqu'il y a eu une erreur dans la recherche precedente, on retente une deuxieme fois (car #
                                        # en effet, la deuxieme fois, en general, cela marche mieux...), ce qui evite d'interrompre   #
                                        # le processus qui est deja bien assez long comme cela en temps normal...                     #
                                                  if   ($status != $OK) then
                                                       ERRORkP1  "recherche"
                                                       ERRORkP2  0
                                                       pause
                                                  else
                                                  endif
                                             else
                                             endif

                                        else
                                             $xci/disk_video_P$X commande="sequence" debut=$Debut fin=$couranteP
                                        # Positionnement sur l'image courante par visionnage de la sequence en cours.                 #
                                             if   ($status != $OK) then
                                                  ERRORkP1  "sequence"
                                                  ERRORkP2  0
                                                  pause
                                             else
                                             endif

                                        endif

                                        if   ($Periode >= $Per_view_DKVP) then
                                             set  Periode=0
                                        # Afin de controler la periodicite de diffusion de l'etat courant de la sequence enregistree  #
                                        # lorsque cette operation est demandee via '$Rec_view_DKVP'...                                #
                                        else
                                        endif

                                        set       etat_disque=`$xci/disk_video_P$X commande="etat"`
                                        # Recuperation de l'etat du disque.                                                           #
                                        if        ($status != $OK) then
                                                  ERRORkP1  "etat"
                                                  ERRORkP2  0
                                                  pause
                                        else
                                        endif

                                        while     ($#etat_disque < $etat_DKVP)
                                                  EROR      "L'etat du disque a un format anormal ('$etat_disque')."
                                                  set       etat_disque=`$xci/disk_video_P$X commande="etat"`
                                        # Et on attend que le format de l'etat du disque soit acceptable....                          #
                                                  if        ($status != $OK) then
                                                            ERRORkP1  "etat"
                                                            ERRORkP2  0
                                                            pause
                                                  else
                                                  endif
                                        end

                                        if   ($etat_disque[$etat_DKVP] == $inscriptible_DKVP) then
                                             set       Synchroniser=$EXIST
                                        # Afin de permettre un bouclage de ce qui suit, et d'ainsi se synchroniser sur un eventuel    #
                                        # producteur des images (cas ou elles sont produites et enregistrees simultanement...).       #

                                             while     ($Synchroniser == $EXIST)
                                                       set       FsizeR=$UNDEF
                                                       set       FsizeV=$UNDEF
                                                       set       FsizeB=$UNDEF
                                        # Ceci est destine a eviter le message :                                                      #
                                        #                                                                                             #
                                        #                   FsizeR: Undefined variable.                                               #
                                        #                                                                                             #
                                        # dans le test qui suivra et qui utilisent ces variables meme si elles n'ont pas ete          #
                                        # calculees et sont donc inutiles (cas ("$Palette" != "$RVB_DKVP"))...                        #
                                                       set       Fsize=$UNDEF
                                        # Meme remarque que precedemment...                                                           #

                                                       if   (    ("$Palette" == "$RVB_DKVP")                                            \
                                                            &&   (    (-e $Directory/$ImagC$ROUGE)                                      \
                                                                 &&   (-e $Directory/$ImagC$VERTE)                                      \
                                                                 &&   (-e $Directory/$ImagC$BLEUE)                                      \
                                                                  )                                                                     \
                                                             ) then
                                                            SIZE $Directory/$ImagC$ROUGE
                                                            set  FsizeR=$Fsize
                                                            SIZE $Directory/$ImagC$VERTE
                                                            set  FsizeV=$Fsize
                                                            SIZE $Directory/$ImagC$BLEUE
                                                            set  FsizeB=$Fsize
                                                       else
                                                            if   (("$Palette" != "$RVB_DKVP") && (-e $Directory/$ImagC)) then
                                                                 SIZE $Directory/$ImagC
                                                            else
                                                                 if   ($MessagE_DKVP == $EXIST) then
                                                                      EROR "L'image '$Directory/$ImagC' n'existe pas (1)."
                                                                 else
                                                                 endif
                                                            endif
                                                       endif

                                                       if   ($AdjTaille_DKVP == $EXIST) then
                                                            set  ChangeTaille=$NEXIST
                                        # A priori, on ne va pas tenter de changer automatiquement le format de l'image, bien que     #
                                        # l'on soit ici dans le cas ou cela est autorise par '$AdjTaille_DKVP'...                     #
                                                            if   ("$Palette" == "$RVB_DKVP") then
                                                                 if   (    (-e $Directory/$ImagC$ROUGE)                                 \
                                                                      &&   (-e $Directory/$ImagC$VERTE)                                 \
                                                                      &&   (-e $Directory/$ImagC$BLEUE)                                 \
                                                                       ) then
                                                                      if   (    (    ($FsizeR != $tailleI)                              \
                                                                                &&   ($FsizeV != $tailleI)                              \
                                                                                &&   ($FsizeB != $tailleI)                              \
                                                                                 )                                                      \
                                                                           &&   (    ($FsizeR == $FsizeV)                               \
                                                                                &&   ($FsizeV == $FsizeB)                               \
                                                                                &&   ($FsizeB == $FsizeR)                               \
                                                                                 )                                                      \
                                                                            ) then
                                                                           set  ChangeTaille=$EXIST
                                        # On va tenter un changement automatique du format de l'image...                              #
                                                                      else
                                                                      endif
                                                                 else
                                                                 endif
                                                            else
                                                                 if   (-e $Directory/$ImagC) then
                                                                      if   ($Fsize != $tailleI) then
                                                                           set  ChangeTaille=$EXIST
                                        # On va tenter un changement automatique du format de l'image...                              #
                                                                      else
                                                                      endif
                                                                 else
                                                                 endif
                                                            endif

                                                            if   ($ChangeTaille == $EXIST) then
                                                                 switch    ("$FormatI")
                                                                      case "$format_Std":
                                                                           Pal
                                        # Lorsqu'on etait en format 'Std', on tente le format 'Pal'...                                #
                                                                           breaksw
                                                                      case "$format_Pal":
                                                                           Std
                                        # Lorsqu'on etait en format 'Pal', on tente le format 'Std'...                                #
                                                                           breaksw
                                                                      default:
                                        # En ce qui concerne les autres formats, on ne fait rien...                                   #
                                                                           breaksw
                                                                 endsw

                                                                 set       FormatI="$formatI"
                                        # Puis mise a jour eventuelle du "vrai" '$formatI'...                                         #
                                                            else
                                                            endif

                                                            unset     ChangeTaille
                                                       else
                                                       endif

                                                       if   (    (    ("$Palette" == "$RVB_DKVP")                                       \
                                                                 &&   (    (    (-e $Directory/$ImagC$ROUGE)                            \
                                                                           &&   ($FsizeR == $tailleI)                                   \
                                                                            )                                                           \
                                                                      &&   (    (-e $Directory/$ImagC$VERTE)                            \
                                                                           &&   ($FsizeV == $tailleI)                                   \
                                                                            )                                                           \
                                                                      &&   (    (-e $Directory/$ImagC$BLEUE)                            \
                                                                           &&   ($FsizeB == $tailleI)                                   \
                                                                            )                                                           \
                                                                       )                                                                \
                                                                  )                                                                     \
                                                            ||   (    ("$Palette" != "$RVB_DKVP")                                       \
                                                                 &&   (    (-e $Directory/$ImagC)                                       \
                                                                      &&   ($Fsize == $tailleI)                                         \
                                                                       )                                                                \
                                                                  )                                                                     \
                                                             ) then

                                                            set       DRecord=`CtGenom 0 ; Genom0 ; RtGenom`
                                        # ATTENTION, a partir du 19980625095659, l'instant precis de l'enregistrement de chaque       #
                                        # image est memorise dans le fichier '$Sequence'. Cela a pose quelques petits problemes       #
                                        # dans le fichier 'xivPdf 3 2 / trouve.01$Z' dans l'alias 'Limage' ou il a fallu supprimer    #
                                        # cette indication qui apparait devant l'adresse de l'image. Ce sont ces contraintes qui      #
                                        # ont rendues necessaires l'impossibilite de mettre des espaces ci-dessous entre les trois    #
                                        # composantes {$DRecord,":",$Courante}.                                                       #

                                                            if   ($xCWD == $Icwd) then
                                                       echo "$DRecord$chronologie_DKVP$Courante"' --> '"$xCWD/$ImagC"   >>! $Sequence
                                                            else
                                                       echo "$DRecord$chronologie_DKVP$Courante"' --> $'"$xCWD/$ImagC"  >>! $Sequence
                                                            endif

                                                            unset     DRecord

                                                            SYNCHROr
                                                            DISPLAY $Directory/$ImagC $Palette
                                                            ATTENDREi
                                        # Tentative d'affichage de l'image courante, avec detection de "time-out"...                  #

                                                            while     ($status_feu != $OK)
                                        # Cas ou il y un "time-out" :                                                                 #
                                                                      set       kill_DKVP=$EXIST
                                                                      source    $Fdisk_video_P
                                                                      unset     kill_DKVP
                                        # Lorsqu'un "time-out" est detecte, il est absolument obligatoire de killer le process        #
                                        # '$xci/display_RVB$X' immediatement, car en effet, deux cas differents sont possibles :      #
                                        #                                                                                             #
                                        # 1-le blocage est du a la fonction 'winopen(...)' de la 'SGL' ; ce process ne se reveillera  #
                                        # plus jamais, et en fait, il ne serait pas necessaire de le tuer tout de suite.              #
                                        #                                                                                             #
                                        # 2-le blocage est du a un defaut 'NFS' (lorsque ceci est utilise...) ; ici, le defaut peut   #
                                        # n'etre que transitoire (cas ou par exemple ou la machine 'NFS' est en train de "rebooter"). #
                                        # Il y a donc alors le risque tres grand que lors de la disparition du defaut, le process     #
                                        # se reveille et affiche l'image en meme temps que le nouveau que l'on va creer ci-apres.     #
                                        # C'est ce deuxieme cas qui implique un kill du process '$xci/display_RVB$X'.                 #
                                        #                                                                                             #
                                        # Notons enfin, qu'il est impossible de faire la difference entre ces deux cas...             #

                                                                      SYNCHROr
                                        # Cette (re-)initialisation des feux est necessaire au cas ou le process '$xci/display_RVB$X' #
                                        # se serait reveille juste avant qu'on le tue...                                              #

                                                                      ITERE   $Directory/$ImagC $Palette
                                                                      ATTENDREi
                                        # Nouvelle tentative d'affichage de l'image courante, avec detection de "time-out"...         #
                                                            end

                                                            $xci/disk_video_P$X commande="enregistre" adresse=$couranteP
                                                            if   ($status != $OK) then
                                                                 ERRORkP1  "enregistre"
                                                                 ERRORkP3
                                                                 pause
                                                            else
                                                            endif

                                                            SYNCHROv
                                        # Display de l'image courante et enregistrement qui a lieu de la facon suivante :             #
                                        #                                                                                             #
                                        #                               |                                                             #
                                        #                     fROUGE(feu_display_RVB)                                                 #
                                        #                               |                                                             #
                                        #                               |                                                             #
                                        #                       fROUGE(feu_disqueP)                                                   #
                                        #                               |                                                             #
                                        #                               |                                                             #
                                        #                       $xci/display_RVB$X                                     #
                                        #                       ------------------                                                    #
                                        #                               |                                                             #
                                        #                               |-----------------> ouverture_de_la_fenetre                   #
                                        #                               |                              |                              #
                                        #                    ATTENDRE(feu_display_RVB)                 |                              #
                                        #                               .                    affichage__de_l'image                    #
                                        #                               .                              |                              #
                                        #                     [iteration eventuelle]              DODO(duree)                         #
                                        #                    [de  $xci/display_RVB$X]                   .                             #
                                        #                               .                              .                              #
                                        #                               .                              .                              #
                                        #                               .                              .                              #
                                        #                               | < - - - - - - - -  fVERT(feu_display_RVB)                   #
                                        #                      $xci/disk_video_P$X                     |               #
                                        #                      -------------------           ATTENDRE(feu_disqueP)                    #
                                        #                               |                              .                              #
                                        #                               |                              .                              #
                                        #                               |                              .                              #
                                        #                               |                              .                              #
                                        #                      fVERT(feu_disqueP) - - - - - - - - - >  |                              #
                                        #                               |                   fermeture_de_la_fenetre                   #
                                        #                               |                                                             #
                                        #                           suite...                                                          #
                                        #                                                                                             #

                                                            set       Synchroniser=$NEXIST
                                        # Puisque l'enregistrement a eu lieu, il ne faut plus boucler.                                #

                                                            if        ("$Deleter" == "VRAI") then
                                        # Lorsque cela est demande, l'image courante est detruite apres enregistrement, en general    #
                                        # afin de faire de la place lorsque, par exemple, le calcul d'une sequence longue a lieu      #
                                        # simultanement a l'enregistrement...                                                         #
                                                                      if        ("$Palette" == "$RVB_DKVP") then
                                                                                $DELETE   $Directory/$ImagC$ROUGE
                                                                                $DELETE   $Directory/$ImagC$VERTE
                                                                                $DELETE   $Directory/$ImagC$BLEUE
                                                                      else
                                                                                $DELETE   $Directory/$ImagC
                                                                      endif
                                                            else
                                                            endif

                                                            @         couranteP = $couranteP + 1
                                        # Numero de la prochaine image a enregistrer.                                                 #
                                                       else
                                                            if   ($MessagE_DKVP == $EXIST) then
                                                                 if   ("$Palette" == "$RVB_DKVP") then
                                                                      EROR      "L'image '$Directory/$ImagC' (RVB) n'existe pas (2),"
                                                                 else
                                                                      EROR      "L'image '$Directory/$ImagC' n'existe pas (2),"
                                                                 endif

                                                                 EROR      "ou sa taille n'est pas conforme au format attendu."
                                                            else
                                                            endif

                                                            if        ($Synchroniser_DKVP == $NEXIST) then
                                                                      set       Synchroniser=$NEXIST
                                        # Lorsque la synchronisation n'est pas demande, on sort de la boucle 'while(...)' meme en     #
                                        # cas d'erreur...                                                                             #
                                                            else
                                                            endif
                                                       endif

                                                       if   ($Synchroniser == $EXIST) then
                                                            sleep     $MINUTE
                                        # Lorsqu'il faut boucler sur l'image courante, on fait un petit dodo afin de ne pas editer    #
                                        # trop de messages d'erreur...                                                                #
                                                       else
                                                       endif
                                             end
                                        else
                                             EROR "La zone d'enregistrement est surement deja enregistree."
                                        endif
                                   else
                                        EROR "Le disque est sature."
                                   endif

                                   set  PCourante="$Courante"
                                        # Afin de memoriser l'image qui precedait l'image courante...                                 #
                              end

                              if   ($couranteP == $premiereP) then
                                   $DELETE_VALIDE $Sequence
                                        # Cas ou rien n'a ete enregistre (il n'y a eu que des erreurs...).                            #
                              else
                                   @    couranteP = $couranteP - 1
                                        # Lorsqu'au moins une image a ete enregistre, on revient sur la vraie derniere...             #
                                   if   ($couranteP != $derniereP) then
                                        set  Derniere=`$xci/nombres$X A="$K_VIDE" p=$couranteP d=$couranteP n=$chiffres_DKVP`
                                        set  Zequence=$Sequence
                                        set  Sequence=$Premiere$limiteur_DKVP$Derniere
                                        $MV  $Zequence $Sequence
                                        # Et on change le nom de la sequence afin de prendre en compte le nombre reel d'images qui    #
                                        # ont ete enregistrees lorsqu'il est different de ce qui avait ete prevu...                   #
                                   else
                                   endif
                                   $E   $Sequence                                    << fin_clear        >& $nul
1,\$s/\/\.\//\//
w
q
fin_clear
                                   ro   $Sequence
                                        # Protection du fichier catalogue.                                                            #
                              endif

                              switch    ("$Emode")
                                   case "$debutS_DKVP":
                                   case "$ajoutS_DKVP":
                                        breaksw
                                   case "$Sequence_DKVP":
                                   case "$SequenceT_DKVP":
                                   case "$finS_DKVP":
                                        if   (($?Ejection_DKVP == $EXIST) || ("$Ejecter" == "VRAI")) then
                                             $xci/disk_video_P$X commande="ejection"
                                        # Enfin, on ejecte le disque afin d'economiser le lecteur...                                  #
                                             if   ($status != $OK) then
                                                  ERRORkP1  "ejection"
                                                  pause
                                             else
                                             endif

                                        else
                                        endif
                                        if   (-e $disque/$Sequence) then
                                             unite     $disque/$Sequence
                                        # Et envoi du fichier catalogue a la machine de reference, quand il existe et ce au cas ou    #
                                        # '$mDKVP' n'est pas '$mREFERENCE'...                                                         #
                                        else
                                        endif
                                        breaksw
                                   default:
                                        EROR "Le mode n'est pas reconnu."
                                        breaksw
                              endsw

                              if   ($?X_WINDOW == $EXIST) then
                                   (XSET s on)                                  >& $nul
                                   (XSET s $X_TEMPORISATION)                    >& $nul
                                   (XSET s blank)                               >& $nul
                                        # A la fin, on re-autorise l'economiseur d'ecran...                                           #
                              else
                              endif
                         endif
                    else
                         EROR "La liste d'images argument est vide ou trop longue ($K_DOLLAR""status=$status)."
                    endif

                    FileTmpE  Fliste
                    unset     FTliste
               else
                    EROR "Le disque (ou la face) demande(e) n'est pas celui (celle) qui est monte(e),"
                    EROR "xivPdf $Disque $_Face a ete demande,"
                    EROR "xivPdf $Rdisque $Rface est monte."
               endif
          else
               EROR "Le disque 'PAL-Beta' n'est surement pas supporte par cette MACHINE."
          endif
     else
          EROR "Le nom du disque ou le numero de la face demande(s) n'existe(nt) pas."
     endif
else
     EROR "Le nom du disque et le numero de la face sont obligatoires."
endif

switch    ("$SYSTEME")
                                        # Nettoyage des images temporaires et des feux de synchronisation.                            #
                                        #                                                                                             #
                                        # Discrimination des differents SYSTEMEs possibles :                                          #
     case "SYSTEME_DPX5000_SPIX_CC":
          breaksw
     case "SYSTEME_SG4D20G_IRIX_CC":
     case "SYSTEME_SG4D25TG_IRIX_CC":
     case "SYSTEME_SG4D310VGX_IRIX_CC":
     case "SYSTEME_SG4D35TG_IRIX_CC":
     case "SYSTEME_SG4D85GT_IRIX_CC":
     case "SYSTEME_SGIND308_IRIX_CC":
     case "SYSTEME_SGIND324_IRIX_CC":
     case "SYSTEME_SGIND3GA_IRIX_CC":
     case "SYSTEME_SGIND408_IRIX_CC":
     case "SYSTEME_SGIND424_IRIX_CC":
     case "SYSTEME_SGIND4GA_IRIX_CC":
     case "SYSTEME_SGIND508_IRIX_CC":
     case "SYSTEME_SGIND524_IRIX_CC":
     case "SYSTEME_SGIND5GA_IRIX_CC":
     case "SYSTEME_SGIND808_IRIX_CC":
     case "SYSTEME_SGIND824_IRIX_CC":
     case "SYSTEME_SGIND8GA_IRIX_CC":
     case "SYSTEME_SGINDA08_IRIX_CC":
     case "SYSTEME_SGINDA24_IRIX_CC":
     case "SYSTEME_SGINDAGA_IRIX_CC":
     case "SYSTEME_SGO25224_IRIX_CC":
     case "SYSTEME_SGO252VA_IRIX_CC":
     case "SYSTEME_SGO252VN_IRIX_CC":
          FileTmpE            nomT
          $xci/feu_init$X     feu=$feu_disqueP
          breaksw
     case "SYSTEME_IMPOSSIBLE":
     case "SYSTEME_APC_LinuxDebian_GCC":
     case "SYSTEME_APC_LinuxMandrake_GCC":
     case "SYSTEME_APC_LinuxRedHat_GCC":
     case "SYSTEME_APC_LinuxUbuntu_GCC":
     case "SYSTEME_APC_LinuxUbuntu_ICC":
     case "SYSTEME_APC_LinuxUlmint_GCC":
     case "SYSTEME_APC_LinuxUlmint_ICC":
     case "SYSTEME_CRAY2_UNICOS_CC":
     case "SYSTEME_CRAY2_UNICOS_SCC":
     case "SYSTEME_CRAYC98_UNICOS_CC":
     case "SYSTEME_CRAYC98_UNICOS_SCC":
     case "SYSTEME_CRAYC916_UNICOS_CC":
     case "SYSTEME_CRAYC916_UNICOS_SCC":
     case "SYSTEME_CRAYYMP1_UNICOS_CC":
     case "SYSTEME_CRAYYMP1_UNICOS_SCC":
     case "SYSTEME_CRAYYMP2_UNICOS_CC":
     case "SYSTEME_CRAYYMP2_UNICOS_SCC":
     case "SYSTEME_CRAYYMP4_UNICOS_CC":
     case "SYSTEME_CRAYYMP4_UNICOS_SCC":
     case "SYSTEME_DECALPHA340_OSF1_CC":
     case "SYSTEME_DECALPHA340_OSF1_GCC":
     case "SYSTEME_DECALPHA350_OSF1_CC":
     case "SYSTEME_DECALPHA350_OSF1_GCC":
     case "SYSTEME_DECALPHA464_OSF1_CC":
     case "SYSTEME_DPX2000_SPIX_CC":
     case "SYSTEME_ES9000_AIX_CC":
     case "SYSTEME_FX2800_CONCENTRIX_FXC":
     case "SYSTEME_FX2800_CONCENTRIX_PCC":
     case "SYSTEME_FX2800_CONCENTRIX_SCC":
     case "SYSTEME_FX40_CONCENTRIX_CC":
     case "SYSTEME_FX40_CONCENTRIX_FXC":
     case "SYSTEME_HP705_HPUX_CC":
     case "SYSTEME_HP710_HPUX_CC":
     case "SYSTEME_HP720_HPUX_CC":
     case "SYSTEME_HP750_HPUX_CC":
     case "SYSTEME_HP755_HPUX_CC":
     case "SYSTEME_HP819_HPUX_CC":
     case "SYSTEME_NWS3000_NEWSOS_CC":
     case "SYSTEME_NWS3000_NEWSOS_2CC":
     case "SYSTEME_RS6000_AIX_CC":
     case "SYSTEME_SGO200A1_IRIX_CC":
     case "SYSTEME_SGO200A2_IRIX_CC":
     case "SYSTEME_SGO200A4_IRIX_CC":
     case "SYSTEME_SGPCM801_IRIX_CC":
     case "SYSTEME_SGPCMA01_IRIX_CC":
     case "SYSTEME_SPS9_ROS_CC":
     case "SYSTEME_SPS9_ROS_RC":
     case "SYSTEME_SUN3_SUNOS_CC":
     case "SYSTEME_SUN4_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
     case "SYSTEME_VAX8600_ULTRIX_CC":
     case "SYSTEME_VAX8600_ULTRIX_VCC":
     case "SYSTEME_VAX9000_ULTRIX_CC":
     case "SYSTEME_VAX9000_ULTRIX_GCC"
     case "SYSTEME_VAX9000_ULTRIX_VCC":
          EROR      "Une sequence n'a pas de sens pour '"$SYSTEME"'."
          breaksw
     default:
                                        # Cas des SYSTEMEs non reconnus :                                                             #
          EROR      "Variable 'SYSTEME' (='$SYSTEME') inconnue."
          breaksw
endsw

switch    ("$SYSTEME")
                                        # Restauration de la correction de gamma.                                                     #
                                        #                                                                                             #
                                        # Discrimination des differents SYSTEMEs possibles :                                          #
     case "SYSTEME_SG4D20G_IRIX_CC":
     case "SYSTEME_SG4D25TG_IRIX_CC":
     case "SYSTEME_SG4D310VGX_IRIX_CC":
     case "SYSTEME_SG4D35TG_IRIX_CC":
     case "SYSTEME_SG4D85GT_IRIX_CC":
     case "SYSTEME_SGIND308_IRIX_CC":
     case "SYSTEME_SGIND324_IRIX_CC":
     case "SYSTEME_SGIND408_IRIX_CC":
     case "SYSTEME_SGIND424_IRIX_CC":
     case "SYSTEME_SGIND508_IRIX_CC":
     case "SYSTEME_SGIND524_IRIX_CC":
     case "SYSTEME_SGIND808_IRIX_CC":
     case "SYSTEME_SGIND824_IRIX_CC":
     case "SYSTEME_SGINDA08_IRIX_CC":
     case "SYSTEME_SGINDA24_IRIX_CC":
     case "SYSTEME_SGO25224_IRIX_CC":
          Gamma     $Gamma_SiliG
                                        # Restauration de la correction de gamma standard pour l'ecran standard Silicon Graphics.     #
          breaksw
     case "SYSTEME_SGIND3GA_IRIX_CC":
     case "SYSTEME_SGIND4GA_IRIX_CC":
     case "SYSTEME_SGIND5GA_IRIX_CC":
     case "SYSTEME_SGIND8GA_IRIX_CC":
     case "SYSTEME_SGINDAGA_IRIX_CC":
     case "SYSTEME_SGO252VA_IRIX_CC":
     case "SYSTEME_SGO252VN_IRIX_CC":
                                        # La correction de gamma est inutile ici...                                                   #
          breaksw
     case "SYSTEME_DPX5000_SPIX_CC":
          breaksw
     case "SYSTEME_IMPOSSIBLE":
     case "SYSTEME_APC_LinuxDebian_GCC":
     case "SYSTEME_APC_LinuxMandrake_GCC":
     case "SYSTEME_APC_LinuxRedHat_GCC":
     case "SYSTEME_APC_LinuxUbuntu_GCC":
     case "SYSTEME_APC_LinuxUbuntu_ICC":
     case "SYSTEME_APC_LinuxUlmint_GCC":
     case "SYSTEME_APC_LinuxUlmint_ICC":
     case "SYSTEME_CRAY2_UNICOS_CC":
     case "SYSTEME_CRAY2_UNICOS_SCC":
     case "SYSTEME_CRAYC98_UNICOS_CC":
     case "SYSTEME_CRAYC98_UNICOS_SCC":
     case "SYSTEME_CRAYC916_UNICOS_CC":
     case "SYSTEME_CRAYC916_UNICOS_SCC":
     case "SYSTEME_CRAYYMP1_UNICOS_CC":
     case "SYSTEME_CRAYYMP1_UNICOS_SCC":
     case "SYSTEME_CRAYYMP2_UNICOS_CC":
     case "SYSTEME_CRAYYMP2_UNICOS_SCC":
     case "SYSTEME_CRAYYMP4_UNICOS_CC":
     case "SYSTEME_CRAYYMP4_UNICOS_SCC":
     case "SYSTEME_DECALPHA340_OSF1_CC":
     case "SYSTEME_DECALPHA340_OSF1_GCC":
     case "SYSTEME_DECALPHA350_OSF1_CC":
     case "SYSTEME_DECALPHA350_OSF1_GCC":
     case "SYSTEME_DECALPHA464_OSF1_CC":
     case "SYSTEME_DPX2000_SPIX_CC":
     case "SYSTEME_ES9000_AIX_CC":
     case "SYSTEME_FX2800_CONCENTRIX_FXC":
     case "SYSTEME_FX2800_CONCENTRIX_PCC":
     case "SYSTEME_FX2800_CONCENTRIX_SCC":
     case "SYSTEME_FX40_CONCENTRIX_CC":
     case "SYSTEME_FX40_CONCENTRIX_FXC":
     case "SYSTEME_HP705_HPUX_CC":
     case "SYSTEME_HP710_HPUX_CC":
     case "SYSTEME_HP720_HPUX_CC":
     case "SYSTEME_HP750_HPUX_CC":
     case "SYSTEME_HP755_HPUX_CC":
     case "SYSTEME_HP819_HPUX_CC":
     case "SYSTEME_NWS3000_NEWSOS_CC":
     case "SYSTEME_NWS3000_NEWSOS_2CC":
     case "SYSTEME_RS6000_AIX_CC":
     case "SYSTEME_SGO200A1_IRIX_CC":
     case "SYSTEME_SGO200A2_IRIX_CC":
     case "SYSTEME_SGO200A4_IRIX_CC":
     case "SYSTEME_SGPCM801_IRIX_CC":
     case "SYSTEME_SGPCMA01_IRIX_CC":
     case "SYSTEME_SPS9_ROS_CC":
     case "SYSTEME_SPS9_ROS_RC":
     case "SYSTEME_SUN3_SUNOS_CC":
     case "SYSTEME_SUN4_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
     case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
     case "SYSTEME_VAX8600_ULTRIX_CC":
     case "SYSTEME_VAX8600_ULTRIX_VCC":
     case "SYSTEME_VAX9000_ULTRIX_CC":
     case "SYSTEME_VAX9000_ULTRIX_GCC":
     case "SYSTEME_VAX9000_ULTRIX_VCC":
                                        # Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens :                             #
          EROR      "Une sequence n'a pas de sens pour '"$SYSTEME"'."
          breaksw
     default:
                                        # Cas des SYSTEMEs non reconnus :                                                             #
          EROR      "Variable 'SYSTEME' (='$SYSTEME') inconnue."
          breaksw
endsw

if        ("$Fvideo_in_use" != "$UNDEF") then
                                        # Test introduit le 20130925100711...                                                         #
          delete    $Fvideo_in_use
                                        # Liberation du dispositif...                                                                 #
else
endif



Copyright © Jean-François COLONNA, 2019-2025.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2025.