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 ?
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_2link_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 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 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.