Author: Diego Barrios Romero <eldr...@eldruin.com>
Date:   Sun Feb 12 21:34:24 2012 +0100

Adding job list processing (rendering)

---

 synfig-core/src/tool/main.cpp |   75 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/synfig-core/src/tool/main.cpp b/synfig-core/src/tool/main.cpp
index 611f9f7..571910a 100644
--- a/synfig-core/src/tool/main.cpp
+++ b/synfig-core/src/tool/main.cpp
@@ -777,8 +777,83 @@ int main(int ac, char* av[])
                        return SYNFIGTOOL_OK;
                }
 
+               // Setup Job list ----------------------------------------------
+               
+               list<Job> job_list;
+               
+               // ...
+               
+               // Process Job list --------------------------------------------
+               
+               if(!job_list.size())
+               {
+                       cerr << _("Nothing to do!") << endl;
+                       return SYNFIGTOOL_BORED;
+               }
+
+               for(; job_list.size(); job_list.pop_front())
+               {
+                       VERBOSE_OUT(3) << job_list.front().filename << " -- " 
<< endl;
+                       VERBOSE_OUT(3) << '\t'
+                                                  <<
+                               strprintf("w:%d, h:%d, a:%d, pxaspect:%f, 
imaspect:%f, span:%f",
+                                       job_list.front().desc.get_w(),
+                                       job_list.front().desc.get_h(),
+                                       job_list.front().desc.get_antialias(),
+                                       
job_list.front().desc.get_pixel_aspect(),
+                                       
job_list.front().desc.get_image_aspect(),
+                                       job_list.front().desc.get_span()
+                                       )
+                               << endl;
+
+                       VERBOSE_OUT(3) << '\t'
+                                                  <<
+                               strprintf("tl:[%f,%f], br:[%f,%f], 
focus:[%f,%f]",
+                                       job_list.front().desc.get_tl()[0],
+                                       job_list.front().desc.get_tl()[1],
+                                       job_list.front().desc.get_br()[0],
+                                       job_list.front().desc.get_br()[1],
+                                       job_list.front().desc.get_focus()[0],
+                                       job_list.front().desc.get_focus()[1]
+                                       )
+                                       << endl;
+
+                       RenderProgress p;
+                       p.task(job_list.front().filename + " ==> " +
+                                  job_list.front().outfilename);
+                       if(job_list.front().sifout)
+                       {
+                               if(!save_canvas(job_list.front().outfilename,
+                                                               
job_list.front().canvas))
+                               {
+                                       cerr << _("Render Failure.") << endl;
+                                       return SYNFIGTOOL_RENDERFAILURE;
+                               }
+                       }
+                       else
+                       {
+                               VERBOSE_OUT(1) << _("Rendering...") << endl;
+                               etl::clock timer;
+                               timer.reset();
+
+                               // Call the render member of the target
+                               if(!job_list.front().target->render(&p))
+                               {
+                                       cerr << _("Render Failure.") << endl;
+                                       return SYNFIGTOOL_RENDERFAILURE;
+                               }
+
+                               if(print_benchmarks)
+                                       cout << job_list.front().filename
+                                                << _(": Rendered in ") << 
timer()
+                                                << _(" seconds.") << endl;
+                       }
+               }
 
+               job_list.clear();
 
+               VERBOSE_OUT(1) << _("Done.") << endl;
+               
                return SYNFIGTOOL_OK;
 
     }


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to