jean-emmanuel / open-stage-control

Libre and modular OSC / MIDI controller
https://openstagecontrol.ammd.net
GNU General Public License v3.0
719 stars 90 forks source link

question: knob avec valeurs fixes #412

Closed guitmart closed 6 years ago

guitmart commented 6 years ago

Est-il possible d'utiliser un knob qui retourne des valeurs fixes comme 0, 3, 6, 9, 11, 14, 18... Ma console tascam tm-d1000 fonctionne avec 100 steps de 0 à 127 et d'autres paramètres 25 steps de 0 à 127 etc. Je me disais si on pouvait utiliser le range pour cela ex: [ "min":{"step":0, "valeur":0}, "1":{"step":1, "valeur":3}, "2":{"step":2, "valeur":6}, ... "max":{"step":100, "valeur":127} ] et que le message midi envoyé ou osc soit /control 1 7 valeur ou /knob valeur on pourrait l'utiliser aussi avec des string [ "min":{"step":0, "valeur":"low"}, "1":{"step":1, "valeur":"mid"}, ... "max":{"step":100, "valeur":"high"} ] /knob mid ... On pourrait faire du mapping directement dans le widget au lieu de le faire dans un custom module. Toujours très apprécier ton logiciel. Merci martin.

jean-emmanuel commented 6 years ago

C'est déjà possible assez facilement en fait, essaye la session ci-jointe: knob_mappedscale.json.txt

il ne reste qu'à utiliser l'input au lieu du knob pour envoyer/recevoir les messages et le tour est joué.

jean-emmanuel commented 6 years ago

(exemple mis à jour)

guitmart commented 6 years ago

Je le savais pour un cas ou il y a une formule mathématique mais si on ne comprend pas la formule comme dans l'exemple concret de la tascam avec 10 steps [0, 14, 26, 39, 64, 76, 89, 102, 114, 127] J'essais de comprendre la suite logique mais heu!!!!! :)

cyberic99 commented 6 years ago

il y a aussi moyen d'utiliser [0, 14, 26, 39, 64, 76, 89, 102, 114, 127][round(@{knob_value})] (voir l'exemple)

On met les valeurs dans un tableau et on prend la valeur a l'index correspondant à la position du knob.

k.json.txt

Par contre je ne sais pas s'il y a moyen que le knob avance plus par accoups, pour avancer de 1 en 1.

on peut changer la précision mais le mouvement est toujours smooth

Sinon @jean-emmanuel j'ai essayé de mettre ca dans le range:

{
  "4": 4,
  "5": 5,
  "6": 6,
  "min": 0,
  "max": 9
}

Mais on ne peut mettre que des pourcentages, c'est ca?

guitmart commented 6 years ago

Le dernier exemple avec le tableau et mettre la precision à 0 pourrait faire l'affaire. Je vais tester plus demain et merci pour l'exemple et oui les slider fonctionnent avec des pourcentages.

jean-emmanuel commented 6 years ago

on peut changer la précision mais le mouvement est toujours smooth

Il y a peut être moyen de changer ça, à voir...

Mais on ne peut mettre que des pourcentages, c'est ca?

oui

jean-emmanuel commented 6 years ago

Aller, nouvelle option steps pour les faders/knob

Restricts the widget\'s value:

  • auto: use values defined in range
  • number: define a number of evenly spaced steps
  • array: use arbitrary values
jean-emmanuel commented 6 years ago

-> v0.39.4