TuttleOFX
1
|
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