New fader question

une autre question

Est-ce qu’on peut passer une variable d’un widget à un script ?
Genre var stepCalcule calculé dans range et script_1 s’en sert ?

Autre petit souci c’est que les lettres a et q si on continue d’appuyer sur q pour faire - 0.25 et qu’on descend sous le min et bien c’est planté à jamais. il faudra vérifier que les max et min ne soient pas dépassés dans le script je suppose.

Tu as essayé ? Le fader limite la valeur automatiquement, et comme le script part de la valeur réelle du fader (avec get()) le problème ne se pose pas.

On peut faire référence à la valeur de step en passant par le link_id ? si oui quelle syntaxe ?

Je ne comprends pas ce que tu veux faire. Le linkId sert à lier des widgets par leur valeur.

Ah oui sinon lorsqu’on copie et qu’on fait id+1 le link_id ne fait pas id+1. dans mon cas j’avais nommé mon link_id: fader_1_link Après la copie pour un fader_2 link_id: fader_2_link serait peut-être bien.

Je ne pense pas que ce soit toujours désirable en fait. À vrai dire j'en suis plutôt à me dire que ça devrait être l'action de copie par défaut et seulement se résumer à un incrément de l'id, avec la propriété address sur auto plutôt qu'écrite en dur.

Est-ce qu’on peut passer une variable d’un widget à un script ?

Tu peux utiliser la variable globals pour partager des variables entre les scripts (JS{{}} compris), ou créer cette variable dans un widget parent (propriété variables) et la réutiliser dans les différents widgets qui en on besoin.

Désolé mais je n'arrive pas à comprendre si je peux créer d'autres variables dans globals
et comment s'en servir ensuite...

Comment utiliser la console pour voir les variables à notre disposition ?
Je crains de plus en plus que le javascript m'empêche d'utiliser agréablement o-s-c...
Merci pour encore une fois ton aide désolé

Désolé mais je n’arrive pas à comprendre si je peux créer d’autres variables dans globals

Ce que tu pointes dans ton impression d'écran est correct.

Comment utiliser la console pour voir les variables à notre disposition ?

Tu ne peux pas acceder à ces variables directement depuis la console, tu peux par contre les y afficher en utilisant la function console.log() depuis les scripts.

Bon je crois avoir trouvé la syntaxe à utiliser :wink: dans une widget type text Tu peux me confirmer ?
JS {{ return globals.valeurPas}}

Par contre
#{ globals.valeurPas }

ne fonctionne pas et pourtant la doc Advanced syntaxes - Open Stage Control. Non ?

Le champ value du widget text n'est pas mis à jour si je change la valeur de steps, la valeurPas est recalculée (vue console) mais l'affichage n'est pas actualisé. normal ?

ps : valeurPas n'est pas correctement calculée mais le principe est là.

fader-exploration.json (5.9 KB)

Bon je crois avoir trouvé la syntaxe à utiliser :wink: dans une widget type text Tu peux me confirmer ?

Nickel

Par contre #{ globals.valeurPas } ne fonctionne pas

Ça devrait, et ça fonctionne chez moi, le problème est probablement le même que le suivant.

Le champ value du widget text n’est pas mis à jour si je change la valeur de steps, la valeurPas est recalculée (vue console) mais l’affichage n’est pas actualisé. normal ?

Oui, c'est normal, les changement des ces variables ne sont pas surveillées et ne sont pas prises en compte automatiquement. Si tu veux faire cela tu peux utiliser un widget input pour stocker ta variable dans sa valeur à la place.

???
je ne te suis pas... si tu testes mon fichier cela fonctionne sans rien changer ?

ah ! ok je ne pouvais pas trop le deviner si ?

Je parle seulement de la syntaxe : j'ai fait un test simple, declarer la variable dans un script comme tu l'as fait, et la récupérer ailleurs avec #{ globals.valeurPas }, ça fonctionne.

merci pour ta réponse et pardon tu as raison ça fonctionne #{ globals.valeurPas } est bien un raccourci pour JS {{ return globals.valeurPas }} .

bon par contre pas saisi comment avoir le widget avec la valeur qui s'actualise.

L’idée était plutôt de calculer la valeur de ta variable dans le champ value directement, et de la récupérer ailleurs avec la syntaxe @{} qui elle permet la mise à jour automatiques des champs.

Je dois t’avouer que tout ça me semble quand même un peu abstrait, est-ce qu’on parle d’un cas d’usage réel ?

le cas d’usage c’est de récupérer la valeur du pas pour l’utiliser dans le script_1 pour utiliser les touches a et q, ça cela fonctionne

console.log("script executé")
console.log("touche: " + key)

var currentValue = get("fader_1")
var increment = key == "a" ? globals.valeurPas : -globals.valeurPas

//console.log("valeur actuelle: " + currentValue)
//console.log("nouvelle valeur: " + (increment + currentValue))

set("fader_1", currentValue + increment)

Maintenant pourquoi cette même variable lorsqu’elle change et qu’elle est dans le champ value d’un input, l’affichage du input n’est pas mis à jour automatiquement, c’est déstabilisant non ?

Le cas d’usage c’est aussi pour essayer de comprendre comment partager des variables entre les widgets. Sinon as-tu envie de faire une française de la doc ? Ou non trop de boulot à maintenir ?

Maintenant pourquoi cette même variable lorsqu’elle change et qu’elle est dans le champ value d’un input, l’affichage du input n’est pas mis à jour automatiquement, c’est déstabilisant non ?

C'était précisé dans la doc mais la ligne a du sauter à un moment donné. Pour partager des variables qui mettent à jour les widgets automatiquement il faut utiliser ces syntaxes, les scripts c'est plus en mode manuel.

Sinon as-tu envie de faire une française de la doc ?

Non ce n'est pas prévu.

Je ferais au plus simple: refaire le calcul dans le script en récupérant les valeurs des propriétés du fader.

J’ai ajouté une fonction dans les scripts (pas dans les syntaxes #{}/JS{{}}) pour rendre les variables partagées un peu plus pratiques : updateProp(id, name) permettra de forcer un widget à mettre à jour une de ses propriétés.

1 Like