Keys dans o-s-c 0.43

Salut,

tu as un exemple pour le nouveau fonctionnement de keys parce que là je suis perdu…
je veux augmenter de 1 lorsque j’appuie sur le e et diminuer de 1 lorsque le d est appuyé.
image

Désolé mais pas trouvé.

Summary

This text will be hidden

Ton exemple est identique à celui de la session d’exemple keys.json, le fonctionnement n’a pas changé. Si tu veux que l’incrément soit de 1 au lieu de 0.1, remplace l’un par l’autre dans la propriété keydown.

ok bon je me suis emmêlé les pinceaux.

Quelle est la syntaxe récupérer l’état de la touche Shift via la console dans le panneau F12 ?

Il n’y a pas de syntaxe spécifique, il faut écrire une fonction, par exemple:

document.onkeydown=(e)=>{console.log(`Shift: ${e.shiftKey}`)}

Tu as aussi la variable shift disponible dans keydown et keyup (https://openstagecontrol.ammd.net/docs/widgets-reference/#keys).

ok et si je veux récupérer la valeur du fader_3

image

Ce n’est pas possible, les instances de widgets ne sont pas exposées dans ce contexte.

donc pas visible depuis la console ?

la variable Shift renvoie quelle valeur ? un booléen ?

Oui, tu peux par exemple rajouter ça avant @{fader_3} + x:

shift ? x = x*2 : "";

Afin de doubler l’incrément.

ok ça marche et du coup

maintenant peux-tu stp me rappeler la syntaxe avec steps que tu m’avais envoyée sur framateam avec le calcul avec les steps. J’ai viré le canal donc j’ai perdu l’info.

#{
val =(@(fader_3).range.max) / (@(fader_3).range.steps -1);
x = key == "e" ? val : -val;
shift ? x= x*2: x;
@{fader_3} + x
}

je galère un max avec la syntaxe…
Encore merci pour ta patience

val =(@{fader_3.range}.max - @{fader_3.range}.min) / (@{fader_3.steps} -1);

merci pour la syntaxe mais ça marche pas non plus avec cette syntaxe.
pas de réaction lorsque j’appuie sur les touches e ou d.

{
  "type": "root",
  "tabs": [
    {
      "type": "tab",
      "id": "Sonic Pi controller",
      "label": "auto",
      "color": "auto",
      "css": "",
      "value": "",
      "precision": 0,
      "address": "/tab_1",
      "preArgs": [],
      "target": [],
      "variables": "@{parent.variables}",
      "widgets": [
        {
          "type": "push",
          "top": 480,
          "left": 510,
          "id": "push_3",
          "linkId": "",
          "width": "auto",
          "height": "auto",
          "label": "drum_roll",
          "color": "auto",
          "css": "font-size: 1em;\n                           writing-mode:horizontal-rl;\n                           /* transform: rotate(180deg); */\n                           padding: 5px;background: green\n                             ",
          "on": 1,
          "off": 0,
          "norelease": false,
          "precision": 2,
          "address": "/1/push_3",
          "preArgs": [],
          "target": [],
          "bypass": false,
          "doubleTap": false,
          "value": ""
        },
        {
          "type": "fader",
          "top": 540,
          "left": 510,
          "id": "fader_3",
          "width": "auto",
          "height": "auto",
          "label": "auto",
          "color": "auto",
          "css": "",
          "linkId": "<< groupe_03",
          "default": "",
          "value": "",
          "precision": 2,
          "address": "/fader_3",
          "preArgs": [],
          "target": [],
          "bypass": false,
          "horizontal": false,
          "alignRight": false,
          "pips": true,
          "input": true,
          "meter": false,
          "compact": false,
          "dashed": false,
          "snap": false,
          "spring": false,
          "doubleTap": true,
          "range": {
            "min": 0,
            "max": 2
          },
          "logScale": false,
          "unit": "",
          "origin": "auto",
          "touchAddress": "",
          "meterAddress": "",
          "steps": 11
        },
        {
          "type": "keys",
          "top": 840,
          "left": 510,
          "id": "keys_3",
          "linkId": ">> groupe_03",
          "width": "auto",
          "height": "auto",
          "label": false,
          "color": "auto",
          "css": "",
          "default": "",
          "value": "",
          "precision": 2,
          "address": "/keys_3",
          "preArgs": "",
          "target": "",
          "bypass": false,
          "binding": [
            "e",
            "d"
          ],
          "keydown": "#{\nval =(@{fader_3.range}.max - @{fader_3.range}.min) / (@{fader_3.steps} -1);\nx = key == \"e\" ? val : -val;\n@{fader_3} + x;\n}",
          "repeat": true,
          "keyup": ""
        },
        {
          "type": "input",
          "top": 180,
          "left": 510.00001525878906,
          "id": "input_3",
          "linkId": "",
          "width": 100,
          "height": 300,
          "label": "track 3",
          "color": "auto",
          "css": "font-size: 1.5em;",
          "default": "",
          "value": "drum_roll",
          "precision": 2,
          "address": "/input_2",
          "preArgs": [],
          "target": [],
          "bypass": false,
          "vertical": true,
          "align": "",
          "unit": "",
          "editable": true
        }
      ],
      "tabs": [],
      "linkId": "",
      "default": "",
      "bypass": false,
      "scroll": true
    }
  ],
  "color": "auto",
  "css": "",
  "value": "",
  "precision": 0,
  "address": "/root",
  "preArgs": [],
  "target": [],
  "variables": {},
  "id": "root",
  "linkId": "",
  "default": "",
  "bypass": false,
  "traversing": false,
  "scroll": true,
  "label": false
}

Tu as un point-virgule en trop à la fin de @{fader_3} + x;

Yes le point virgule m’a été fatal et pour la seconde fois…
Merci.

bon sinon est-ce possible d’indiquer les vraies lettres “bindeés” au niveau du key. Elles apparaissent en Majuscules.

Si c’est juste un problème de cosmétique tu peux ajoute ça dans le css::

.keys {
  text-transform:none;
}

Comme le binding n’est pas sensible à la casse je ne pense pas que ce soit faux d’afficher ça en majuscule pour représenter la touche du clavier en question.