X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Ftool%2Fmain.cpp;h=fbf64b05caa3b4b9d660fb49bf87e3b5ddc6cbfb;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=c37a2b7a7332df1b168435ef997dbefac84ddff5;hpb=75635270584b5775982adbd70250a0ebc7e3e76b;p=synfig.git diff --git a/synfig-core/trunk/src/tool/main.cpp b/synfig-core/trunk/src/tool/main.cpp index c37a2b7..fbf64b0 100644 --- a/synfig-core/trunk/src/tool/main.cpp +++ b/synfig-core/trunk/src/tool/main.cpp @@ -1,11 +1,12 @@ /* === S Y N F I G ========================================================= */ -/*! \file main.cpp +/*! \file tool/main.cpp ** \brief SYNFIG Tool ** -** $Id: main.cpp,v 1.9 2005/01/23 04:41:10 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -34,6 +35,7 @@ #include #include #include +#include #include #include @@ -48,6 +50,7 @@ #include #include #include +#include #endif using namespace std; @@ -56,18 +59,26 @@ using namespace synfig; /* === M A C R O S ========================================================= */ +#ifdef ENABLE_NLS +#undef _ +#define _(x) gettext(x) +#else +#undef _ +#define _(x) (x) +#endif + enum exit_code { - SYNFIGTOOL_OK =0, - SYNFIGTOOL_FILENOTFOUND =1, - SYNFIGTOOL_BORRED =2, - SYNFIGTOOL_HELP =3, - SYNFIGTOOL_UNKNOWNARGUMENT =4, - SYNFIGTOOL_UNKNOWNERROR =5, - SYNFIGTOOL_INVALIDTARGET =6, - SYNFIGTOOL_RENDERFAILURE =7, - SYNFIGTOOL_BLANK =8, - SYNFIGTOOL_BADVERSION =9, + SYNFIGTOOL_OK = 0, + SYNFIGTOOL_FILENOTFOUND = 1, + SYNFIGTOOL_BORED = 2, + SYNFIGTOOL_HELP = 3, + SYNFIGTOOL_UNKNOWNARGUMENT = 4, + SYNFIGTOOL_UNKNOWNERROR = 5, + SYNFIGTOOL_INVALIDTARGET = 6, + SYNFIGTOOL_RENDERFAILURE = 7, + SYNFIGTOOL_BLANK = 8, + SYNFIGTOOL_BADVERSION = 9, SYNFIGTOOL_MISSINGARGUMENT =10 }; @@ -95,11 +106,11 @@ bool print_benchmarks=false; class Progress : public synfig::ProgressCallback { const char *program; - + public: - + Progress(const char *name):program(name) { } - + virtual bool task(const String &task) { @@ -122,7 +133,7 @@ public: } virtual bool - amount_complete(int current, int total) + amount_complete(int /*current*/, int /*total*/) { return true; } @@ -131,16 +142,16 @@ public: class RenderProgress : public synfig::ProgressCallback { string taskname; - + etl::clock clk; int clk_scanline; // The scanline at which the clock was reset etl::clock clk2; - float last_time; + float last_time; public: - - RenderProgress():clk_scanline(0) { } - + + RenderProgress():clk_scanline(0), last_time(0) { } + virtual bool task(const String &thetask) { @@ -178,7 +189,7 @@ public: if(clk2()<0.2) return true; clk2.reset(); - + if(scanline) seconds=(int)time+1; else @@ -187,7 +198,7 @@ public: clk.reset(); clk_scanline=scanline; } - + if(seconds<0) { clk.reset(); @@ -202,7 +213,7 @@ public: days++,hours-=24; while(days>=7) weeks++,days-=7; - + cerr< arg_list_t; @@ -257,9 +281,7 @@ void guid_test() { cout<<"GUID Test"<=1) + const char spaces[]=" "; + if(arg) + cerr << strprintf(" %s %s %s", flag, arg, spaces+strlen(arg)+strlen(flag)+1)+description << endl; + else + cerr << strprintf(" %s %s", flag, spaces+strlen(flag))+description << endl; +} + +void display_help(bool full) +{ + cerr << endl << _("syntax: ") << progname << " [DEFAULT OPTIONS] ([SIF FILE] [SPECIFIC OPTIONS])..." << endl << endl; + + if(full) { - Argument("-t","",_("Specify output target (Default:unknown)")); - Argument("-w","",_("Set the image width (Use zero for file default)")); - Argument("-h","",_("Set the image height (Use zero for file default)")); - Argument("-s","",_("Set the diagonal size of image window (Span)")); - Argument("-a","<1...30>",_("Set antialias amount for parametric renderer.")); - Argument("-Q","<0...10>",strprintf(_("Specify image quality for accelerated renderer (default=%d)"),DEFAULT_QUALITY).c_str()); - Argument("-g","",_("Gamma (default=2.2)")); - Argument("-v",NULL,_("Verbose Output (add more for more verbosity)")); - Argument("-q",NULL,_("Quiet mode (No progress/time-remaining display)")); - Argument("-c","",_("Render the canvas with the given id instead of the root.")); - Argument("-o","",_("Specify output filename")); - Argument("-T","<# of threads>",_("Enable multithreaded renderer using specified # of threads")); - - Argument("-b",NULL,_("Print Benchmarks")); - - Argument("--fps","",_("Set the frame rate")); - Argument("--time","