Référence de scripting

Vous trouverez ici une référence quasi-exhaustive sur les fonctions spécifiques de Chataigne.

Les scripts dans Chataigne sont basés sur une version simplifiée de Javascript. La plupart des fonctions sont disponibles, mais certaines peuvent manquer. Si certaines fonctions vous manquent, n'hésites pas à aller sur Discord et pourquoi pas faire un don (https://github.com/sponsors/benkuper) pour que je puisse passer plus de temps à améliorer Chataigne !

Cette documentation ne montre que les fonctions que j'ai rajoutées par-dessus le moteur Javascript de JUCE. Pour avoir plus d'informations sur toutes les fonctions de bases disponibles, vous pouvez regarder dans le source code du moteur Javascript.

Fonctions communes

Il y a quelques fonctions communes que vous pouvez utiliser, quel que soit le type de script.

Aucune des fonctions ci-dessous n'est nécessaire lors de la réalisation d'un script, ce sont juste des fonctions d'aide. Si vous n'en avez pas besoin, ne les ajoutez pas à votre script, car Chataigne optimisera votre script en fonction des fonctions déclarées dans celui-ci.

Méthode

Description

Exemple

init()

Si elle est présente, cette fonction sera appelée juste après le chargement du script.

fonction init() {

//init vos valeurs, enregistrez les choses et attribuez des variables

}

update(deltaTime)

Si elle est présente, cette fonction sera appelée régulièrement au rythme spécifié par le "Taux de mise à jour" ; paramètre de script.

Ce paramètre n'est visible que lorsque la fonction est présente dans le scénario. Vous pouvez également modifier le taux à partir du script en appelant script.setUpdateRate(rate). voir ci-dessous pour plus d'informations.

deltaTime est en secondes, et le paramètre rate est en Hz.

fonction update(deltaTime)

{

script.log("Delta time : " + deltaTime);

}

messageBoxCallback(id, result)

Cette méthode est appelée quand un OkCancel box ou un YesNoCancel box a été lancée puis le script. id est l'id fourni au moment de l'appel de la fonction, result est le resultat (0, 1 ou 2) en fonction du bouton cliqué

function messageBoxCallback(id, result) {

script.log("Message box callback : "+id+" > "+result); }

Paramètres et Triggers

Tous les paramètres et déclencheurs ont des méthodes communes et des méthodes spécifiques

Méthodes et propriétés communes

Méthode

Description

Exemple

getParent()

Retourne la valeur de ce paramètre

myParam.getParent();

setName(name)

Définit le nom du paramètre

myParam.setName("new name");

setAttribute(attribut, value)

Définit un attribut du paramètre.

Tous les paramètres obtiennent : readonly : définit le paramètre comme non modifiable

description : modifier la description de l'infobulle

activé : activer ou désactiver ce paramètre

alwaysNotify : active le flag alwaysNotify (si à true, cela déclenchera des mises à jour même si la valeur fixée est la même qu'auparavant). Plus d'informations pour des paramètres spécifiques dans chaque section de paramètres's.

myParam.setAttribute("readonly" ,true);

myParam.setAttribute("description" ,"new description" ;);

myParam.setAttribute("enabled" ,false);

myParam.setAttribute("alwaysNotify" , true);

isParameter()

retourne si la cible est un paramètre ou un déclencheur

var isParam = myTarget.isParameter();

name

Il s'agit de l'identificateur de nom de l'objet, comme vous le feriez dans un script.

script.log(myParam.name);

niceName

C'est le "joli nom" ; de l'objet, tel que vous le voyez dans l'Inspecteur.

script.log(myParam.niceName);

getControlAddress ([reference])

Retourne l'adresse de contrôle OSC de cet élement. Le paramètre optionnel reference permet de spécifier un élément relatif à partir duquel générer l'adresse .

script.log( myContainer.getControlAddress());

getScriptControlAddress()

Retourne l'adresse de contrôle en version script de cet élément.

script.log( myContainer.getScriptControlAddress());

resetValue()

Pour les parametres, remet la valeur à la valeur par défaut

myParam.resetValue();

Trigger

Méthode

Description

Exemple

trigger()

Déclenche ce contrôle

myTrigger.trigger();

Float Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre

var value = myFloatParam.get();

set(value)

Définit la valeur de ce paramètre

myFloatParam.set(.5);

setAttribute(attribut, value)

Attributs spécifiques :

ui : L'interface utilisateur à utiliser pour afficher ce paramètre. Les valeurs acceptées sont : time, slider, stepper, label

myStringParam.setAttribute ("ui" ;, "time" ;);

Integer Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre

var value = myIntParam.get();

set(value)

Définit la valeur de ce paramètre

myIntParam.set(2);

setAttribute(attribut, value)

Attributs spécifiques :

hexMode : Afficher la valeur en décimal ou en hexadécimal.

myStringParam.setAttribute ("hexMode", true);

Boolean Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre

var value = myFloatParam.get();

set(value)

Définit la valeur de ce paramètre

myFloatParam.set(.5);

String Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre

var value = myStringParam.get();

set(value)

Définit la valeur de ce paramètre

myStringParam.set("super" ;);

setAttribute(attribut, value)

Attributs spécifiques :

multiline : si le paramètre peut être multiligne

préfixe : ajoute un préfixe avant la valeur

suffixe : ajoute un suffixe après la valeur

myStringParam.setAttribute ("multiline" ;, true);

Color Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre. Le résultat est un tableau contenant [r,g,b,a], les valeurs sont comprises entre 0 et 1

var value = myColorParam.get();

script.log("green : "+value[1]);

set(value)

Définit la valeur de ce paramètre. Vous pouvez soit définir la valeur par valeur hex ARGB, tableau flottant [r,g,b,a], ou valeurs séparées r,g,b,a. Les valeurs r, g et b sont toujours comprises entre 0 et 1 et l'alpha est facultatif (vous pouvez spécifier r,g,b seulement);

//ceci est réglé sur cyan alpha 100%

myColorParam.set(0xff00ffffff);

myColorParam.set([0,1,1,1]);

myColorParam.set(0,1,1,1);

Target Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de la chaîne de l'adresse cible

var address = myTargetParam.get();

getTarget()

Retourne la cible réelle sélectionnée

var target = myTargetParam.getTarget();

set(value)

Définit la valeur de la chaîne de caractères de l'adresse cible.

myTargetParam.set ("/root/modules/osc" ;);

setAttribute(attribut, value)

Attributs spécifiques :

root : le conteneur racine à partir duquel la recherche doit être effectuée

searchLevel : précise le niveau maximum à rechercher dans le root

showParameters : si la cible est contrôlable, cacher ou montrer paramètres

showTriggers : si la cible est contrôlable, cacher ou montrer déclencheurs

labelLevel : le niveau des parents à afficher dans l'IU.

allowedTypes : précise quels types de cible sont acceptés

excludedTypes : précise quels types de cible ne sont pas acceptés

myTargetParam.setAttribute ("searchLevel",2);

myTargetParam.setAttribute ("root" , root.sequences);

myTargetParam.setAttribute ("allowedTypes", ["Mapping","Color"]);

Enum Parameter

Méthode

Description

Exemple

addOption(label, value)

Ajoute une option à la liste

myEnumParam.addOption("nouvelle option",3);

get()

1.6.x : Retourne la clé sélectionnée

1.7.x : Retourne la donnée sélectionnée

var label = myEnumParam.get(); //1.6.x

var value= myEnumParam.get(); //1.7.x

getData()

Obtenir les données sélectionnées (1.6.x seulement)

var data = myEnumParam.getData(); //1.6

getKey()

Obtenir la clé sélectionnée (1.7.x seulement)

var key = myEnumParam.getKey(); //1.7

removeOptions()

Supprime toutes les options.

myEnumParam.removeOptions();

set(key)

Définit la valeur avec l'étiquette fournie

myEnumParam.set("nouvelle option");

setData(data)

Définit la valeur avec la donnée fournie

myEnumParam.setData("data1");

setNext([loop])

Définit la prochaine valeur dans la liste. Loop (optionnel) : définit si la liste doit boucler en arrivant à la fin

myEnumParam.setNext(true);

setPrevious([loop])

Définit la valeur précédent dans la liste. Loop (optionnel) : définit si la liste doit boucler en arrivant à la fin

myEnumParam.setPrevious(true);

getAllOptions()

Récupère la liste des options disponibles. Le resultat est un tableau d'objets contenant les propriétés "key" et "value"

var options = myEnumParam.getAllOptions(); script.log(options[0].key);

getOptionAt(index)

Récupère une option à un index défini de la liste. Le resultat est un objet contenant les propriétés "key" et "value"

var options = myEnumParam.getAllOptions(); script.log(options[0].key);

getIndex()

Retourne l'index de l'option sélectionnée

var index = myEnumParam.getIndex();

File Parameter

Méthode

Description

Exemple

setAttribute(attribut, value)

Attributs spécifiques :

directoryMode : précise si l'on veut chercher un fichier ou un dossier.

myFileParam.setAttribute ("directoryMode",true);

readFile([asJSON])

Lit le contenu du fichier. Si asJSON est vrai, alors le contenu sera analysé et renvoyé sous la forme d'un Object.

var myTextContent = myFileParam.readFile ();

var myJSONContent = myFileParam.readFile (true);

writeFile(data, overwriteIfExists)

Ecrit le contenu ou une chaîne d'un Objet dans le fichier sélectionné. Si il existe, overwriteIfExists vous permettra de décider de l'écraser ou non (false par défaut).

données variables = "super";

myFileParam.writeFile (données, vrai);

getAbsolutePath()

Retourne le chemin absolu de ce fichier.

var path = myFileParam.getAbsolutePath();

launchFile(arguments)

Ceci lancera le fichier sélectionné avec les arguments fournis

myFileParam.launchFile ("--verbose" ;)

Point2D Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre. Le résultat est un tableau contenant [x, y].

var value = my2dParam.get();

script.log("x : "+value[0]);

set(value)

Définit la valeur de ce paramètre

my2DParam.set(2, 0.5);

my2DParam.set([1,4.63]);

Point3D Parameter

Méthode

Description

Exemple

get()

Retourne la valeur de ce paramètre. Le résultat est un tableau contenant [x, y, z].

var value = my3dParam.get();

script.log("x : "+value[0]);

set(value)

Définit la valeur de ce paramètre

my3DParam.set(2, 0.5, 0);

my3DParam.set([1,4.63, 8]);

Container

Les conteneurs sont tout objet qui contient des paramètres ou d'autres récipients. Si vous visez un élément de la hiérarchie ( root ou local ), ce sera soit un conteneur, soit un paramètre. Donc si ce n'est pas un paramètre, alors c'est un conteneur.

Méthode

Description

Exemple

getChild(childName)

Retourne le paramètre ou le conteneur avec le nom fourni.

var child = myContainer.getChild("activity");

getParent()

Retourne le conteneur parent

var parent = myContainer.getParent();

setName(name, [shortName])

Change le nom du conteneur.

Si shortName est mentionné, cela assignera son nom d'acces pour pouvoir y accéder via getChild ultérieurement.

myContainer.setName("new name");

setCollapsed(value)

Modifie l'état de repli du conteneur, s'il peut être replié.

myContainer.setCollapsed(false);

name

Il s'agit de l'identificateur de nom de l'objet, comme vous le feriez dans un script.

script.log(myContainer.name);

niceName

C'est le "joli nom" ; de l'objet, tel que vous le voyez dans le Inspecteur.

script.log(myContainer.niceName);

addTrigger(name, description)

Ceci ajoutera un déclencheur (bouton).

var myTrigger = myContainer.addTrigger("My Trigger", "Trigger description" ;);

addFloatParameter(name, description, default, min max)

Cela ajoutera un paramètre de nombre flottant (curseur).

var myFloatParam = myContainer.addFloatParameter("My Float Param","Description of my float param",.1,0,1);

addIntParameter(name, description, default, min max)

ajoute un paramètre de nombre entier (step), valeur par défaut de 2, avec une valeur se situant entre 0 et 10

var myIntParam = myContainer.addIntParameter("My Int Param","Description of my int param",2,0,10);

addBoolParameter(name, description, default)

ajoute un paramètre booléen (toggle)

var myBoolParam = myContainer.addBoolParameter("My Bool Param","Description of my bool param",false);

addStringParameter(name, description, default)

ajoute un paramètre de chaîne (champ de texte)

var myStringParam = myContainer.addStringParameter("My String Param","Description of my string param", "cool");

addColorParameter(name, description, default)

ajoute un paramètre de couleur (sélecteur de couleur).

var myColorParam = script.addColorParameter("My Color Param","Description of my color param",0xff0000ff) ; //default blue alpha 100%

var myColorParam2 = script.addColorParameter("My Color Param 2 ","Description of my color param",[1,0,1]) ; //default purple

addPoint2DParameter(name, description)

ajoute paramètre de point 2d

var myP2DParam = myContainer.addPoint2DParameter("My P2D Param","Description of my p2d param");

addPoint3DParameter(name, description)

ajoute paramètre de point 3d

var myP3DParam = myContainer.addPoint3DParameter("My P3D Param","Description of my p3d param");

addTargetParameter(name, description)

ajoute un paramètre cible (pour référencer un autre paramètre)

var myTargetParam = myContainer.addTargetParameter("My Target Param","Description of my target param");

addFileParameter(name, description, [directoryMode])

Ajoute un paramètre de fichier (pour référencer le fichier ou le dossier sur le disque).

Si le mode répertoire est réglé sur vrai, un dossier peut être sélectionné au lieu d'un fichier.

var myFileParam = myContainer.addFileParameter("My File Param","Description of my file param");

addEnumParameter(name, description, label1, value1, label2, value2, ...)

Ajoute un paramètre d'énumération (menu déroulant avec options)

Chaque paire de valeurs après les 2 premiers arguments définit une option et ses données liées

var myEnumParam = myContainer.addEnumParameter("My Enum Param","Description of my enum param", "Option 1", 1,"Option 2", 5, "Option 3", "banana");

addContainer(name)

Ajoute un conteneur à l'intérieur du conteneur.

var childContainer = myContainer.addContainer("My Child Container");

removeContainer(name)

Supprime un conteneur enfant du conteneur.

myContainer.removeContainer ("myChildContainer")

removeParameter(name)

Supprime un paramètre du conteneur.

myContainer.removeParameter ("myChildParameter");

getControlAddress ([reference])

Retourne l'adresse de contrôle OSC de cet élement. Le paramètre optionnel reference permet de spécifier un élément relatif à partir duquel générer l'adresse .

script.log( myContainer.getControlAddress());

getScriptControlAddress()

Retourne l'adresse de contrôle en version script de cet élément.

script.log( myContainer.getScriptControlAddress());

Managers

Les managers sont des types particuliers de conteneurs. Dans le logiciel, vous pouvez voir qu'un conteneur est un gestionnaire lorsqu'il y a une icône "+*" à droite de son bloc. Dans la plupart des cas, il s'agit simplement de conteneurs améliorés. La plupart du temps, les gestionnaires qui vous intéresseront sont le gestionnaire de modules, le gestionnaire de séquences, les gestionnaires de couches et les gestionnaires de clés d'automatisation. Lorsque vous manipulez un gestionnaire, vous avez accès à des fonctions et des propriétés spécifiques comme l'ajout d'éléments, la suppression d'éléments ou l'obtention d'un tableau de ses éléments.

Méthode

Description

Exemple

addItem([type])

Ajoute un élément au gestionnaire et le renvoie.

Certains gestionnaires comme le gestionnaire de modules ou le gestionnaire de couches peuvent créer plusieurs types d'articles. Ils ont donc besoin d'un type d'article à créer, que vous devez définir dans l'argument type.

D'autres gestionnaires comme le gestionnaire de séquences ne sont pas nécessaires car il n'y a qu'un seul type de séquence. Dans ces cas, vous ne devez pas fournir d''argument lors de l'appel de la fonction.

var newOSCModule = root.modules.addItem("OSC");

var newSequence = root.sequences.addItem();

removeItem(item)

Supprime un élément. item doit être un élément géré par ce gestionnaire.

root.modules.removeItem (myModule);

getItems()

Retourne un tableau contenant tous les éléments de ce gestionnaire.

var items = root.sequences.getItems();

script.log("Num séquences : "+items.length);

getItemWithName(name)

Retourne le premier élément trouvé avec nom. Ceci va rechercher une correspondance exacte entre niceName, shortName et la version minuscule.

var introSeq = root.sequences.getItemWithName ("Intro" ;);

getItemAt(index)

Retourne l'élément à l'index index

var curSequence = root.sequences.getItemAt(1) ; //Le premier est 0, ici on obtient donc le deuxième élément de la liste.

getItemIndex(item)

Retourne l'index de l'élément spécifié item.

var index= root.sequences.getItemIndex (curSequence);

getItemBefore(item)

Retourne l'élément avant l'élément spécifié item.

var prevSequence = root.sequences.getItemBefore (curSequence);

getItemAfter(item)

Retourne l'élément après l'élément item. spécifié

var nextSequence = root.sequences.getItemAfter (curSequence);

States

Les States ont des méthodes dédiées permettant de faciliter la création de certains éléments comme les transitions

MethodDescriptionExample

addTransition(source, dest)

Ajoute une transition entre 2 States. source et dest sont les noms des States pour lesquels créer une transition.

var transition = root.states.addTransition("State A", "State B");

Automation

Les automations sont des types spéciaux de managers, qui représentent des courbes. On peut les trouver dans des Mapping Layers, ou des Curve Map Filter par exemple. Ils contiennet des méthodes spécifiques, permettant de manipuler et récupérer des informations sur la courbe.

Méthode

Description

Exemple

getValueAtPosition(position)

Récupère la valeur de la courve à une position donnée

var val = automation.getValueAtPosition(2.5);

getKeyAtPosition(position)

Récupère la clé la plus proche à une position donnée

var key = automation.getKeyAtPosition(2.5);

getKeysBetween(start, end)

Récupère un tableau contenant toutes les clés contenues entre start et end.

var keys = automation.getKeysBetween(2.5, 4.7);

Objet script

L'objet script fait référence au conteneur de script. Vous pouvez ajouter vos propres paramètres personnalisés ici, ainsi que des informations de journalisation, des avertissements et des erreurs.

Méthode

Description

Exemple

addTrigger(name, description)

Ceci ajoutera un déclencheur (bouton)

var myTrigger = script.addTrigger("My Trigger", "Trigger description");

addFloatParameter(name, description, default, min max)

Ceci ajoutera un paramètre de type nombre flottant (curseur).

var myFloatParam = script.addFloatParameter("My Float Param","Description of my float param",.1,0,1);

addIntParameter(name, description, default, min max)

ajoute un paramètre de type nombre entier (step), valeur par défaut de 2, avec une valeur se situant entre 0 et 10

var myIntParam = script.addIntParameter("My Int Param","Description of my int param",2,0,10);

addBoolParameter(name, description, default)

ajoute un paramètre booléen (toggle)

var myBoolParam = script.addBoolParameter("My Bool Param","Description of my bool param",false);

addStringParameter(name, description, default)

ajoute un paramètre de chaîne (champ de texte)

var myStringParam = script.addStringParameter("My String Param","Description of my string param", "cool");

addColorParameter(name, description, default)

ajoute un paramètre de couleur (sélecteur de couleur).

var myColorParam = script.addColorParameter("My Color Param","Description of my color param",0xff0000ff) ; //default blue alpha 100%

var myColorParam2 = script.addColorParameter("My Color Param 2 ","Description of my color param",[1,0,1]) ; //default purple

addPoint2DParameter(name, description)

ajoute un paramètre de point 2d

var myP2DParam = script.addPoint2DParameter("My P2D Param","Description of my p2d param");

addPoint3DParameter(name, description)

ajoute un paramètre de point 3d

var myP3DParam = script.addPoint3DParameter("My P3D Param","Description of my p3d param");

addTargetParameter(name, description)

ajoute un paramètre cible (pour référencer un autre paramètre)

var myTargetParam = script.addTargetParameter("My Target Param","Description of my target param");

addFileParameter(name, description, [directoryMode])

Ajoute un paramètre de fichier (pour référencer le fichier ou le dossier sur le disque).

Si le mode répertoire est réglé sur vrai, un dossier peut être sélectionné au lieu d'un fichier.

var myFileParam = script.addFileParameter("My file param","Description of my file param");

addEnumParameter(name, description, label1, value1, label2, value2, ...)

Ajoute un paramètre de type énumération (menu déroulant avec options)

Chaque paire de valeurs après les 2 premiers arguments définit une option et ses données liées

var myEnumParam = script.addEnumParameter("My Enum Param","Description of my enum param", "Option 1" ;, 1,"Option 2" ;, 5, "Option 3" ;, "banana" ;);

log(message)

Journalise un message (doit activer "Log" ; dans les paramètres du script)

script.log("Ceci est un message");

logWarning(message)

Journalise un message en guise d'avertissement

script.logWarning("Ceci est un avertissement");

logError(message)

Journalise un message comme une erreur

script.logError("Ceci est une erreur");

setUpdateRate(rate)

Définit la vitesse à laquelle la fonction update() est appelée

script.setUpdateRate(50);

setExecutionTimeout( timeInSeconds)

Défini le temps maximum avant pour éxecuter les appels à ce script

script.setExecutionTimeout(10);

fonction scriprtParameterChanged(param)

Cette fonction sera appelée chaque fois qu'un paramètre de ce script aura changé.

fonction scriptParameterChanged(param){ script.log("Param changed : "+param.name); }

Objet root

L'objet root fait référence au moteur de Chataigne, qui est l'objet racine de tous les parents. Il permet d'accéder à n'importe quel objet dans la hiérarchie de Chataigne. La meilleure façon d'y accéder est de cliquer avec le bouton droit de la souris sur l'interface utilisateur d'un paramètre et de sélectionner "Copy Script control address". Vous pouvez alors passer l'adresse dans votre script et vous pourrez contrôler ce paramètre.

Objet local

L'objet local dépend de l'endroit où les scripts sont exécutés.

  • Si le script est exécuté dans un module, la variable locale fera référence au module. Vous pouvez trouver toutes les fonctions de module dans la section Module Scripts.

  • Si le script s'exécute dans une condition, la variable locale fera référence à la condition. Vous pouvez trouver toutes les fonctions de condition dans la section Condition Scripts.

  • Si le script s'exécute à l'intérieur d'un filtre, la variable locale fera référence au filtre. Vous pouvez trouver toutes les fonctions de filtre dans la section Filter Scripts.

Objet util

L'objet util fournit des aides et des fonctions utilitaires comme le temps ou la conversion.

Méthode

Description

Exemple

getAppVersion()

Retourne la version actuelle de l'application

var version = util.getAppVersion();

getOSInfos()

Retourne les infos de l'OS. L'objet retournée contient les propriétés suivantes :

"name" : le nom de l'OS

"type": le type OS

"computerName": le nom de l'ordinateur

"language": la langue de l'OS

"username" : le nom d'utilisateur

var infos = util.getOSInfos();

script.log("Hello "+infos.username);

getEnvironmentVariable(key)

Retourne la valeur d'une variable d'environnement de l'OS.

var pathEnv = util.getEnvironmentVariable("PATH");

getTime()

Retourne le temps écoulé depuis le démarrage du système en secondes

var time = util.getTime();

getTimestamp()

Retourne le temps depuis le 1er janvier 1970 en secondes

var timestamp = util.getTimestamp();

delayThreadMS(milliseconds)

Pause l'execution pendant le nombre de millisecondes fournies.

script.delayThreadMS(500);

getFloatFromBytes(byte1, byte2, byte3, byte4)

Retourne un float de 4 octets (big endian, l'octet 1 est le plus significatif)

var value = util.getFloatFromBytes(0, 0, 2, 10);

getInt32FromBytes(byte1, byte2, byte3, byte4)

Retourne un entier de 32 bits à partir de 4 octets (big endian, l'octet 1 est le plus significatif)

var value = util.getInt32FromBytes(0, 0, 2, 10);

getInt64FromBytes(byte1, byte2, byte3, byte4, byte5, byte6, byte7, byte8)

Retourne un entier de 64 bits à partir de 8 octets (big endian, l'octet 1 est le plus significatif)

var value = util.getInt64FromBytes(0, 5, 7, 22, 0, 0, 2, 10);

getIPs()

Retourne un tableau de toutes les adresses IP trouvées

var ips = util.getIPs();

for(var i=0 ; i<ips.length ; i++) { script.log(ips[i]) ; }

encodeHMAC_SHA1(text, key)

Retourne une chaîne codée HMAC-SHA1

var encoded = util.encodeHMAC_SHA1("my text", "my key" ;);

toBase64(value);

Retourne une chaîne convertie en base-64 à partir d'une chaîne utf8.

var str64 = util.toBase64("cool" ;);

fromBase64(value);

Retourne un bloc de données à partir d'une chaine encodée en base-64

var str_decoded = util.toBase64("sGVsbG8gd29ybGQh");

fileExists(path)

Retourne true si un fichier existe à l'emplacement fourni, sinon false

script.log(fileExists("myfile.txt"));

directoryExists(path)

Retourne true si un dossier existe à l'emplacement fourni, sinon false

script.log(directoryExists("myFolder"));

readFile(path, [asJSON])

Lit le contenu du fichier à l'emplacement path. Si asJSON est vrai, alors le contenu sera analysé et renvoyé sous la forme d'un Objet.

var myTextContent = util.readFile("myfile.txt");

writeFile(path, data, overwriteIfExists)

Ecrit le contenu d'une chaîne ou d'un Objet dans le fichier à l'emplacement path. Si le fichier existe, overwriteIfExists vous permettra de décider si il doit être écrasé ou non (false par défaut).

données variables = "super";

util.writeFile("monfichier.txt", données, vrai);

createDirectory(folderPath)

Crée un répertoire à l'emplacement spécifié.

util.createDirectory("path/to/dir" ;);

getObjectProperties(objet, includeParameters, includeObjects)

Retourne un tableau de tous les noms de propriétés de cet objet. Vous pouvez spécifier si vous voulez inclure des paramètres et/ou des objets (comme des conteneurs). La valeur par défaut est include all.

var propNames = util.getObjectProperties(myObject, true, false) ; //retourne seulement les paramètres

getObjectMethods(objet)

Retourne un tableau de tous les noms de méthodes de cet objet.

var methods= util.getObjectMethods();

copyToClipboard(data, data2...)

Copie les données concaténées dans le presse-papier.

util.copyToClipboard("super",5, myData);

getFromClipboard()

Retourne le contenu du presse-papier.

var data = util.getFromClipboard();

showMessageBox(title, message, [icon, buttonText])

Affiche un message popup avec un seul bouton.

Il est possible de spécifier une icone (valeurs acceptées "info", "warning", "question" ) ainsi que le texte du bouton.

util.showMessageBox("Super info !", "This is a message for you", "info", "Got it");

showOkCancelBox(id, title, message, [icon, button1Text, button2Text])

Affiche un message popup avec 2 boutons.

Le paramètre id spécifie l'identifiant de la box qui sera utilisé au moment du callback (voir messageBoxCallback).

Il est possible de spécifier une icone (valeurs acceptées "info", "warning", "question" ) ainsi que le texte des boutons.

La valeur retournée est true si "OK" a été cliqué, sinon false.

util.showOkCancelBox("myWarningBoxId", "Super warning!", "This is a warning for you", "warning", "Got it","Naaah");

showYesNoCancelBox(id, title, message, [icon, button1Text, button2Text, button3Text] ),

Affiche un message popup avec 3 boutons.

Le paramètre id spécifie l'identifiant de la box qui sera utilisé au moment du callback (voir messageBoxCallback).

Il est possible de spécifier une icone (valeurs acceptées "info", "warning", "question" ) ainsi que le texte des boutons.

La valeur retournée est 0, 1 ou 2 en fonction du bouton cliqué.

util.showYesNoCancelBox("myConfirmBoxId", "Confirm ?", "Do you really want to do that ?", "question", "Yeah", "Never", "Don't care...");

Dernière mise à jour