fix crash when copy'ing latent plugins
[ardour.git] / libs / canvas / benchmark / render_whole.cc
1 #include <sys/time.h>
2 #include <pangomm/init.h>
3 #include "pbd/xml++.h"
4 #include "pbd/compose.h"
5 #include "canvas/canvas.h"
6 #include "canvas/types.h"
7 #include "benchmark.h"
8
9 using namespace std;
10 using namespace ArdourCanvas;
11
12 class RenderWhole : public Benchmark
13 {
14 public:
15         RenderWhole (string const & session) : Benchmark (session) {}
16
17         void do_run (ImageCanvas& canvas)
18         {
19                 canvas.render_to_image (Rect (0, 0, 4096, 1024));
20         }
21
22         void finish (ImageCanvas& canvas)
23         {
24                 canvas.write_to_png ("session.png");
25         }
26 };
27
28 int main (int argc, char* argv[])
29 {
30         if (argc < 2) {
31                 cerr << "Syntax: render_whole <session-name> [<number-of-iterations>]\n";
32                 exit (EXIT_FAILURE);
33         }
34
35         Pango::init ();
36
37         RenderWhole render_whole (argv[1]);
38
39         if (argc > 2) {
40                 render_whole.set_iterations (atoi (argv[2]));
41         }
42
43         cout << render_whole.run () << "\n";
44
45         return 0;
46 }