jean-emmanuel / open-stage-control

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

Les plots et le knob #263

Closed Adopo closed 6 years ago

Adopo commented 6 years ago

Hello. Je suis en train de faire un peu le tour de tout ce qui permet de visualiser des données dans open stage control. Si j’ai bien compris tout est réuni sous la catégorie plots. Je voulais savoir, dans lemur il y a moyen d’utiliser n’importe quel widget pour visualiser. Si on ne souhaite pas que ce widget soit manipulable il suffit de lui rajouter un canvas par dessus et le tour est joué. La catégories plots possède des caractéristiques bien fournis mais par exemple j’avais pris l’habitude d’avoir des visuel de rotation de controleur via des knob plutot que des fader. Il y a meter qui semble etre l’equivalent du fader mais il n’y a pas de visualiseur knob. Est ce possible en plus des visualiseurs que tu proposes de prendre un widget habituel et de faire en sorte qu’il recoive juste des données mais qu’on ne puisse plus le modifier au touché?

cyberic99 commented 6 years ago

Est ce possible en plus des visualiseurs que tu proposes de prendre un widget habituel et de faire en sorte qu’il recoive juste des données mais qu’on ne puisse plus le modifier au touché?

Oui regarde ici: http://osc.ammd.net/extras/css-tips/#layering-pointer-events

Sinon tu peux carrément faire du svg et changer les paramètres à la volée (genre une rotation)

Regarde mon exemple (inutile) ici: https://github.com/jean-emmanuel/open-stage-control/issues/152#issuecomment-366401553

jean-emmanuel commented 6 years ago

Merci @cyberic99 !

cyberic99 commented 6 years ago

de rien, si je peux aider au moins pour la doc, ca fait gagner du temps à tout le monde

Adopo commented 6 years ago

Parfait merci ! Le petit paramètre css est nickel ! Ton exemple est un peu plus complexe mais ca semble intéressant pour comprendre certaine chose. Je m’y pencherais dès que possible !

Encore merci

cyberic99 commented 6 years ago

le SVG te permet de donner la forme que tu veux à ton bouton, et tu peux agir en OSC sur tous les paramètres: couleur, rotation, etc. Mais c'est un peu plus compliqué. Tu peux créer le SVG avec un logiciel genre inkscape ou SVG-edit. ou vectoriser une image bitmap avec potrace par exemple.

Adopo commented 6 years ago

Ah ouai ! c'est puissant ! j'ai essayé svg-edit c'est chouette. Une mini question : est il possible de rendre les svg ainsi créées de taille proportionnelle a l'interface dans laquelle on travaille? genre des hauteurs et largeurs en pourcentage pour que ca s'adapte tout le temps?

jean-emmanuel commented 6 years ago

Les dimensions des formes en svg peuvent être exprimées en pourcentages, sauf pour les chemins (<path>), j'ai donc rajouté une unité spécialement pour ça (%y et %x pour la hauteur et la largeur). http://osc.ammd.net/widgets/plots/#svg

cyberic99 commented 6 years ago

Ah ouai ! c'est puissant !

Si tu fais des trucs cools en SVG, n'hésite pas à partager!

Adopo commented 6 years ago

cool pour la taille ajustable en pourcentage !

D'accord pas de soucis ! j'avoue que pour le moment j'ai fais des cubes en 3D des rond rouge et des carrées bleu et j'ai vu si ca s'intégrait dans open stage control. Pour l'instant je ne sais pas encore faire de svg qui s'animent en fonction d'une valeur comme dans ton exemple. Je penses que le chemin est long avant que je parviennes à en faire qui ont de la gueule. D'autant plus que pour le moment les knobs feront largement l'affaire pour mon cas de figure. Mais je garde ca dans le coin de ma tête. Il y a bien un moment ou a force d'ergonomie et de vouloir aller plus loin j'en aurai besoin !

cyberic99 commented 6 years ago

Pour l'instant je ne sais pas encore faire de svg qui s'animent en fonction d'une valeur comme dans ton exemple

je ne suis pas expert mais pour une rotation par exemple, il faut juste rajouter un transform rotate.

Après tu peux aussi surement ajuster des gauges etc, mais tout depend su SVG