Macros de commande command-macros
Les macros de commande fournissent des raccourcis nommés pour les jeux de commandes.
$ *name*$
name Nom de la macro
Les macros sont définies dans des fichiers de définition de macro distincts, qui peuvent être joints à des catalogues de matériaux ou au catalogue par défaut.
name n’est pas sensible à la casse et peut se composer de n’importe quelle combinaison de lettres ASCII, nombres , '-', '_' et '.' caractères.
Appelez des macros n’importe où dans une requête après "?" ou n’importe où dans un champ vignette::Modifier
. Les macros ne peuvent représenter qu’une ou plusieurs commandes de rendu d’image et doivent être séparées des autres commandes avec les séparateurs "&".
Les appels de macro sont remplacés par leurs chaînes de substitution tôt lors de l’analyse. Les commandes des macros remplacent les mêmes commandes de la requête si elles se produisent avant l’appel de macro dans la requête. Ce workflow est différent de vignette::Modifier
, où les commandes de la chaîne de requête remplacent les commandes de la chaîne vignette::Modifier
, quelle que soit la position dans la requête.
Les macros de commande ne peuvent pas comporter de valeurs d’argument, mais des variables personnalisées peuvent être utilisées pour transmettre des valeurs de la requête dans la macro.
Les macros ne peuvent pas être imbriquées.
Exemple
Les macros peuvent s’avérer utiles si les mêmes commandes ou attributs doivent être appliqués à différentes images générées.
http://server/ir/render/cat/vig0?fmt=jpeg&qlt=80&sharpen=1&src=cat/matA&res=40 http://server/ir/render/cat/vig1?fmt=jpeg&qlt=80&sharpen=1&src=cat/matB&res=40 http://server/ir/render/cat/vig2?fmt=jpeg&qlt=95&sharpen=1&src=cat/matC&res=40
Vous pouvez définir une macro pour les attributs communs :
render vignette=cat/$vig$&fmt=jpg&qlt=80&sharpen=1&src=cat/$mat$&res=40
La macro sera utilisée comme suit :
http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$&qlt=95
Étant donné que qlt=
est différent pour la troisième requête, le logiciel remplace la valeur après l’appel de la macro (la spécification de qlt=
avant $render$
est inefficace).
Voir aussi
catalog::MacroFile
, catalog::Modifier
, Référence de définition de macro