Filter Scripts

Contribué avec amour par Benoit Arbelot

Les scripts peuvent être utilisés comme filtre dans un mapping.

Les scripts de filtres sont utiles pour ajouter des fonctions mathématiques ou une logique de filtrage avancée à vos mappages.

Fonctions de filtrage spécifiques

Lorsque des scripts sont exécutés en tant que filtre, des rappels de nouvelles fonctions sont appelés pour traiter le filtre.

Méthode

Description

Exemple

function filter(inputValue, min, max)

Cette fonction est appelée à chaque fois que la cartographie est traitée et passe par la chaîne de filtrage.

inputValue est la valeur de l'entrée ou de la précédente filtre.

min et max sont les plages de la inputValue, le cas échéant. It's utile pour filtrer la valeur en tant que ou pour éviter de dépasser les valeurs.

Cette fonction doit retourner une valeur !

fonction filtre(inputValue, min, max) { var result = inputValue * myFloatParam.get(); return result; }

Dans cet exemple, nous considérons un projet simple avec une piste audio en boucle. Nous avons également une variable personnalisée masterVolume qui contrôle le volume de la piste audio par le biais d'un mapping.

Nous aimerions maintenant ajouter la possibilité de faire un fondu enchaîné de notre piste audio. Nous pouvons le faire en utilisant des séquences qui contrôlent directement le volume de la piste audio. Cependant, afin de respecter la valeur actuelle du masterVolume, la sortie de ces séquences doit être redirigée de [0 ; 1] à [0 ; masterVolume].

Cela peut être fait avec un simple script de filtrage en multipliant la valeur de sortie des mappages des séquences de fondu par la valeur du masterVolume. Nous créons le script MultiplyByMasterVolume.js suivant :

function filter(inputValue, min, max)
{
    return inputValue*root.customVariables.soundControls.variables.masterVolume.masterVolume.get();
}

Ce script de filtrage renvoie la valeur d'entrée inputValue, multipliée par la variable personnalisée masterVolume.

Rappel : Vous pouvez obtenir rapidement l'adresse du script de toute variable dans Chataigne en faisant un clic droit dessus et en sélectionnant Copy Script Control Address, puis vous pouvez utiliser la fonction get() pour obtenir la valeur actuelle de cette variable dans un script.

Il suffit d'assigner ce script comme script de filtrage dans nos mappages de séquences de fondu pour obtenir ce que nous voulons : des séquences de fondu qui s'effacent entre 0 et la valeur actuelle de masterVolume.

Dernière mise à jour