TuttleOFX  1
options.hpp
Go to the documentation of this file.
00001 #ifndef OPTIONS_HPP_
00002 #define OPTIONS_HPP_
00003 
00004 namespace sam {
00005 
00006 #define SAM_HELP_MARGING 35
00007 #define SAM_EXAMPLE_TITLE_COUT( ... )   TUTTLE_LOG_INFO( std::endl << color->_yellow << "  " << __VA_ARGS__ << color->_std );
00008 #define SAM_EXAMPLE_LINE_COUT( x, ... ) TUTTLE_LOG_INFO( color->_green << "    " << std::setw(SAM_HELP_MARGING) << x << __VA_ARGS__ << color->_std );
00009 
00010 static const char* const kUrlTuttleofxProject = "http://sites.google.com/site/tuttleofx";
00011 
00012 /// options with short-cut
00013 
00014 //-a, --all
00015 static const char* const kAllOptionLongName = "all";
00016 static const char* const kAllOptionString = "all,a";
00017 static const char* const kAllOptionMessage = "do not ignore entries starting with .";
00018 
00019 //-A, --attributes
00020 static const char* const kAttributesOptionLongName = "attributes";
00021 static const char* const kAttributesOptionString = "attributes,A";
00022 static const char* const kAttributesOptionMessage = "show all attributes: parameters+clips";
00023 
00024 //-c, --commands
00025 static const char* const kCommandsOptionLongName = "commands";
00026 static const char* const kCommandsOptionString = "commands,c";
00027 static const char* const kCommandsOptionMessage = "show list of all available sam commands";
00028 
00029 //-d, --directories
00030 static const char* const kDirectoriesOptionLongName = "directories";
00031 static const char* const kDirectoriesOptionString = "directories,d";
00032 static const char* const kDirectoriesOptionMessage = "handle directories";
00033 //
00034 //-e, --expression
00035 static const char* const kExpressionOptionLongName = "expression";
00036 static const char* const kExpressionOptionString = "expression,e";
00037 static const char* const kExpressionOptionMessage = "use a specific pattern, ex: *.jpg,*.png";
00038 
00039 //-f, --files
00040 static const char* const kFilesOptionLongName = "files";
00041 static const char* const kFilesOptionString = "files,f";
00042 static const char* const kFilesOptionMessage = "handle files";
00043 
00044 //-F, --filter
00045 static const char* const kFilterOptionLongName = "filter";
00046 static const char* const kFilterOptionString = "filter,F";
00047 static const char* const kFilterOptionMessage = "filtering the output for research a plugin. ex: -f \"*blur,*tuttle*\"";
00048 
00049 //-h, --help
00050 static const char* const kHelpOptionLongName = "help";
00051 static const char* const kHelpOptionString = "help,h";
00052 static const char* const kHelpOptionMessage = "display help";
00053 /*
00054  * options.hpp
00055  *
00056  *  Created on: Apr 16, 2012
00057  *      Author: mfe
00058  */
00059 
00060 //-i, --input
00061 static const char* const kInputOptionLongName = "input";
00062 static const char* const kInputOptionString = "input,i";
00063 static const char* const kInputOptionMessage = "input pathname: directory, file or sequence pattern";
00064 //
00065 //-I, --ignore =was -m, --mask
00066 static const char* const kIgnoreOptionLongName = "ignore";
00067 static const char* const kIgnoreOptionString = "ignore,I";
00068 static const char* const kIgnoreOptionMessage = "ignore the specified sequence";
00069 
00070 //-l, --long-listing
00071 static const char* const kLongListingOptionLongName = "long-listing";
00072 static const char* const kLongListingOptionString = "long-listing,l";
00073 static const char* const kLongListingOptionMessage = "use a long listing format";
00074 
00075 //-n, --nodes
00076 static const char* const kNodesOptionLongName = "nodes";
00077 static const char* const kNodesOptionString = "nodes,n";
00078 static const char* const kNodesOptionMessage = "list all avalaible node";
00079 
00080 //-o, --offset
00081 static const char* const kOffsetOptionLongName = "offset";
00082 static const char* const kOffsetOptionString = "offset,o";
00083 static const char* const kOffsetOptionMessage = "retime the sequence with the given offset. ex: -o 1, -o";
00084 //
00085 //-p, --path =absolute path=was --path-root and --absolute-path
00086 static const char* const kPathOptionLongName = "path";
00087 static const char* const kPathOptionString = "path,p";
00088 static const char* const kPathOptionMessage = "display the absolute path of each object";
00089 
00090 //-Q, --quiet
00091 static const char* const kQuietOptionLongName = "quiet";
00092 static const char* const kQuietOptionString = "quiet,Q";
00093 static const char* const kQuietOptionMessage = "don't print commands";
00094 
00095 //-r, --range
00096 static const char* const kRangeOptionLongName = "range";
00097 static const char* const kRangeOptionString = "range,r";
00098 static const char* const kRangeOptionMessage = "processing range (used only if input is a sequence pattern)";
00099 
00100 //-R, --recursive
00101 static const char* const kRecursiveOptionLongName = "recursive";
00102 static const char* const kRecursiveOptionString = "recursive,R";
00103 static const char* const kRecursiveOptionMessage = "handle directories and their content recursively";
00104 
00105 //-s, --sequences
00106 static const char* const kSequencesOptionLongName = "sequences";
00107 static const char* const kSequencesOptionString = "sequences,s";
00108 static const char* const kSequencesOptionMessage = "handle sequences";
00109 
00110 //-v, --version
00111 static const char* const kVersionOptionLongName = "version";
00112 static const char* const kVersionOptionString =  "version,v";
00113 static const char* const kVersionOptionMessage = "display version";
00114 
00115 //-V, --verbose
00116 static const char* const kVerboseOptionLongName = "verbose";
00117 static const char* const kVerboseOptionString =  "verbose,V";
00118 static const char* const kVerboseOptionMessage = "verbose level (trace=0, debug=1, warning=2, error=3, fatal=4)";
00119 
00120 /// options without short-cut
00121 
00122 //--binaries-list
00123 static const char* const kBinariesListOptionLongName = "binaries-list";
00124 static const char* const kBinariesListOptionString = kBinariesListOptionLongName;
00125 static const char* const kBinariesListOptionMessage = "show list of all available sam binaries";
00126 
00127 //--brief
00128 static const char* const kBriefOptionLongName = "brief";
00129 static const char* const kBriefOptionString = kBriefOptionLongName;
00130 static const char* const kBriefOptionMessage = "display a brief summary of the tool";
00131 
00132 //--clip
00133 static const char* const kClipOptionLongName = "clip";
00134 static const char* const kClipOptionString = kClipOptionLongName;
00135 static const char* const kClipOptionMessage = "display clip informations";
00136 
00137 //--clips
00138 static const char* const kClipsOptionLongName = "clips";
00139 static const char* const kClipsOptionString = kClipsOptionLongName;
00140 static const char* const kClipsOptionMessage = "list clips of the OpenFX plugin";
00141 
00142 //--color
00143 static const char* const kColorOptionLongName = "color";
00144 static const char* const kColorOptionString = kColorOptionLongName;
00145 static const char* const kColorOptionMessage = "display the output with colors";
00146 
00147 //--commands-list
00148 static const char* const kCommandsListOptionLongName = "commands-list";
00149 static const char* const kCommandsListOptionString = kCommandsListOptionLongName;
00150 static const char* const kCommandsListOptionMessage = "show list of all available sam commands";
00151 
00152 //--continue-on-error
00153 static const char* const kContinueOnErrorOptionLongName = "continue-on-error";
00154 static const char* const kContinueOnErrorOptionString = kContinueOnErrorOptionLongName;
00155 static const char* const kContinueOnErrorOptionMessage = "continue on error";
00156 
00157 //--disable-process
00158 static const char* const kDisableProcessOptionLongName = "disable-process";
00159 static const char* const kDisableProcessOptionString = kDisableProcessOptionLongName;
00160 static const char* const kDisableProcessOptionMessage = "run the command line without computing images (verbose enable).";
00161 
00162 //--force-identity-nodes-process
00163 static const char* const kForceIdentityNodesProcessOptionLongName = "force-identity-nodes-process";
00164 static const char* const kForceIdentityNodesProcessOptionString = kForceIdentityNodesProcessOptionLongName;
00165 static const char* const kForceIdentityNodesProcessOptionMessage = "force identity nodes process (debug option for plugin developers only)";
00166 
00167 //--enable-color
00168 static const char* const kEnableColorOptionLongName = "enable-color";
00169 static const char* const kEnableColorOptionString = kEnableColorOptionLongName;
00170 static const char* const kEnableColorOptionMessage = "enable or disable color";
00171 
00172 //--expert
00173 static const char* const kExpertOptionLongName = "expert";
00174 static const char* const kExpertOptionString = kExpertOptionLongName;
00175 static const char* const kExpertOptionMessage = "show expert user options";
00176 
00177 //--first-image //TODO in sam-info and sam-ls, replace first-image and last-image by intput/output-first/last
00178 static const char* const kFirstImageOptionLongName = "first-image";
00179 static const char* const kFirstImageOptionString = kFirstImageOptionLongName;
00180 static const char* const kFirstImageOptionMessage = "specify the first image";
00181 
00182 //--format
00183 static const char* const kFormatOptionLongName = "format";
00184 static const char* const kFormatOptionString = kFormatOptionLongName;
00185 static const char* const kFormatOptionMessage = "display supported formats";
00186 
00187 //--full-display
00188 static const char* const kFullDisplayOptionLongName = "full-display";
00189 static const char* const kFullDisplayOptionString = kFullDisplayOptionLongName;
00190 static const char* const kFullDisplayOptionMessage = "display everything =directories, files, sequences";
00191 
00192 //--full-rm
00193 static const char* const kFullRMPathOptionLongName = "full-rm";
00194 static const char* const kFullRMPathOptionString = kFullRMPathOptionLongName;
00195 static const char* const kFullRMPathOptionMessage = "remove everything =directories, files, sequences";
00196 
00197 //--generator-args
00198 static const char* const kGeneratorArgsOptionLongName = "generator-args";
00199 static const char* const kGeneratorArgsOptionString = kGeneratorArgsOptionLongName;
00200 static const char* const kGeneratorArgsOptionMessage = "properties of generator plugin";
00201 
00202 //--id
00203 static const char* const kIdOptionLongName = "id";
00204 static const char* const kIdOptionString = kIdOptionLongName;
00205 static const char* const kIdOptionMessage = "set a name/id to the node";
00206 
00207 //--input-dir
00208 static const char* const kInputDirOptionLongName = "input-dir";
00209 static const char* const kInputDirOptionString = kInputDirOptionLongName;
00210 static const char* const kInputDirOptionMessage = "input directories";
00211 
00212 //--input-first
00213 static const char* const kInputFirstOptionLongName = "input-first";
00214 static const char* const kInputFirstOptionString = kInputFirstOptionLongName;
00215 static const char* const kInputFirstOptionMessage = "specify the first input image in order to select a sub-range of the input sequence";
00216 
00217 //--input-last
00218 static const char* const kInputLastOptionLongName = "input-last";
00219 static const char* const kInputLastOptionString = kInputLastOptionLongName;
00220 static const char* const kInputLastOptionMessage = "specify the last input image in order to select a sub-range of the input sequence";
00221 
00222 //--last-image //TODO in sam-info and sam-ls, replace first-image and last-image by intput/output-first/last
00223 static const char* const kLastImageOptionLongName = "last-image";
00224 static const char* const kLastImageOptionString = kLastImageOptionLongName;
00225 static const char* const kLastImageOptionMessage = "specify the last image";
00226 
00227 //--nodes-list
00228 static const char* const kNodesListOptionLongName = "nodes-script";
00229 static const char* const kNodesListOptionString = kNodesListOptionLongName;
00230 static const char* const kNodesListOptionMessage = "show list of all available nodes (formatted for scripting)";
00231 
00232 //--output-first
00233 static const char* const kOutputFirstOptionLongName = "output-first";
00234 static const char* const kOutputFirstOptionString = kOutputFirstOptionLongName;
00235 static const char* const kOutputFirstOptionMessage = "specify the first output image, in order to select a sub-range of the output sequence";
00236 
00237 //--output-last
00238 static const char* const kOutputLastOptionLongName = "output-last";
00239 static const char* const kOutputLastOptionString = kOutputLastOptionLongName;
00240 static const char* const kOutputLastOptionMessage = "specify the last output image, in order to select a sub-range of the output sequence";
00241 
00242 //--parameters-list
00243 static const char* const kParametersOptionLongName = "parameters-list";
00244 static const char* const kParametersOptionString = kParametersOptionLongName;
00245 static const char* const kParametersOptionMessage = "list parameters of the OpenFX plugin";
00246 
00247 //--parameters-redux-list
00248 static const char* const kParametersReduxOptionLongName = "parameters-redux-list";
00249 static const char* const kParametersReduxOptionString = kParametersReduxOptionLongName;
00250 static const char* const kParametersReduxOptionMessage = "list parameters of the OpenFX plugin (redux informations)";
00251 
00252 //--param-default
00253 static const char* const kParamDefaultOptionLongName = "param-default";
00254 static const char* const kParamDefaultOptionString = kParamDefaultOptionLongName;
00255 static const char* const kParamDefaultOptionMessage = "parameter default value";
00256 
00257 //--param-group
00258 static const char* const kParamGroupOptionLongName = "param-group";
00259 static const char* const kParamGroupOptionString = kParamGroupOptionLongName;
00260 static const char* const kParamGroupOptionMessage = "group of the OpenFX plugin";
00261 
00262 //--param-infos
00263 static const char* const kParamInfosOptionLongName = "param-infos";
00264 static const char* const kParamInfosOptionString = kParamInfosOptionLongName;
00265 static const char* const kParamInfosOptionMessage = "display parameter informations";
00266 
00267 //--param-possible-values
00268 static const char* const kParamPossibleValuesOptionLongName = "param-possible-values";
00269 static const char* const kParamPossibleValuesOptionString = kParamPossibleValuesOptionLongName;
00270 static const char* const kParamPossibleValuesOptionMessage = "possible parameter values";
00271 
00272 //--param-type
00273 static const char* const kParamTypeOptionLongName = "param-type";
00274 static const char* const kParamTypeOptionString = kParamTypeOptionLongName;
00275 static const char* const kParamTypeOptionMessage = "parameter type";
00276 
00277 //--param-values
00278 static const char* const kParamValuesOptionLongName = "param-values";
00279 static const char* const kParamValuesOptionString = kParamValuesOptionLongName;
00280 static const char* const kParamValuesOptionMessage = "display parameter values";
00281 
00282 //--properties
00283 static const char* const kPropertiesOptionLongName = "properties";
00284 static const char* const kPropertiesOptionString = kPropertiesOptionLongName;
00285 static const char* const kPropertiesOptionMessage = "list properties of the OpenFX plugin";
00286 
00287 //--plugins
00288 static const char* const kPluginsOptionLongName = "plugins";
00289 static const char* const kPluginsOptionString = kPropertiesOptionLongName;
00290 static const char* const kPluginsOptionMessage = "list of associated plugins for this dummy node";
00291 
00292 //--reader
00293 static const char* const kReaderOptionLongName = "reader";
00294 static const char* const kReaderOptionString = kReaderOptionLongName;
00295 static const char* const kReaderOptionMessage = "specify reader node with identifier \"tuttle.XXXreader\"";
00296 
00297 //--relative-path
00298 static const char* const kRelativePathOptionLongName = "relative-path";
00299 static const char* const kRelativePathOptionString = kRelativePathOptionLongName;
00300 static const char* const kRelativePathOptionMessage = "display the relative path of each object";
00301 
00302 //--stop-on-missing-file
00303 static const char* const kStopOnMissingFileOptionLongName = "stop-on-missing-file";
00304 static const char* const kStopOnMissingFileOptionString = kStopOnMissingFileOptionLongName;
00305 static const char* const kStopOnMissingFileOptionMessage = "stop on missing file";
00306 
00307 //--nb-cores
00308 static const char* const kNbCoresOptionLongName = "nb-cores";
00309 static const char* const kNbCoresOptionString = kNbCoresOptionLongName;
00310 static const char* const kNbCoresOptionMessage = "set a fix number of CPUs";
00311 
00312 //--renderscale
00313 static const char* const kRenderScaleOptionLongName = "renderscale";
00314 static const char* const kRenderScaleOptionString = kRenderScaleOptionLongName;
00315 static const char* const kRenderScaleOptionMessage = "specify render scale";
00316 
00317 //--script
00318 static const char* const kScriptOptionLongName = "script";
00319 static const char* const kScriptOptionString = kScriptOptionLongName;
00320 static const char* const kScriptOptionMessage = "format the output such as it could be dump in a file and be used as a script";
00321 
00322 }
00323 
00324 #endif