Skip to content
Snippets Groups Projects
Commit 26842fc0 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

*** empty log message ***

parent 264ce6ee
No related branches found
No related tags found
No related merge requests found
//
// This is a generic 320x240 mpg + animated gif creation script
// This is a generic 320x240 mpeg + animated gif creation script
//
// Requirements: mpeg_encode, whirlgif and a UNIX shell
//
// Usage: gmsh file(s) animate.script
// Usage: gmsh file(s) anim.script
//
// Output: view.mpg and view.gif
// Output: anim.mpg and anim.gif
//
General.GraphicsWidth = 320 ;
......@@ -14,60 +14,68 @@ PostProcessing.Link = 1;
For i In {1:View[0].NbTimeStep}
View[0].TimeStep++;
Draw;
If (i < 10)
Print Sprintf("out-0%g.jpg", i);
Print Sprintf("out-0%g.gif", i);
Print Sprintf("anim-00%g.jpg", i);
Print Sprintf("anim-00%g.gif", i);
EndIf
If (i >= 10 && i < 100)
Print Sprintf("anim-0%g.jpg", i);
Print Sprintf("anim-0%g.gif", i);
EndIf
If (i >= 10)
Print Sprintf("out-%g.jpg", i);
Print Sprintf("out-%g.gif", i);
If (i >= 100)
Print Sprintf("anim-%g.jpg", i);
Print Sprintf("anim-%g.gif", i);
EndIf
View[0].TimeStep++;
EndFor
// create the parameter file for mpeg_encode
System 'echo "PATTERN I" > out.par' ;
System 'echo "BASE_FILE_FORMAT JPEG" >> out.par' ;
System 'echo "GOP_SIZE 30" >> out.par' ;
System 'echo "SLICES_PER_FRAME 1" >> out.par' ;
System 'echo "PIXEL HALF" >> out.par' ;
System 'echo "RANGE 10" >> out.par' ;
System 'echo "PSEARCH_ALG TWOLEVEL" >> out.par' ;
System 'echo "BSEARCH_ALG CROSS2" >> out.par' ;
System 'echo "IQSCALE 8" >> out.par' ;
System 'echo "PQSCALE 10" >> out.par' ;
System 'echo "BQSCALE 25" >> out.par' ;
System 'echo "REFERENCE_FRAME ORIGINAL" >> out.par' ;
System 'echo "OUTPUT out.mpg" >> out.par' ;
System 'echo "INPUT_CONVERT *" >> out.par' ;
System 'echo "INPUT_DIR ." >> out.par' ;
System 'echo "INPUT" >> out.par' ;
System 'echo "PATTERN I" > anim.par' ;
System 'echo "BASE_FILE_FORMAT JPEG" >> anim.par' ;
System 'echo "GOP_SIZE 30" >> anim.par' ;
System 'echo "SLICES_PER_FRAME 1" >> anim.par' ;
System 'echo "PIXEL HALF" >> anim.par' ;
System 'echo "RANGE 10" >> anim.par' ;
System 'echo "PSEARCH_ALG TWOLEVEL" >> anim.par' ;
System 'echo "BSEARCH_ALG CROSS2" >> anim.par' ;
System 'echo "IQSCALE 8" >> anim.par' ;
System 'echo "PQSCALE 10" >> anim.par' ;
System 'echo "BQSCALE 25" >> anim.par' ;
System 'echo "REFERENCE_FRAME ORIGINAL" >> anim.par' ;
System 'echo "OUTPUT anim.mpg" >> anim.par' ;
System 'echo "INPUT_CONVERT *" >> anim.par' ;
System 'echo "INPUT_DIR ." >> anim.par' ;
System 'echo "INPUT" >> anim.par' ;
If (View[0].NbTimeStep < 10)
System Sprintf('echo "out-*.jpg [01-0%g]" >> out.par', View[0].NbTimeStep) ;
System Sprintf('echo "anim-*.jpg [001-00%g]" >> anim.par', View[0].NbTimeStep) ;
EndIf
If (View[0].NbTimeStep >= 10)
System Sprintf('echo "out-*.jpg [01-%g]" >> out.par', View[0].NbTimeStep) ;
If (View[0].NbTimeStep >= 10 && View[0].NbTimeStep < 100)
System Sprintf('echo "anim-*.jpg [001-0%g]" >> anim.par', View[0].NbTimeStep) ;
EndIf
System 'echo "END_INPUT" >> out.par' ;
If (View[0].NbTimeStep >= 100)
System Sprintf('echo "anim-*.jpg [001-%g]" >> anim.par', View[0].NbTimeStep) ;
EndIf
System 'echo "END_INPUT" >> anim.par' ;
// Call mpeg_encode
System "mpeg_encode out.par" ;
System "mpeg_encode anim.par" ;
// Call whirlgif
System "whirlgif -loop -o out.gif out-*.gif" ;
System "whirlgif -loop -o anim.gif anim-*.gif" ;
// Clean-up all temp files
System "rm -f out-*.gif" ;
System "rm -f out-*.jpg" ;
System "rm -f out.par" ;
System "rm -f anim-*.gif" ;
System "rm -f anim-*.jpg" ;
System "rm -f anim.par" ;
// One could also rename the output files with the view name
// Rename the output files to the view name
// System StrCat( StrCat("mv anim.gif ", Sprintf(View[0].Name)), ".gif");
// System StrCat( StrCat("mv anim.mpg ", Sprintf(View[0].Name)), ".mpg");
System StrCat( StrCat("mv out.gif ", Sprintf(View[0].Name)), ".gif");
System StrCat( StrCat("mv out.mpg ", Sprintf(View[0].Name)), ".mpg");
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment