Animated GIF

From SVN … read carefully the message you get about yasm…
It tells you the option you should use in configure to disable it…
I did that …
I works for me…

I’m not sure how you did it.

I have attempted numerous installs (without the yasm) and always get the same error.
I cannot pinpoint the reason you can run this and I can’t.
I am using gcc version 4.2.1, don’t know if thats a reason or not, but I cannot get it to work on my mac.

Thanks for the help though, it seems any idea I have lately is shot down by not working programs…must be me.

I simply did a “svn co” as said on the web. Then I did “./configure” … I got the yasm messages… I then did “./configure” again with the option to disable yasm. Then I did “make”… and “sudo make install” …
ffmpeg is then known … I used it with the options I send you (without these options it does not work).

I got a video about 10 minutes long. I am not on the Imac I have done it on… I am at home now… I will check the gcc version tomorrow on my Imac.

Can you send a log file showing what you get ?

Here is my error.

dyld: Library not loaded: /usr/local/lib/libavdevice.dylib
Referenced from: /usr/local/bin/ffmpeg
Reason: image not found
Trace/BPT trap: 5

I am trying a program called gifsicle, it looks promising, not set in stone yet.

Thanks

So it seems you get this error at run time … weird. Does the file /usr/local/lib/libavdevice.dylib exists ?

I know gifcycle. You may end up with the same lengthly generation as with root.
I think it has an option allowing to put the whole picture as a frame.
By default, I think, it tries to do the diff with the previous frame… and then it takes time to generate…
but the file is smaller.

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

Thanks for the help,

I decided to use gifsicle.

What I ended up doing was using root to generate an animated gif in 2 of the varibles, then I was able to use gifsicle to merge theses gif together as I wanted.

I was very quick, under 1 minute to process. I also (I was curious) made individual gifs and used gifsicle to make a whole animation, that process time was greater, but was under 10 minutes for the whole cycle.

Thanks Again

Here is my macro:

void circle(){ TCanvas *can = new TCanvas("can", "can" , 600, 600); can->Range(-2.,-2.,2.,2.); double X, Y, phi, R, r; R = 1; phi = 0.0; r = 0.01; while ( phi < 2*TMath::Pi() ){ X = R*cos( phi ); Y = R*sin( phi ); TEllipse *C = new TEllipse( X, Y, r , r ); phi += TMath::Pi()/6.; C->Draw(); can->Print("circarcirc.gif+10"); cout << phi << endl; } }
Output is the first circle on the canvas and nothing else happens. What am I doing wrong?

Can you clean up the macro from all these numbers ??

Make sure that you delete “circarcirc.gif” before you run your macro (“display circarcirc.gif” on Linux gives a gif animation which displays 12 ellipses, adding a new one every 3 seconds, “animate -delay 10 -loop 0 circarcirc.gif” behaves properly, too -> I tried ROOT 5.34/36 and 6.08/00).

There is no circarcirc.gif. It does not create anything. No output means no output at all. I will try earlier version of ROOT.

When I open the file generated by your macro (circarcirc.gif) with any web browser, I see an animation which consist of some small ellipses displayed around a circle… That’s what your macro is doing … seems fine to me.

Yes, This what I want macro to do. I tried this code with ROOT 5.34/36

{
    TCanvas *can = new TCanvas("can", "can", 600, 600);
    can->Range(-2.,-2.,2.,2.);
    double X, Y, phi, R, r;
    R = 1;
    phi = 0.0;
    r = 0.01;
      while ( phi < 2*TMath::Pi() ){
        X = R*cos( phi );
        Y = R*sin( phi );
        TEllipse *C = new TEllipse( X, Y, r, r ); 
        phi += TMath::Pi()/6.;
        C->Draw();
        cout << phi << endl;
        can->Update();
        can->Print("circarcirc.gif+10");
      }
    }

But the same result. Could you, please, run this macro.

This macro gives me the following file which is what we expect.

dropbox.com/s/h70pxn45h2uh5 … c.gif?dl=0

Do you run it in usual manner? I.e. .x circle.C
Do you change something in code?

$ root
  *******************************************
  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   5.34/37      6 April 2016   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *          http://root.cern.ch            *
  *                                         *
  *******************************************

ROOT 5.34/37 (heads/v5-34-00-patches@v5-34-36-1-g4008982, Jan 23 2017, 11:07:00 on macosx64)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x circle.C
0.523599
1.0472
1.5708
2.0944
2.61799
3.14159
3.66519
4.18879
4.71239
5.23599
5.75959
6.28319
root [1] 
[ICU]:AnimROOT> root 
Couldn't find font "-adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-iso8859-1",
trying "fixed". Please fix your system so helvetica can be found, 
this font typically is in the rpm (or pkg equivalent) package 
XFree86-[75,100]dpi-fonts or fonts-xorg-[75,100]dpi.
  *******************************************
  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   5.34/36      5 April 2016   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *          http://root.cern.ch            *
  *                                         *
  *******************************************

ROOT 5.34/36 (v5-34-36@v5-34-36, Apr 05 2016, 10:25:45 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x circle.C 
0.523599

And nothing else. Just staying with open canvas.

Does the macro finishes if you comment the line:

        can->Print("circarcirc.gif+10");

?

Yes, it finishes.

So there is a problem with printing …
I see your ROOT version a a bit older that the one I am using but i do not think that makes a difference…
Are you allowed to write in the folder you are running root ?