Module Scripts

Les scripts de module vous permettent d'ajouter une gestion plus complexe et plus spécifique des valeurs, d'aider à l'analyse des données provenant de flux réseau ou série qui suivent une API spécifique.

C'est également la façon de créer des Modules personnalisés, où vous pouvez définir vos propres valeurs et paramètres, et faire exécuter la logique principale par des scripts.

Fonctions communes des modules

Tous les scripts fonctionnant à l'intérieur d'un module auront un ensemble commun de fonctions qui pourront être ajoutées au script. Ces fonctions ne sont pas nécessaires pour exécuter le script.

Méthode

Description

Exemple

function moduleParameterChanged(param)

Cette fonction sera appelée chaque fois qu'un paramètre de ce module aura changé, c'est-à-dire un paramètre ou un déclencheur à l'intérieur du panneau "Parameters" de ce module.

function moduleParameterChanged(param){ script.log("Param changed : "+param.name) ; } ``

function moduleValueChanged(param)

Cette fonction sera appelée à chaque fois qu'une valeur de ce module aura changé, c'est-à-dire un paramètre ou un déclencheur à l'intérieur du panneau "Values" de ce module.

function moduleValueChanged(value) { if(value.isParameter()) { script.log("Valeur du module changée : "+value.name+") > "+value.get()) ; }else { script.log("Valeur du module déclenchée : "+value.name) ; } }

Fonctions spécifiques aux modules

Certains modules ont des rappels de fonctions spécifiques qui sont utiles si vous souhaitez personnaliser l'analyse des données reçues de ce module.

Méthode

Description

Exemple

oscEvent(address, args)

Cette fonction sera appelée à chaque fois qu'un message du CSP sera reçu.

adresse est l'adresse du message du CSP args est un tableau contenant tous les arguments de l'OSC Message

fonction oscEvent(adresse, args) { script.log("OSC Message reçu "+adresse+" ;, "+args.length+" ; arguments" ;);

}

Méthodes spécifiques au module (l'objet local)

Certains modules ont des méthodes spécifiques qui sont utiles si vous voulez avoir des comportements spécifiques ou envoyer des données complexes ou automatisées. Ces méthodes font partie de l'objet Javascript local, en fonction du module dans lequel il s'exécute.

Méthode

Description

Exemple

send(address, arg1, arg2, arg3, ...)

Envoie un message OSC à toutes les sorties activées du module. address est l'adresse du message

local.send("myAddress", 1, .5f, "cool");

sendTo(ip, port, address, arg1, arg2, ...)

Même fonctionnement que send, mais envoie le message à une adresse ip et un port spécifique, sans tenir compte des sorties du module.

local.sendTo("192.168.0.30", 9000, "myAddress", 1, .5f);

match(address, pattern)

Vérifie si l'adresse address correspond au schéma pattern, conformément à la spécification OSC. Les astérisques, etc sont reconnus.

if (local.match(address, "/testPattern")) ...

register(pattern, callbackFunc)

Enregistre une fonction du script à appeler quand un message correspondant à pattern est reçu. callbackFunc est le nom de la fonction à appeler. [Note] Si le module contient plusieurs scripts, ce nom de fonction est enregistré pour tous les scripts.

function init() { local.register("/testPattern", "testPatternCallback"); } function testPatternCallback(address, args) { script.log("Received message "+address); }

Dernière mise à jour