; Vue.psx ; ; This is a virtual Module file for use by the ProcessSequence.sx Module. ; This module defines the Vue Product ; used to control the Vue command line renderer (renderbull) ; http://www.e-onsoftware.com/products/vue/vue_6_infinite/ ; ; Smedge 3 ; Copyright (c) 2004 - 2008 Uberware. ; The Module section includes the basic module information [ Module ] ; Every Job type in Smedge needs its own unique ID. Make sure to modify this ; ID for each new type. Note that Jobs and options will store this type as ; well, so if you change this ID, you will lose any saved options, and be ; unable to use any saved jobs that rely on it. You can use the included ; commandline too uidgen.exe to create new IDs, or any other tool that will ; create a Globally Unique ID. ID = b88c0489-128b-4e4f-9d38-f25133857745 ; The actual commandline is generated by assembling the executable and command ; fields and doing a member name substitution on any special parameters ; marked. Parameters are marked with the notation $(name). Any parameters from ; ProcessSequenceJob or its base classes is available for use, as well as any ; custom parameters defined in this file. For a complete list of parameters ; available, see the documentation for the Job derived classes: SequenceDistributor, ; ProcessJob, and RenderJob (more may be available in later versions of Smedge). ; ; The most common parameters you will use will be: ; ; $(Scene) - The scene the user can specify for the Job ; $(SubRange) - The full range of the work formatted into a x-y string (no spaces) ; $(SubRange.Start) - Just the start of the range of the work ; $(SubRange.End) - Just the end of the range of the work ; $(CPUs) - The number of CPUs that are assigned to this job. ; ; If you want to have a portion of the commandline conditional on a non-empty ; parameter value, you can surround that portion with square brackets: [] ; ; The Command gives the defaults for these values. ; All values are overridable at both the Job and Engine levels. Command = -file $(Scene.Enquote) -range $(SubRange.Start) $(SubRange.End)[ -output $(Output.Enquote)] ; Because ProcessSequence is derived from the RenderJob base class, it ; automatically gets all of the functionality of a Rendering app, including ; automatic frame name detection and verification. To enable this, you can ; provide output parsing strings here for detecting the filenames from the ; output of the spawned process. If the detected names are not absolute ; paths, the Engine will look for a parameter called ImageDir and prepend ; that value. If that value is empty or cannot be found, the Engine will ; try to prepend the StartDirectory to the image filenames. ; Look for lines that with this text. The first non-white spcace text ; following this text is assumed to be the start of the filename. You can use ; parameters in these fields, and they will be translated when the Work is ; started ImageStartText = ; Trim this text from the end of the line. Whitespace will be trimmed ; autmoatically, so you don't need to add it here. ImageEndText = ; The rest of the fields allow you to customize how users interact with your ; custom type ; This is the name displayed to the user for this type of Job Name = VUE Renderbull ; This is a shortcut you can use to create jobs of this type, say by a ; commandline. Values can be separated by commas. Whitespace surrounding values ; will be ignored. Shortcut = vue ; This is a short help string that some Shells may display to the user about this type Help = Render Vue Renderbull ; This is a more extended help text that some Shells may display to the user about this type Details = ; This allows you to determine if this type should be enabled by default on ; an Engine that has never seen it before. DefaultEnabled = Yes ; The PrimaryParameters section allows you to add custom parameter for the ; type. These parameters are added before any parameters from the underlying ; base classes, so they will generally appear above them in Shells. The order ; of parameters is only important to Shells. You can order your parameters by ; using a number for the key name. If two parameters have the same number, the ; last one read will be the one used. ; ; Parameters must have a unique name. This name is used internally to access ; the parameter value, and is used as a section name in this file to describe ; all of the parameter information details. The parameter name must not ; conflict with any other parameter or command, either in this virtual Module ; file or in any of the underlying base classes. The parameter name is not ; generally shown to users, so the general convention is to not use spaces in ; parameter names, and use spaces in command names. [ PrimaryParameters ] ; The SecondaryParameters section is the same as the PrimaryParameters, except ; that these parameters are added to the Job type information after any ; parameters from the underlying base classes. This means that they will ; appear below the underlying parameters in Shells. The order of parameters is ; only important to Shells. The names of the parameters must not conflict with ; any other parameters or commands, either in this file or in any of the ; underlying base classes. The parameter name is not generally shown to users, ; so the general convention is to not use spaces in parameter names, and use ; spaces in command names. [ SecondaryParameters ] 0 = Output ; The PrimaryCommands section allows you to add custom commands to the type. ; Currently commands are limited to executing an external program via a ; commandline. As with the parameters, Primary commands are added to the list ; before the underlying job classes. The only affect this has is the order of ; display of commands in Shells. Commands can be ordered by a number in the key ; name. The Command name must not conflict with any other parameters or ; commands. A command's name is also what is displayed to a user, so the ; general convention is to use spaces in Command names an no spaces in ; Parameter names. [ PrimaryCommands ] ; The SecondaryCommands is just like the PrimaryCommands, except that these ; commands are added after the underlying Job base classes. [ SecondaryCommands ] ; The OverrideDefaults section allows you to override the default values for ; any parameter. Since you can just provide defaults for custom parameter types ; in their definition, this really only makes sense to override defaults for ; parameters from the base classes. Use the parameter name as the key and ; provide your new default. ; ; Note that parameter defaults will still follow the defined flag for allowing ; display of a default for a Job parameter or an Engine/Shell option. See the ; documentation of ParameterInfo for more information. [ OverrideDefaults ] Executable = RenderBull ; The AutoDetect section allows your virtual module to perform a basic ; auto-detect ability to set the value of one or more other parameters ; of a job based on the values of other parameters. This is not as cool as ; what you get for doing a compiled module, where you have full access to the ; APIs for both Smedge and whatever 3rd party libraries you want to link to ; your module (e.g., the Maya module, if you wanted to actually open and work ; with Maya files in the AutoDetect logic.) ; ; The keys are in a Value = change[, change ...] sequence. The Value is the ; parameter that has just been modified. Each change in the list is also in ; a value=change syntax. The value here is the name of the parameter you ; want to modify, and the change is a string that will be run through the ; FormatStringWithParameters function, like the commandline. Use $(Name) ; syntax to access other job values [ AutoDetect ] Scene = Name = RenderBull $(Scene.File.CutExtension) ; Now we have a section for each parameter and command to actually define the ; functionality. The name of these sections must correspond tothe names used ; above. ; ; Parameters ; [ Output ] NiceName = Image file path Type = Dir Flags = Parameter Help = The path to the rendered image files. You cannot override the filename, and there should be no slash at the end of this value. ; ; Commands ;